From accfc6fe893abc875bc318300f6e99ddbb307cb7 Mon Sep 17 00:00:00 2001 From: ko1N Date: Mon, 19 Dec 2022 03:35:30 +0100 Subject: [PATCH] Added windows bindings --- README.md | 9 +- leechcore-sys/src/leechcore_windows.rs | 327652 +++++++++++++++++++++- leechcore-sys/src/lib.rs | 1 + 3 files changed, 326028 insertions(+), 1634 deletions(-) diff --git a/README.md b/README.md index 8c1c2c8..e2c8582 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,16 @@ git submodule update --init ``` Install the following build tools: -- gcc - clang (only required when selecting feature `bindgen`) +- gcc (only required on linux) - libusb-1.0 (only required on linux) -Make sure that libclang can be found by either adding it to your `PATH` or via the `LIBCLANG_PATH` environment variable. +If you want to use `bindgen` make sure that libclang can be found by either adding it to your `PATH` or via the `LIBCLANG_PATH` environment variable. + +The simplest way to install clang on Windows is by using choco: +``` +choco install llvm +``` On Windows you additionally need to supply the proprietary `FTD3XX.dll`. It can be downloaded from the [FTDI Website](https://www.ftdichip.com/Drivers/D3XX.htm) in the `Application Library (DLL)` column. diff --git a/leechcore-sys/src/leechcore_windows.rs b/leechcore-sys/src/leechcore_windows.rs index d87e84f..b843a30 100644 --- a/leechcore-sys/src/leechcore_windows.rs +++ b/leechcore-sys/src/leechcore_windows.rs @@ -1,5 +1,85 @@ /* automatically generated by rust-bindgen 0.63.0 */ +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { + storage: Storage, +} +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage } + } +} +impl __BindgenBitfieldUnit +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[inline] + pub fn get_bit(&self, index: usize) -> bool { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = self.storage.as_ref()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + byte & mask == mask + } + #[inline] + pub fn set_bit(&mut self, index: usize, val: bool) { + debug_assert!(index / 8 < self.storage.as_ref().len()); + let byte_index = index / 8; + let byte = &mut self.storage.as_mut()[byte_index]; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; + let mask = 1 << bit_index; + if val { + *byte |= mask; + } else { + *byte &= !mask; + } + } + #[inline] + pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + let mut val = 0; + for i in 0..(bit_width as usize) { + if self.get_bit(i + bit_offset) { + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + val |= 1 << index; + } + } + val + } + #[inline] + pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { + debug_assert!(bit_width <= 64); + debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); + debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + for i in 0..(bit_width as usize) { + let mask = 1 << i; + let val_bit_is_set = val & mask == mask; + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; + self.set_bit(index + bit_offset, val_bit_is_set); + } + } +} #[repr(C)] #[derive(Default)] pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]); @@ -30,334 +110,20412 @@ impl ::std::fmt::Debug for __IncompleteArrayField { fmt.write_str("__IncompleteArrayField") } } -pub const _INTTYPES_H: u32 = 1; -pub const _FEATURES_H: u32 = 1; -pub const _DEFAULT_SOURCE: u32 = 1; -pub const __GLIBC_USE_ISOC2X: u32 = 0; -pub const __USE_ISOC11: u32 = 1; -pub const __USE_ISOC99: u32 = 1; -pub const __USE_ISOC95: u32 = 1; -pub const __USE_POSIX_IMPLICITLY: u32 = 1; -pub const _POSIX_SOURCE: u32 = 1; -pub const _POSIX_C_SOURCE: u32 = 200809; -pub const __USE_POSIX: u32 = 1; -pub const __USE_POSIX2: u32 = 1; -pub const __USE_POSIX199309: u32 = 1; -pub const __USE_POSIX199506: u32 = 1; -pub const __USE_XOPEN2K: u32 = 1; -pub const __USE_XOPEN2K8: u32 = 1; -pub const _ATFILE_SOURCE: u32 = 1; -pub const __WORDSIZE: u32 = 64; -pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; -pub const __SYSCALL_WORDSIZE: u32 = 64; -pub const __TIMESIZE: u32 = 64; -pub const __USE_MISC: u32 = 1; -pub const __USE_ATFILE: u32 = 1; -pub const __USE_FORTIFY_LEVEL: u32 = 0; -pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; -pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; -pub const _STDC_PREDEF_H: u32 = 1; -pub const __STDC_IEC_559__: u32 = 1; -pub const __STDC_IEC_60559_BFP__: u32 = 201404; -pub const __STDC_IEC_559_COMPLEX__: u32 = 1; -pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404; -pub const __STDC_ISO_10646__: u32 = 201706; -pub const __GNU_LIBRARY__: u32 = 6; -pub const __GLIBC__: u32 = 2; -pub const __GLIBC_MINOR__: u32 = 36; -pub const _SYS_CDEFS_H: u32 = 1; -pub const __glibc_c99_flexarr_available: u32 = 1; -pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; -pub const __HAVE_GENERIC_SELECTION: u32 = 1; -pub const _STDINT_H: u32 = 1; -pub const __GLIBC_USE_LIB_EXT2: u32 = 0; -pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0; -pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0; -pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0; -pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0; -pub const _BITS_TYPES_H: u32 = 1; -pub const _BITS_TYPESIZES_H: u32 = 1; -pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; -pub const __INO_T_MATCHES_INO64_T: u32 = 1; -pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; -pub const __STATFS_MATCHES_STATFS64: u32 = 1; -pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; -pub const __FD_SETSIZE: u32 = 1024; -pub const _BITS_TIME64_H: u32 = 1; -pub const _BITS_WCHAR_H: u32 = 1; -pub const _BITS_STDINT_INTN_H: u32 = 1; -pub const _BITS_STDINT_UINTN_H: u32 = 1; -pub const INT8_MIN: i32 = -128; -pub const INT16_MIN: i32 = -32768; -pub const INT32_MIN: i32 = -2147483648; -pub const INT8_MAX: u32 = 127; -pub const INT16_MAX: u32 = 32767; -pub const INT32_MAX: u32 = 2147483647; -pub const UINT8_MAX: u32 = 255; -pub const UINT16_MAX: u32 = 65535; -pub const UINT32_MAX: u32 = 4294967295; -pub const INT_LEAST8_MIN: i32 = -128; -pub const INT_LEAST16_MIN: i32 = -32768; -pub const INT_LEAST32_MIN: i32 = -2147483648; -pub const INT_LEAST8_MAX: u32 = 127; -pub const INT_LEAST16_MAX: u32 = 32767; -pub const INT_LEAST32_MAX: u32 = 2147483647; -pub const UINT_LEAST8_MAX: u32 = 255; -pub const UINT_LEAST16_MAX: u32 = 65535; -pub const UINT_LEAST32_MAX: u32 = 4294967295; -pub const INT_FAST8_MIN: i32 = -128; -pub const INT_FAST16_MIN: i64 = -9223372036854775808; -pub const INT_FAST32_MIN: i64 = -9223372036854775808; -pub const INT_FAST8_MAX: u32 = 127; -pub const INT_FAST16_MAX: u64 = 9223372036854775807; -pub const INT_FAST32_MAX: u64 = 9223372036854775807; -pub const UINT_FAST8_MAX: u32 = 255; -pub const UINT_FAST16_MAX: i32 = -1; -pub const UINT_FAST32_MAX: i32 = -1; -pub const INTPTR_MIN: i64 = -9223372036854775808; -pub const INTPTR_MAX: u64 = 9223372036854775807; -pub const UINTPTR_MAX: i32 = -1; -pub const PTRDIFF_MIN: i64 = -9223372036854775808; -pub const PTRDIFF_MAX: u64 = 9223372036854775807; -pub const SIG_ATOMIC_MIN: i32 = -2147483648; -pub const SIG_ATOMIC_MAX: u32 = 2147483647; -pub const SIZE_MAX: i32 = -1; -pub const WINT_MIN: u32 = 0; -pub const WINT_MAX: u32 = 4294967295; -pub const ____gwchar_t_defined: u32 = 1; -pub const __PRI64_PREFIX: &[u8; 2usize] = b"l\0"; -pub const __PRIPTR_PREFIX: &[u8; 2usize] = b"l\0"; -pub const PRId8: &[u8; 2usize] = b"d\0"; -pub const PRId16: &[u8; 2usize] = b"d\0"; -pub const PRId32: &[u8; 2usize] = b"d\0"; -pub const PRId64: &[u8; 3usize] = b"ld\0"; -pub const PRIdLEAST8: &[u8; 2usize] = b"d\0"; -pub const PRIdLEAST16: &[u8; 2usize] = b"d\0"; -pub const PRIdLEAST32: &[u8; 2usize] = b"d\0"; -pub const PRIdLEAST64: &[u8; 3usize] = b"ld\0"; -pub const PRIdFAST8: &[u8; 2usize] = b"d\0"; -pub const PRIdFAST16: &[u8; 3usize] = b"ld\0"; -pub const PRIdFAST32: &[u8; 3usize] = b"ld\0"; -pub const PRIdFAST64: &[u8; 3usize] = b"ld\0"; -pub const PRIi8: &[u8; 2usize] = b"i\0"; -pub const PRIi16: &[u8; 2usize] = b"i\0"; -pub const PRIi32: &[u8; 2usize] = b"i\0"; -pub const PRIi64: &[u8; 3usize] = b"li\0"; -pub const PRIiLEAST8: &[u8; 2usize] = b"i\0"; -pub const PRIiLEAST16: &[u8; 2usize] = b"i\0"; -pub const PRIiLEAST32: &[u8; 2usize] = b"i\0"; -pub const PRIiLEAST64: &[u8; 3usize] = b"li\0"; -pub const PRIiFAST8: &[u8; 2usize] = b"i\0"; -pub const PRIiFAST16: &[u8; 3usize] = b"li\0"; -pub const PRIiFAST32: &[u8; 3usize] = b"li\0"; -pub const PRIiFAST64: &[u8; 3usize] = b"li\0"; -pub const PRIo8: &[u8; 2usize] = b"o\0"; -pub const PRIo16: &[u8; 2usize] = b"o\0"; -pub const PRIo32: &[u8; 2usize] = b"o\0"; -pub const PRIo64: &[u8; 3usize] = b"lo\0"; -pub const PRIoLEAST8: &[u8; 2usize] = b"o\0"; -pub const PRIoLEAST16: &[u8; 2usize] = b"o\0"; -pub const PRIoLEAST32: &[u8; 2usize] = b"o\0"; -pub const PRIoLEAST64: &[u8; 3usize] = b"lo\0"; -pub const PRIoFAST8: &[u8; 2usize] = b"o\0"; -pub const PRIoFAST16: &[u8; 3usize] = b"lo\0"; -pub const PRIoFAST32: &[u8; 3usize] = b"lo\0"; -pub const PRIoFAST64: &[u8; 3usize] = b"lo\0"; -pub const PRIu8: &[u8; 2usize] = b"u\0"; -pub const PRIu16: &[u8; 2usize] = b"u\0"; -pub const PRIu32: &[u8; 2usize] = b"u\0"; -pub const PRIu64: &[u8; 3usize] = b"lu\0"; -pub const PRIuLEAST8: &[u8; 2usize] = b"u\0"; -pub const PRIuLEAST16: &[u8; 2usize] = b"u\0"; -pub const PRIuLEAST32: &[u8; 2usize] = b"u\0"; -pub const PRIuLEAST64: &[u8; 3usize] = b"lu\0"; -pub const PRIuFAST8: &[u8; 2usize] = b"u\0"; -pub const PRIuFAST16: &[u8; 3usize] = b"lu\0"; -pub const PRIuFAST32: &[u8; 3usize] = b"lu\0"; -pub const PRIuFAST64: &[u8; 3usize] = b"lu\0"; -pub const PRIx8: &[u8; 2usize] = b"x\0"; -pub const PRIx16: &[u8; 2usize] = b"x\0"; -pub const PRIx32: &[u8; 2usize] = b"x\0"; -pub const PRIx64: &[u8; 3usize] = b"lx\0"; -pub const PRIxLEAST8: &[u8; 2usize] = b"x\0"; -pub const PRIxLEAST16: &[u8; 2usize] = b"x\0"; -pub const PRIxLEAST32: &[u8; 2usize] = b"x\0"; -pub const PRIxLEAST64: &[u8; 3usize] = b"lx\0"; -pub const PRIxFAST8: &[u8; 2usize] = b"x\0"; -pub const PRIxFAST16: &[u8; 3usize] = b"lx\0"; -pub const PRIxFAST32: &[u8; 3usize] = b"lx\0"; -pub const PRIxFAST64: &[u8; 3usize] = b"lx\0"; -pub const PRIX8: &[u8; 2usize] = b"X\0"; -pub const PRIX16: &[u8; 2usize] = b"X\0"; -pub const PRIX32: &[u8; 2usize] = b"X\0"; -pub const PRIX64: &[u8; 3usize] = b"lX\0"; -pub const PRIXLEAST8: &[u8; 2usize] = b"X\0"; -pub const PRIXLEAST16: &[u8; 2usize] = b"X\0"; -pub const PRIXLEAST32: &[u8; 2usize] = b"X\0"; -pub const PRIXLEAST64: &[u8; 3usize] = b"lX\0"; -pub const PRIXFAST8: &[u8; 2usize] = b"X\0"; -pub const PRIXFAST16: &[u8; 3usize] = b"lX\0"; -pub const PRIXFAST32: &[u8; 3usize] = b"lX\0"; -pub const PRIXFAST64: &[u8; 3usize] = b"lX\0"; -pub const PRIdMAX: &[u8; 3usize] = b"ld\0"; -pub const PRIiMAX: &[u8; 3usize] = b"li\0"; -pub const PRIoMAX: &[u8; 3usize] = b"lo\0"; -pub const PRIuMAX: &[u8; 3usize] = b"lu\0"; -pub const PRIxMAX: &[u8; 3usize] = b"lx\0"; -pub const PRIXMAX: &[u8; 3usize] = b"lX\0"; -pub const PRIdPTR: &[u8; 3usize] = b"ld\0"; -pub const PRIiPTR: &[u8; 3usize] = b"li\0"; -pub const PRIoPTR: &[u8; 3usize] = b"lo\0"; -pub const PRIuPTR: &[u8; 3usize] = b"lu\0"; -pub const PRIxPTR: &[u8; 3usize] = b"lx\0"; -pub const PRIXPTR: &[u8; 3usize] = b"lX\0"; -pub const SCNd8: &[u8; 4usize] = b"hhd\0"; -pub const SCNd16: &[u8; 3usize] = b"hd\0"; -pub const SCNd32: &[u8; 2usize] = b"d\0"; -pub const SCNd64: &[u8; 3usize] = b"ld\0"; -pub const SCNdLEAST8: &[u8; 4usize] = b"hhd\0"; -pub const SCNdLEAST16: &[u8; 3usize] = b"hd\0"; -pub const SCNdLEAST32: &[u8; 2usize] = b"d\0"; -pub const SCNdLEAST64: &[u8; 3usize] = b"ld\0"; -pub const SCNdFAST8: &[u8; 4usize] = b"hhd\0"; -pub const SCNdFAST16: &[u8; 3usize] = b"ld\0"; -pub const SCNdFAST32: &[u8; 3usize] = b"ld\0"; -pub const SCNdFAST64: &[u8; 3usize] = b"ld\0"; -pub const SCNi8: &[u8; 4usize] = b"hhi\0"; -pub const SCNi16: &[u8; 3usize] = b"hi\0"; -pub const SCNi32: &[u8; 2usize] = b"i\0"; -pub const SCNi64: &[u8; 3usize] = b"li\0"; -pub const SCNiLEAST8: &[u8; 4usize] = b"hhi\0"; -pub const SCNiLEAST16: &[u8; 3usize] = b"hi\0"; -pub const SCNiLEAST32: &[u8; 2usize] = b"i\0"; -pub const SCNiLEAST64: &[u8; 3usize] = b"li\0"; -pub const SCNiFAST8: &[u8; 4usize] = b"hhi\0"; -pub const SCNiFAST16: &[u8; 3usize] = b"li\0"; -pub const SCNiFAST32: &[u8; 3usize] = b"li\0"; -pub const SCNiFAST64: &[u8; 3usize] = b"li\0"; -pub const SCNu8: &[u8; 4usize] = b"hhu\0"; -pub const SCNu16: &[u8; 3usize] = b"hu\0"; -pub const SCNu32: &[u8; 2usize] = b"u\0"; -pub const SCNu64: &[u8; 3usize] = b"lu\0"; -pub const SCNuLEAST8: &[u8; 4usize] = b"hhu\0"; -pub const SCNuLEAST16: &[u8; 3usize] = b"hu\0"; -pub const SCNuLEAST32: &[u8; 2usize] = b"u\0"; -pub const SCNuLEAST64: &[u8; 3usize] = b"lu\0"; -pub const SCNuFAST8: &[u8; 4usize] = b"hhu\0"; -pub const SCNuFAST16: &[u8; 3usize] = b"lu\0"; -pub const SCNuFAST32: &[u8; 3usize] = b"lu\0"; -pub const SCNuFAST64: &[u8; 3usize] = b"lu\0"; -pub const SCNo8: &[u8; 4usize] = b"hho\0"; -pub const SCNo16: &[u8; 3usize] = b"ho\0"; -pub const SCNo32: &[u8; 2usize] = b"o\0"; -pub const SCNo64: &[u8; 3usize] = b"lo\0"; -pub const SCNoLEAST8: &[u8; 4usize] = b"hho\0"; -pub const SCNoLEAST16: &[u8; 3usize] = b"ho\0"; -pub const SCNoLEAST32: &[u8; 2usize] = b"o\0"; -pub const SCNoLEAST64: &[u8; 3usize] = b"lo\0"; -pub const SCNoFAST8: &[u8; 4usize] = b"hho\0"; -pub const SCNoFAST16: &[u8; 3usize] = b"lo\0"; -pub const SCNoFAST32: &[u8; 3usize] = b"lo\0"; -pub const SCNoFAST64: &[u8; 3usize] = b"lo\0"; -pub const SCNx8: &[u8; 4usize] = b"hhx\0"; -pub const SCNx16: &[u8; 3usize] = b"hx\0"; -pub const SCNx32: &[u8; 2usize] = b"x\0"; -pub const SCNx64: &[u8; 3usize] = b"lx\0"; -pub const SCNxLEAST8: &[u8; 4usize] = b"hhx\0"; -pub const SCNxLEAST16: &[u8; 3usize] = b"hx\0"; -pub const SCNxLEAST32: &[u8; 2usize] = b"x\0"; -pub const SCNxLEAST64: &[u8; 3usize] = b"lx\0"; -pub const SCNxFAST8: &[u8; 4usize] = b"hhx\0"; -pub const SCNxFAST16: &[u8; 3usize] = b"lx\0"; -pub const SCNxFAST32: &[u8; 3usize] = b"lx\0"; -pub const SCNxFAST64: &[u8; 3usize] = b"lx\0"; -pub const SCNdMAX: &[u8; 3usize] = b"ld\0"; -pub const SCNiMAX: &[u8; 3usize] = b"li\0"; -pub const SCNoMAX: &[u8; 3usize] = b"lo\0"; -pub const SCNuMAX: &[u8; 3usize] = b"lu\0"; -pub const SCNxMAX: &[u8; 3usize] = b"lx\0"; -pub const SCNdPTR: &[u8; 3usize] = b"ld\0"; -pub const SCNiPTR: &[u8; 3usize] = b"li\0"; -pub const SCNoPTR: &[u8; 3usize] = b"lo\0"; -pub const SCNuPTR: &[u8; 3usize] = b"lu\0"; -pub const SCNxPTR: &[u8; 3usize] = b"lx\0"; -pub const _STDLIB_H: u32 = 1; -pub const WNOHANG: u32 = 1; -pub const WUNTRACED: u32 = 2; -pub const WSTOPPED: u32 = 2; -pub const WEXITED: u32 = 4; -pub const WCONTINUED: u32 = 8; -pub const WNOWAIT: u32 = 16777216; -pub const __WNOTHREAD: u32 = 536870912; -pub const __WALL: u32 = 1073741824; -pub const __WCLONE: u32 = 2147483648; -pub const __W_CONTINUED: u32 = 65535; -pub const __WCOREFLAG: u32 = 128; -pub const __HAVE_FLOAT128: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT128: u32 = 0; -pub const __HAVE_FLOAT64X: u32 = 1; -pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1; -pub const __HAVE_FLOAT16: u32 = 0; -pub const __HAVE_FLOAT32: u32 = 1; -pub const __HAVE_FLOAT64: u32 = 1; -pub const __HAVE_FLOAT32X: u32 = 1; -pub const __HAVE_FLOAT128X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT16: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT32: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT64: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0; -pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0; -pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0; -pub const __ldiv_t_defined: u32 = 1; -pub const __lldiv_t_defined: u32 = 1; -pub const RAND_MAX: u32 = 2147483647; -pub const EXIT_FAILURE: u32 = 1; -pub const EXIT_SUCCESS: u32 = 0; -pub const _SYS_TYPES_H: u32 = 1; -pub const __clock_t_defined: u32 = 1; -pub const __clockid_t_defined: u32 = 1; -pub const __time_t_defined: u32 = 1; -pub const __timer_t_defined: u32 = 1; -pub const __BIT_TYPES_DEFINED__: u32 = 1; -pub const _ENDIAN_H: u32 = 1; -pub const _BITS_ENDIAN_H: u32 = 1; -pub const __LITTLE_ENDIAN: u32 = 1234; -pub const __BIG_ENDIAN: u32 = 4321; -pub const __PDP_ENDIAN: u32 = 3412; -pub const _BITS_ENDIANNESS_H: u32 = 1; -pub const __BYTE_ORDER: u32 = 1234; -pub const __FLOAT_WORD_ORDER: u32 = 1234; -pub const LITTLE_ENDIAN: u32 = 1234; -pub const BIG_ENDIAN: u32 = 4321; -pub const PDP_ENDIAN: u32 = 3412; -pub const BYTE_ORDER: u32 = 1234; -pub const _BITS_BYTESWAP_H: u32 = 1; -pub const _BITS_UINTN_IDENTITY_H: u32 = 1; -pub const _SYS_SELECT_H: u32 = 1; -pub const __sigset_t_defined: u32 = 1; -pub const __timeval_defined: u32 = 1; -pub const _STRUCT_TIMESPEC: u32 = 1; -pub const FD_SETSIZE: u32 = 1024; -pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; -pub const _THREAD_SHARED_TYPES_H: u32 = 1; -pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; -pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40; -pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56; -pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56; -pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32; -pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; -pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; -pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; -pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; -pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; -pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; -pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; -pub const __have_pthread_attr_t: u32 = 1; -pub const _ALLOCA_H: u32 = 1; +#[repr(C)] +pub struct __BindgenUnionField(::std::marker::PhantomData); +impl __BindgenUnionField { + #[inline] + pub const fn new() -> Self { + __BindgenUnionField(::std::marker::PhantomData) + } + #[inline] + pub unsafe fn as_ref(&self) -> &T { + ::std::mem::transmute(self) + } + #[inline] + pub unsafe fn as_mut(&mut self) -> &mut T { + ::std::mem::transmute(self) + } +} +impl ::std::default::Default for __BindgenUnionField { + #[inline] + fn default() -> Self { + Self::new() + } +} +impl ::std::clone::Clone for __BindgenUnionField { + #[inline] + fn clone(&self) -> Self { + Self::new() + } +} +impl ::std::marker::Copy for __BindgenUnionField {} +impl ::std::fmt::Debug for __BindgenUnionField { + fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + fmt.write_str("__BindgenUnionField") + } +} +impl ::std::hash::Hash for __BindgenUnionField { + fn hash(&self, _state: &mut H) {} +} +impl ::std::cmp::PartialEq for __BindgenUnionField { + fn eq(&self, _other: &__BindgenUnionField) -> bool { + true + } +} +impl ::std::cmp::Eq for __BindgenUnionField {} +pub const WINAPI_FAMILY_PC_APP: u32 = 2; +pub const WINAPI_FAMILY_PHONE_APP: u32 = 3; +pub const WINAPI_FAMILY_SYSTEM: u32 = 4; +pub const WINAPI_FAMILY_SERVER: u32 = 5; +pub const WINAPI_FAMILY_GAMES: u32 = 6; +pub const WINAPI_FAMILY_DESKTOP_APP: u32 = 100; +pub const WINAPI_FAMILY_APP: u32 = 2; +pub const WINAPI_FAMILY: u32 = 100; +pub const _WIN32_WINNT_NT4: u32 = 1024; +pub const _WIN32_WINNT_WIN2K: u32 = 1280; +pub const _WIN32_WINNT_WINXP: u32 = 1281; +pub const _WIN32_WINNT_WS03: u32 = 1282; +pub const _WIN32_WINNT_WIN6: u32 = 1536; +pub const _WIN32_WINNT_VISTA: u32 = 1536; +pub const _WIN32_WINNT_WS08: u32 = 1536; +pub const _WIN32_WINNT_LONGHORN: u32 = 1536; +pub const _WIN32_WINNT_WIN7: u32 = 1537; +pub const _WIN32_WINNT_WIN8: u32 = 1538; +pub const _WIN32_WINNT_WINBLUE: u32 = 1539; +pub const _WIN32_WINNT_WINTHRESHOLD: u32 = 2560; +pub const _WIN32_WINNT_WIN10: u32 = 2560; +pub const _WIN32_IE_IE20: u32 = 512; +pub const _WIN32_IE_IE30: u32 = 768; +pub const _WIN32_IE_IE302: u32 = 770; +pub const _WIN32_IE_IE40: u32 = 1024; +pub const _WIN32_IE_IE401: u32 = 1025; +pub const _WIN32_IE_IE50: u32 = 1280; +pub const _WIN32_IE_IE501: u32 = 1281; +pub const _WIN32_IE_IE55: u32 = 1360; +pub const _WIN32_IE_IE60: u32 = 1536; +pub const _WIN32_IE_IE60SP1: u32 = 1537; +pub const _WIN32_IE_IE60SP2: u32 = 1539; +pub const _WIN32_IE_IE70: u32 = 1792; +pub const _WIN32_IE_IE80: u32 = 2048; +pub const _WIN32_IE_IE90: u32 = 2304; +pub const _WIN32_IE_IE100: u32 = 2560; +pub const _WIN32_IE_IE110: u32 = 2560; +pub const _WIN32_IE_NT4: u32 = 512; +pub const _WIN32_IE_NT4SP1: u32 = 512; +pub const _WIN32_IE_NT4SP2: u32 = 512; +pub const _WIN32_IE_NT4SP3: u32 = 770; +pub const _WIN32_IE_NT4SP4: u32 = 1025; +pub const _WIN32_IE_NT4SP5: u32 = 1025; +pub const _WIN32_IE_NT4SP6: u32 = 1280; +pub const _WIN32_IE_WIN98: u32 = 1025; +pub const _WIN32_IE_WIN98SE: u32 = 1280; +pub const _WIN32_IE_WINME: u32 = 1360; +pub const _WIN32_IE_WIN2K: u32 = 1281; +pub const _WIN32_IE_WIN2KSP1: u32 = 1281; +pub const _WIN32_IE_WIN2KSP2: u32 = 1281; +pub const _WIN32_IE_WIN2KSP3: u32 = 1281; +pub const _WIN32_IE_WIN2KSP4: u32 = 1281; +pub const _WIN32_IE_XP: u32 = 1536; +pub const _WIN32_IE_XPSP1: u32 = 1537; +pub const _WIN32_IE_XPSP2: u32 = 1539; +pub const _WIN32_IE_WS03: u32 = 1538; +pub const _WIN32_IE_WS03SP1: u32 = 1539; +pub const _WIN32_IE_WIN6: u32 = 1792; +pub const _WIN32_IE_LONGHORN: u32 = 1792; +pub const _WIN32_IE_WIN7: u32 = 2048; +pub const _WIN32_IE_WIN8: u32 = 2560; +pub const _WIN32_IE_WINBLUE: u32 = 2560; +pub const _WIN32_IE_WINTHRESHOLD: u32 = 2560; +pub const _WIN32_IE_WIN10: u32 = 2560; +pub const NTDDI_WIN4: u32 = 67108864; +pub const NTDDI_WIN2K: u32 = 83886080; +pub const NTDDI_WIN2KSP1: u32 = 83886336; +pub const NTDDI_WIN2KSP2: u32 = 83886592; +pub const NTDDI_WIN2KSP3: u32 = 83886848; +pub const NTDDI_WIN2KSP4: u32 = 83887104; +pub const NTDDI_WINXP: u32 = 83951616; +pub const NTDDI_WINXPSP1: u32 = 83951872; +pub const NTDDI_WINXPSP2: u32 = 83952128; +pub const NTDDI_WINXPSP3: u32 = 83952384; +pub const NTDDI_WINXPSP4: u32 = 83952640; +pub const NTDDI_WS03: u32 = 84017152; +pub const NTDDI_WS03SP1: u32 = 84017408; +pub const NTDDI_WS03SP2: u32 = 84017664; +pub const NTDDI_WS03SP3: u32 = 84017920; +pub const NTDDI_WS03SP4: u32 = 84018176; +pub const NTDDI_WIN6: u32 = 100663296; +pub const NTDDI_WIN6SP1: u32 = 100663552; +pub const NTDDI_WIN6SP2: u32 = 100663808; +pub const NTDDI_WIN6SP3: u32 = 100664064; +pub const NTDDI_WIN6SP4: u32 = 100664320; +pub const NTDDI_VISTA: u32 = 100663296; +pub const NTDDI_VISTASP1: u32 = 100663552; +pub const NTDDI_VISTASP2: u32 = 100663808; +pub const NTDDI_VISTASP3: u32 = 100664064; +pub const NTDDI_VISTASP4: u32 = 100664320; +pub const NTDDI_LONGHORN: u32 = 100663296; +pub const NTDDI_WS08: u32 = 100663552; +pub const NTDDI_WS08SP2: u32 = 100663808; +pub const NTDDI_WS08SP3: u32 = 100664064; +pub const NTDDI_WS08SP4: u32 = 100664320; +pub const NTDDI_WIN7: u32 = 100728832; +pub const NTDDI_WIN8: u32 = 100794368; +pub const NTDDI_WINBLUE: u32 = 100859904; +pub const NTDDI_WINTHRESHOLD: u32 = 167772160; +pub const NTDDI_WIN10: u32 = 167772160; +pub const NTDDI_WIN10_TH2: u32 = 167772161; +pub const NTDDI_WIN10_RS1: u32 = 167772162; +pub const NTDDI_WIN10_RS2: u32 = 167772163; +pub const NTDDI_WIN10_RS3: u32 = 167772164; +pub const NTDDI_WIN10_RS4: u32 = 167772165; +pub const NTDDI_WIN10_RS5: u32 = 167772166; +pub const NTDDI_WIN10_19H1: u32 = 167772167; +pub const NTDDI_WIN10_VB: u32 = 167772168; +pub const NTDDI_WIN10_MN: u32 = 167772169; +pub const NTDDI_WIN10_FE: u32 = 167772170; +pub const NTDDI_WIN10_CO: u32 = 167772171; +pub const WDK_NTDDI_VERSION: u32 = 167772171; +pub const OSVERSION_MASK: u32 = 4294901760; +pub const SPVERSION_MASK: u32 = 65280; +pub const SUBVERSION_MASK: u32 = 255; +pub const _WIN32_WINNT: u32 = 2560; +pub const NTDDI_VERSION: u32 = 167772171; +pub const WINVER: u32 = 2560; +pub const _WIN32_IE: u32 = 2560; +pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1; +pub const _SAL_VERSION: u32 = 20; +pub const __SAL_H_VERSION: u32 = 180000000; +pub const _USE_DECLSPECS_FOR_SAL: u32 = 0; +pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0; +pub const _CRT_PACKING: u32 = 8; +pub const _HAS_EXCEPTIONS: u32 = 1; +pub const _STL_LANG: u32 = 0; +pub const _HAS_CXX17: u32 = 0; +pub const _HAS_CXX20: u32 = 0; +pub const _HAS_CXX23: u32 = 0; +pub const _HAS_NODISCARD: u32 = 0; +pub const EXCEPTION_EXECUTE_HANDLER: u32 = 1; +pub const EXCEPTION_CONTINUE_SEARCH: u32 = 0; +pub const EXCEPTION_CONTINUE_EXECUTION: i32 = -1; +pub const __SAL_H_FULL_VER: u32 = 140050727; +pub const __SPECSTRINGS_STRICT_LEVEL: u32 = 1; +pub const __drv_typeConst: u32 = 0; +pub const __drv_typeCond: u32 = 1; +pub const __drv_typeBitset: u32 = 2; +pub const __drv_typeExpr: u32 = 3; +pub const STRICT: u32 = 1; pub const MAX_PATH: u32 = 260; +pub const FALSE: u32 = 0; +pub const TRUE: u32 = 1; +pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1; +pub const _CRT_BUILD_DESKTOP_APP: u32 = 1; +pub const _ARGMAX: u32 = 100; +pub const _CRT_INT_MAX: u32 = 2147483647; +pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1; +pub const _CRT_HAS_CXX17: u32 = 0; +pub const _CRT_HAS_C11: u32 = 1; +pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1; +pub const __STDC_SECURE_LIB__: u32 = 200411; +pub const __GOT_SECURE_LIB__: u32 = 200411; +pub const __STDC_WANT_SECURE_LIB__: u32 = 1; +pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0; +pub const _UPPER: u32 = 1; +pub const _LOWER: u32 = 2; +pub const _DIGIT: u32 = 4; +pub const _SPACE: u32 = 8; +pub const _PUNCT: u32 = 16; +pub const _CONTROL: u32 = 32; +pub const _BLANK: u32 = 64; +pub const _HEX: u32 = 128; +pub const _LEADBYTE: u32 = 32768; +pub const _ALPHA: u32 = 259; +pub const ANYSIZE_ARRAY: u32 = 1; +pub const DISPATCH_LEVEL: u32 = 2; +pub const APC_LEVEL: u32 = 1; +pub const PASSIVE_LEVEL: u32 = 0; +pub const HIGH_LEVEL: u32 = 15; +pub const MEMORY_ALLOCATION_ALIGNMENT: u32 = 16; +pub const X86_CACHE_ALIGNMENT_SIZE: u32 = 64; +pub const ARM_CACHE_ALIGNMENT_SIZE: u32 = 128; +pub const SYSTEM_CACHE_ALIGNMENT_SIZE: u32 = 64; +pub const PRAGMA_DEPRECATED_DDK: u32 = 0; +pub const UCSCHAR_INVALID_CHARACTER: u32 = 4294967295; +pub const MIN_UCSCHAR: u32 = 0; +pub const MAX_UCSCHAR: u32 = 1114111; +pub const ALL_PROCESSOR_GROUPS: u32 = 65535; +pub const MAXIMUM_PROC_PER_GROUP: u32 = 64; +pub const MAXIMUM_PROCESSORS: u32 = 64; +pub const APPLICATION_ERROR_MASK: u32 = 536870912; +pub const ERROR_SEVERITY_SUCCESS: u32 = 0; +pub const ERROR_SEVERITY_INFORMATIONAL: u32 = 1073741824; +pub const ERROR_SEVERITY_WARNING: u32 = 2147483648; +pub const ERROR_SEVERITY_ERROR: u32 = 3221225472; +pub const MAXLONGLONG: u64 = 9223372036854775807; +pub const UNICODE_STRING_MAX_CHARS: u32 = 32767; +pub const EPERM: u32 = 1; +pub const ENOENT: u32 = 2; +pub const ESRCH: u32 = 3; +pub const EINTR: u32 = 4; +pub const EIO: u32 = 5; +pub const ENXIO: u32 = 6; +pub const E2BIG: u32 = 7; +pub const ENOEXEC: u32 = 8; +pub const EBADF: u32 = 9; +pub const ECHILD: u32 = 10; +pub const EAGAIN: u32 = 11; +pub const ENOMEM: u32 = 12; +pub const EACCES: u32 = 13; +pub const EFAULT: u32 = 14; +pub const EBUSY: u32 = 16; +pub const EEXIST: u32 = 17; +pub const EXDEV: u32 = 18; +pub const ENODEV: u32 = 19; +pub const ENOTDIR: u32 = 20; +pub const EISDIR: u32 = 21; +pub const ENFILE: u32 = 23; +pub const EMFILE: u32 = 24; +pub const ENOTTY: u32 = 25; +pub const EFBIG: u32 = 27; +pub const ENOSPC: u32 = 28; +pub const ESPIPE: u32 = 29; +pub const EROFS: u32 = 30; +pub const EMLINK: u32 = 31; +pub const EPIPE: u32 = 32; +pub const EDOM: u32 = 33; +pub const EDEADLK: u32 = 36; +pub const ENAMETOOLONG: u32 = 38; +pub const ENOLCK: u32 = 39; +pub const ENOSYS: u32 = 40; +pub const ENOTEMPTY: u32 = 41; +pub const EINVAL: u32 = 22; +pub const ERANGE: u32 = 34; +pub const EILSEQ: u32 = 42; +pub const STRUNCATE: u32 = 80; +pub const EDEADLOCK: u32 = 36; +pub const EADDRINUSE: u32 = 100; +pub const EADDRNOTAVAIL: u32 = 101; +pub const EAFNOSUPPORT: u32 = 102; +pub const EALREADY: u32 = 103; +pub const EBADMSG: u32 = 104; +pub const ECANCELED: u32 = 105; +pub const ECONNABORTED: u32 = 106; +pub const ECONNREFUSED: u32 = 107; +pub const ECONNRESET: u32 = 108; +pub const EDESTADDRREQ: u32 = 109; +pub const EHOSTUNREACH: u32 = 110; +pub const EIDRM: u32 = 111; +pub const EINPROGRESS: u32 = 112; +pub const EISCONN: u32 = 113; +pub const ELOOP: u32 = 114; +pub const EMSGSIZE: u32 = 115; +pub const ENETDOWN: u32 = 116; +pub const ENETRESET: u32 = 117; +pub const ENETUNREACH: u32 = 118; +pub const ENOBUFS: u32 = 119; +pub const ENODATA: u32 = 120; +pub const ENOLINK: u32 = 121; +pub const ENOMSG: u32 = 122; +pub const ENOPROTOOPT: u32 = 123; +pub const ENOSR: u32 = 124; +pub const ENOSTR: u32 = 125; +pub const ENOTCONN: u32 = 126; +pub const ENOTRECOVERABLE: u32 = 127; +pub const ENOTSOCK: u32 = 128; +pub const ENOTSUP: u32 = 129; +pub const EOPNOTSUPP: u32 = 130; +pub const EOTHER: u32 = 131; +pub const EOVERFLOW: u32 = 132; +pub const EOWNERDEAD: u32 = 133; +pub const EPROTO: u32 = 134; +pub const EPROTONOSUPPORT: u32 = 135; +pub const EPROTOTYPE: u32 = 136; +pub const ETIME: u32 = 137; +pub const ETIMEDOUT: u32 = 138; +pub const ETXTBSY: u32 = 139; +pub const EWOULDBLOCK: u32 = 140; +pub const _NLSCMPERROR: u32 = 2147483647; +pub const MINCHAR: u32 = 128; +pub const MAXCHAR: u32 = 127; +pub const MINSHORT: u32 = 32768; +pub const MAXSHORT: u32 = 32767; +pub const MINLONG: u32 = 2147483648; +pub const MAXLONG: u32 = 2147483647; +pub const MAXBYTE: u32 = 255; +pub const MAXWORD: u32 = 65535; +pub const MAXDWORD: u32 = 4294967295; +pub const ENCLAVE_SHORT_ID_LENGTH: u32 = 16; +pub const ENCLAVE_LONG_ID_LENGTH: u32 = 32; +pub const VER_SERVER_NT: u32 = 2147483648; +pub const VER_WORKSTATION_NT: u32 = 1073741824; +pub const VER_SUITE_SMALLBUSINESS: u32 = 1; +pub const VER_SUITE_ENTERPRISE: u32 = 2; +pub const VER_SUITE_BACKOFFICE: u32 = 4; +pub const VER_SUITE_COMMUNICATIONS: u32 = 8; +pub const VER_SUITE_TERMINAL: u32 = 16; +pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: u32 = 32; +pub const VER_SUITE_EMBEDDEDNT: u32 = 64; +pub const VER_SUITE_DATACENTER: u32 = 128; +pub const VER_SUITE_SINGLEUSERTS: u32 = 256; +pub const VER_SUITE_PERSONAL: u32 = 512; +pub const VER_SUITE_BLADE: u32 = 1024; +pub const VER_SUITE_EMBEDDED_RESTRICTED: u32 = 2048; +pub const VER_SUITE_SECURITY_APPLIANCE: u32 = 4096; +pub const VER_SUITE_STORAGE_SERVER: u32 = 8192; +pub const VER_SUITE_COMPUTE_SERVER: u32 = 16384; +pub const VER_SUITE_WH_SERVER: u32 = 32768; +pub const VER_SUITE_MULTIUSERTS: u32 = 131072; +pub const PRODUCT_UNDEFINED: u32 = 0; +pub const PRODUCT_ULTIMATE: u32 = 1; +pub const PRODUCT_HOME_BASIC: u32 = 2; +pub const PRODUCT_HOME_PREMIUM: u32 = 3; +pub const PRODUCT_ENTERPRISE: u32 = 4; +pub const PRODUCT_HOME_BASIC_N: u32 = 5; +pub const PRODUCT_BUSINESS: u32 = 6; +pub const PRODUCT_STANDARD_SERVER: u32 = 7; +pub const PRODUCT_DATACENTER_SERVER: u32 = 8; +pub const PRODUCT_SMALLBUSINESS_SERVER: u32 = 9; +pub const PRODUCT_ENTERPRISE_SERVER: u32 = 10; +pub const PRODUCT_STARTER: u32 = 11; +pub const PRODUCT_DATACENTER_SERVER_CORE: u32 = 12; +pub const PRODUCT_STANDARD_SERVER_CORE: u32 = 13; +pub const PRODUCT_ENTERPRISE_SERVER_CORE: u32 = 14; +pub const PRODUCT_ENTERPRISE_SERVER_IA64: u32 = 15; +pub const PRODUCT_BUSINESS_N: u32 = 16; +pub const PRODUCT_WEB_SERVER: u32 = 17; +pub const PRODUCT_CLUSTER_SERVER: u32 = 18; +pub const PRODUCT_HOME_SERVER: u32 = 19; +pub const PRODUCT_STORAGE_EXPRESS_SERVER: u32 = 20; +pub const PRODUCT_STORAGE_STANDARD_SERVER: u32 = 21; +pub const PRODUCT_STORAGE_WORKGROUP_SERVER: u32 = 22; +pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: u32 = 23; +pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: u32 = 24; +pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: u32 = 25; +pub const PRODUCT_HOME_PREMIUM_N: u32 = 26; +pub const PRODUCT_ENTERPRISE_N: u32 = 27; +pub const PRODUCT_ULTIMATE_N: u32 = 28; +pub const PRODUCT_WEB_SERVER_CORE: u32 = 29; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: u32 = 30; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: u32 = 31; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: u32 = 32; +pub const PRODUCT_SERVER_FOUNDATION: u32 = 33; +pub const PRODUCT_HOME_PREMIUM_SERVER: u32 = 34; +pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: u32 = 35; +pub const PRODUCT_STANDARD_SERVER_V: u32 = 36; +pub const PRODUCT_DATACENTER_SERVER_V: u32 = 37; +pub const PRODUCT_ENTERPRISE_SERVER_V: u32 = 38; +pub const PRODUCT_DATACENTER_SERVER_CORE_V: u32 = 39; +pub const PRODUCT_STANDARD_SERVER_CORE_V: u32 = 40; +pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: u32 = 41; +pub const PRODUCT_HYPERV: u32 = 42; +pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: u32 = 43; +pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: u32 = 44; +pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: u32 = 45; +pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: u32 = 46; +pub const PRODUCT_STARTER_N: u32 = 47; +pub const PRODUCT_PROFESSIONAL: u32 = 48; +pub const PRODUCT_PROFESSIONAL_N: u32 = 49; +pub const PRODUCT_SB_SOLUTION_SERVER: u32 = 50; +pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: u32 = 51; +pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: u32 = 52; +pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: u32 = 53; +pub const PRODUCT_SB_SOLUTION_SERVER_EM: u32 = 54; +pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: u32 = 55; +pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: u32 = 56; +pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: u32 = 57; +pub const PRODUCT_PROFESSIONAL_EMBEDDED: u32 = 58; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: u32 = 59; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: u32 = 60; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: u32 = 61; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: u32 = 62; +pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: u32 = 63; +pub const PRODUCT_CLUSTER_SERVER_V: u32 = 64; +pub const PRODUCT_EMBEDDED: u32 = 65; +pub const PRODUCT_STARTER_E: u32 = 66; +pub const PRODUCT_HOME_BASIC_E: u32 = 67; +pub const PRODUCT_HOME_PREMIUM_E: u32 = 68; +pub const PRODUCT_PROFESSIONAL_E: u32 = 69; +pub const PRODUCT_ENTERPRISE_E: u32 = 70; +pub const PRODUCT_ULTIMATE_E: u32 = 71; +pub const PRODUCT_ENTERPRISE_EVALUATION: u32 = 72; +pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: u32 = 76; +pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: u32 = 77; +pub const PRODUCT_STANDARD_EVALUATION_SERVER: u32 = 79; +pub const PRODUCT_DATACENTER_EVALUATION_SERVER: u32 = 80; +pub const PRODUCT_ENTERPRISE_N_EVALUATION: u32 = 84; +pub const PRODUCT_EMBEDDED_AUTOMOTIVE: u32 = 85; +pub const PRODUCT_EMBEDDED_INDUSTRY_A: u32 = 86; +pub const PRODUCT_THINPC: u32 = 87; +pub const PRODUCT_EMBEDDED_A: u32 = 88; +pub const PRODUCT_EMBEDDED_INDUSTRY: u32 = 89; +pub const PRODUCT_EMBEDDED_E: u32 = 90; +pub const PRODUCT_EMBEDDED_INDUSTRY_E: u32 = 91; +pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: u32 = 92; +pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: u32 = 95; +pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: u32 = 96; +pub const PRODUCT_CORE_ARM: u32 = 97; +pub const PRODUCT_CORE_N: u32 = 98; +pub const PRODUCT_CORE_COUNTRYSPECIFIC: u32 = 99; +pub const PRODUCT_CORE_SINGLELANGUAGE: u32 = 100; +pub const PRODUCT_CORE: u32 = 101; +pub const PRODUCT_PROFESSIONAL_WMC: u32 = 103; +pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: u32 = 105; +pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: u32 = 106; +pub const PRODUCT_EMBEDDED_EVAL: u32 = 107; +pub const PRODUCT_EMBEDDED_E_EVAL: u32 = 108; +pub const PRODUCT_NANO_SERVER: u32 = 109; +pub const PRODUCT_CLOUD_STORAGE_SERVER: u32 = 110; +pub const PRODUCT_CORE_CONNECTED: u32 = 111; +pub const PRODUCT_PROFESSIONAL_STUDENT: u32 = 112; +pub const PRODUCT_CORE_CONNECTED_N: u32 = 113; +pub const PRODUCT_PROFESSIONAL_STUDENT_N: u32 = 114; +pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: u32 = 115; +pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: u32 = 116; +pub const PRODUCT_CONNECTED_CAR: u32 = 117; +pub const PRODUCT_INDUSTRY_HANDHELD: u32 = 118; +pub const PRODUCT_PPI_PRO: u32 = 119; +pub const PRODUCT_ARM64_SERVER: u32 = 120; +pub const PRODUCT_EDUCATION: u32 = 121; +pub const PRODUCT_EDUCATION_N: u32 = 122; +pub const PRODUCT_IOTUAP: u32 = 123; +pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: u32 = 124; +pub const PRODUCT_ENTERPRISE_S: u32 = 125; +pub const PRODUCT_ENTERPRISE_S_N: u32 = 126; +pub const PRODUCT_PROFESSIONAL_S: u32 = 127; +pub const PRODUCT_PROFESSIONAL_S_N: u32 = 128; +pub const PRODUCT_ENTERPRISE_S_EVALUATION: u32 = 129; +pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: u32 = 130; +pub const PRODUCT_HOLOGRAPHIC: u32 = 135; +pub const PRODUCT_HOLOGRAPHIC_BUSINESS: u32 = 136; +pub const PRODUCT_PRO_SINGLE_LANGUAGE: u32 = 138; +pub const PRODUCT_PRO_CHINA: u32 = 139; +pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: u32 = 140; +pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: u32 = 141; +pub const PRODUCT_DATACENTER_NANO_SERVER: u32 = 143; +pub const PRODUCT_STANDARD_NANO_SERVER: u32 = 144; +pub const PRODUCT_DATACENTER_A_SERVER_CORE: u32 = 145; +pub const PRODUCT_STANDARD_A_SERVER_CORE: u32 = 146; +pub const PRODUCT_DATACENTER_WS_SERVER_CORE: u32 = 147; +pub const PRODUCT_STANDARD_WS_SERVER_CORE: u32 = 148; +pub const PRODUCT_UTILITY_VM: u32 = 149; +pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: u32 = 159; +pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: u32 = 160; +pub const PRODUCT_PRO_WORKSTATION: u32 = 161; +pub const PRODUCT_PRO_WORKSTATION_N: u32 = 162; +pub const PRODUCT_PRO_FOR_EDUCATION: u32 = 164; +pub const PRODUCT_PRO_FOR_EDUCATION_N: u32 = 165; +pub const PRODUCT_AZURE_SERVER_CORE: u32 = 168; +pub const PRODUCT_AZURE_NANO_SERVER: u32 = 169; +pub const PRODUCT_ENTERPRISEG: u32 = 171; +pub const PRODUCT_ENTERPRISEGN: u32 = 172; +pub const PRODUCT_SERVERRDSH: u32 = 175; +pub const PRODUCT_CLOUD: u32 = 178; +pub const PRODUCT_CLOUDN: u32 = 179; +pub const PRODUCT_HUBOS: u32 = 180; +pub const PRODUCT_ONECOREUPDATEOS: u32 = 182; +pub const PRODUCT_CLOUDE: u32 = 183; +pub const PRODUCT_IOTOS: u32 = 185; +pub const PRODUCT_CLOUDEN: u32 = 186; +pub const PRODUCT_IOTEDGEOS: u32 = 187; +pub const PRODUCT_IOTENTERPRISE: u32 = 188; +pub const PRODUCT_LITE: u32 = 189; +pub const PRODUCT_IOTENTERPRISES: u32 = 191; +pub const PRODUCT_XBOX_SYSTEMOS: u32 = 192; +pub const PRODUCT_XBOX_NATIVEOS: u32 = 193; +pub const PRODUCT_XBOX_GAMEOS: u32 = 194; +pub const PRODUCT_XBOX_ERAOS: u32 = 195; +pub const PRODUCT_XBOX_DURANGOHOSTOS: u32 = 196; +pub const PRODUCT_XBOX_SCARLETTHOSTOS: u32 = 197; +pub const PRODUCT_AZURE_SERVER_CLOUDHOST: u32 = 199; +pub const PRODUCT_AZURE_SERVER_CLOUDMOS: u32 = 200; +pub const PRODUCT_CLOUDEDITIONN: u32 = 202; +pub const PRODUCT_CLOUDEDITION: u32 = 203; +pub const PRODUCT_AZURESTACKHCI_SERVER_CORE: u32 = 406; +pub const PRODUCT_DATACENTER_SERVER_AZURE_EDITION: u32 = 407; +pub const PRODUCT_DATACENTER_SERVER_CORE_AZURE_EDITION: u32 = 408; +pub const PRODUCT_UNLICENSED: u32 = 2882382797; +pub const LANG_NEUTRAL: u32 = 0; +pub const LANG_INVARIANT: u32 = 127; +pub const LANG_AFRIKAANS: u32 = 54; +pub const LANG_ALBANIAN: u32 = 28; +pub const LANG_ALSATIAN: u32 = 132; +pub const LANG_AMHARIC: u32 = 94; +pub const LANG_ARABIC: u32 = 1; +pub const LANG_ARMENIAN: u32 = 43; +pub const LANG_ASSAMESE: u32 = 77; +pub const LANG_AZERI: u32 = 44; +pub const LANG_AZERBAIJANI: u32 = 44; +pub const LANG_BANGLA: u32 = 69; +pub const LANG_BASHKIR: u32 = 109; +pub const LANG_BASQUE: u32 = 45; +pub const LANG_BELARUSIAN: u32 = 35; +pub const LANG_BENGALI: u32 = 69; +pub const LANG_BRETON: u32 = 126; +pub const LANG_BOSNIAN: u32 = 26; +pub const LANG_BOSNIAN_NEUTRAL: u32 = 30746; +pub const LANG_BULGARIAN: u32 = 2; +pub const LANG_CATALAN: u32 = 3; +pub const LANG_CENTRAL_KURDISH: u32 = 146; +pub const LANG_CHEROKEE: u32 = 92; +pub const LANG_CHINESE: u32 = 4; +pub const LANG_CHINESE_SIMPLIFIED: u32 = 4; +pub const LANG_CHINESE_TRADITIONAL: u32 = 31748; +pub const LANG_CORSICAN: u32 = 131; +pub const LANG_CROATIAN: u32 = 26; +pub const LANG_CZECH: u32 = 5; +pub const LANG_DANISH: u32 = 6; +pub const LANG_DARI: u32 = 140; +pub const LANG_DIVEHI: u32 = 101; +pub const LANG_DUTCH: u32 = 19; +pub const LANG_ENGLISH: u32 = 9; +pub const LANG_ESTONIAN: u32 = 37; +pub const LANG_FAEROESE: u32 = 56; +pub const LANG_FARSI: u32 = 41; +pub const LANG_FILIPINO: u32 = 100; +pub const LANG_FINNISH: u32 = 11; +pub const LANG_FRENCH: u32 = 12; +pub const LANG_FRISIAN: u32 = 98; +pub const LANG_FULAH: u32 = 103; +pub const LANG_GALICIAN: u32 = 86; +pub const LANG_GEORGIAN: u32 = 55; +pub const LANG_GERMAN: u32 = 7; +pub const LANG_GREEK: u32 = 8; +pub const LANG_GREENLANDIC: u32 = 111; +pub const LANG_GUJARATI: u32 = 71; +pub const LANG_HAUSA: u32 = 104; +pub const LANG_HAWAIIAN: u32 = 117; +pub const LANG_HEBREW: u32 = 13; +pub const LANG_HINDI: u32 = 57; +pub const LANG_HUNGARIAN: u32 = 14; +pub const LANG_ICELANDIC: u32 = 15; +pub const LANG_IGBO: u32 = 112; +pub const LANG_INDONESIAN: u32 = 33; +pub const LANG_INUKTITUT: u32 = 93; +pub const LANG_IRISH: u32 = 60; +pub const LANG_ITALIAN: u32 = 16; +pub const LANG_JAPANESE: u32 = 17; +pub const LANG_KANNADA: u32 = 75; +pub const LANG_KASHMIRI: u32 = 96; +pub const LANG_KAZAK: u32 = 63; +pub const LANG_KHMER: u32 = 83; +pub const LANG_KICHE: u32 = 134; +pub const LANG_KINYARWANDA: u32 = 135; +pub const LANG_KONKANI: u32 = 87; +pub const LANG_KOREAN: u32 = 18; +pub const LANG_KYRGYZ: u32 = 64; +pub const LANG_LAO: u32 = 84; +pub const LANG_LATVIAN: u32 = 38; +pub const LANG_LITHUANIAN: u32 = 39; +pub const LANG_LOWER_SORBIAN: u32 = 46; +pub const LANG_LUXEMBOURGISH: u32 = 110; +pub const LANG_MACEDONIAN: u32 = 47; +pub const LANG_MALAY: u32 = 62; +pub const LANG_MALAYALAM: u32 = 76; +pub const LANG_MALTESE: u32 = 58; +pub const LANG_MANIPURI: u32 = 88; +pub const LANG_MAORI: u32 = 129; +pub const LANG_MAPUDUNGUN: u32 = 122; +pub const LANG_MARATHI: u32 = 78; +pub const LANG_MOHAWK: u32 = 124; +pub const LANG_MONGOLIAN: u32 = 80; +pub const LANG_NEPALI: u32 = 97; +pub const LANG_NORWEGIAN: u32 = 20; +pub const LANG_OCCITAN: u32 = 130; +pub const LANG_ODIA: u32 = 72; +pub const LANG_ORIYA: u32 = 72; +pub const LANG_PASHTO: u32 = 99; +pub const LANG_PERSIAN: u32 = 41; +pub const LANG_POLISH: u32 = 21; +pub const LANG_PORTUGUESE: u32 = 22; +pub const LANG_PULAR: u32 = 103; +pub const LANG_PUNJABI: u32 = 70; +pub const LANG_QUECHUA: u32 = 107; +pub const LANG_ROMANIAN: u32 = 24; +pub const LANG_ROMANSH: u32 = 23; +pub const LANG_RUSSIAN: u32 = 25; +pub const LANG_SAKHA: u32 = 133; +pub const LANG_SAMI: u32 = 59; +pub const LANG_SANSKRIT: u32 = 79; +pub const LANG_SCOTTISH_GAELIC: u32 = 145; +pub const LANG_SERBIAN: u32 = 26; +pub const LANG_SERBIAN_NEUTRAL: u32 = 31770; +pub const LANG_SINDHI: u32 = 89; +pub const LANG_SINHALESE: u32 = 91; +pub const LANG_SLOVAK: u32 = 27; +pub const LANG_SLOVENIAN: u32 = 36; +pub const LANG_SOTHO: u32 = 108; +pub const LANG_SPANISH: u32 = 10; +pub const LANG_SWAHILI: u32 = 65; +pub const LANG_SWEDISH: u32 = 29; +pub const LANG_SYRIAC: u32 = 90; +pub const LANG_TAJIK: u32 = 40; +pub const LANG_TAMAZIGHT: u32 = 95; +pub const LANG_TAMIL: u32 = 73; +pub const LANG_TATAR: u32 = 68; +pub const LANG_TELUGU: u32 = 74; +pub const LANG_THAI: u32 = 30; +pub const LANG_TIBETAN: u32 = 81; +pub const LANG_TIGRIGNA: u32 = 115; +pub const LANG_TIGRINYA: u32 = 115; +pub const LANG_TSWANA: u32 = 50; +pub const LANG_TURKISH: u32 = 31; +pub const LANG_TURKMEN: u32 = 66; +pub const LANG_UIGHUR: u32 = 128; +pub const LANG_UKRAINIAN: u32 = 34; +pub const LANG_UPPER_SORBIAN: u32 = 46; +pub const LANG_URDU: u32 = 32; +pub const LANG_UZBEK: u32 = 67; +pub const LANG_VALENCIAN: u32 = 3; +pub const LANG_VIETNAMESE: u32 = 42; +pub const LANG_WELSH: u32 = 82; +pub const LANG_WOLOF: u32 = 136; +pub const LANG_XHOSA: u32 = 52; +pub const LANG_YAKUT: u32 = 133; +pub const LANG_YI: u32 = 120; +pub const LANG_YORUBA: u32 = 106; +pub const LANG_ZULU: u32 = 53; +pub const SUBLANG_NEUTRAL: u32 = 0; +pub const SUBLANG_DEFAULT: u32 = 1; +pub const SUBLANG_SYS_DEFAULT: u32 = 2; +pub const SUBLANG_CUSTOM_DEFAULT: u32 = 3; +pub const SUBLANG_CUSTOM_UNSPECIFIED: u32 = 4; +pub const SUBLANG_UI_CUSTOM_DEFAULT: u32 = 5; +pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_ALBANIAN_ALBANIA: u32 = 1; +pub const SUBLANG_ALSATIAN_FRANCE: u32 = 1; +pub const SUBLANG_AMHARIC_ETHIOPIA: u32 = 1; +pub const SUBLANG_ARABIC_SAUDI_ARABIA: u32 = 1; +pub const SUBLANG_ARABIC_IRAQ: u32 = 2; +pub const SUBLANG_ARABIC_EGYPT: u32 = 3; +pub const SUBLANG_ARABIC_LIBYA: u32 = 4; +pub const SUBLANG_ARABIC_ALGERIA: u32 = 5; +pub const SUBLANG_ARABIC_MOROCCO: u32 = 6; +pub const SUBLANG_ARABIC_TUNISIA: u32 = 7; +pub const SUBLANG_ARABIC_OMAN: u32 = 8; +pub const SUBLANG_ARABIC_YEMEN: u32 = 9; +pub const SUBLANG_ARABIC_SYRIA: u32 = 10; +pub const SUBLANG_ARABIC_JORDAN: u32 = 11; +pub const SUBLANG_ARABIC_LEBANON: u32 = 12; +pub const SUBLANG_ARABIC_KUWAIT: u32 = 13; +pub const SUBLANG_ARABIC_UAE: u32 = 14; +pub const SUBLANG_ARABIC_BAHRAIN: u32 = 15; +pub const SUBLANG_ARABIC_QATAR: u32 = 16; +pub const SUBLANG_ARMENIAN_ARMENIA: u32 = 1; +pub const SUBLANG_ASSAMESE_INDIA: u32 = 1; +pub const SUBLANG_AZERI_LATIN: u32 = 1; +pub const SUBLANG_AZERI_CYRILLIC: u32 = 2; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: u32 = 1; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: u32 = 2; +pub const SUBLANG_BANGLA_INDIA: u32 = 1; +pub const SUBLANG_BANGLA_BANGLADESH: u32 = 2; +pub const SUBLANG_BASHKIR_RUSSIA: u32 = 1; +pub const SUBLANG_BASQUE_BASQUE: u32 = 1; +pub const SUBLANG_BELARUSIAN_BELARUS: u32 = 1; +pub const SUBLANG_BENGALI_INDIA: u32 = 1; +pub const SUBLANG_BENGALI_BANGLADESH: u32 = 2; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 5; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 8; +pub const SUBLANG_BRETON_FRANCE: u32 = 1; +pub const SUBLANG_BULGARIAN_BULGARIA: u32 = 1; +pub const SUBLANG_CATALAN_CATALAN: u32 = 1; +pub const SUBLANG_CENTRAL_KURDISH_IRAQ: u32 = 1; +pub const SUBLANG_CHEROKEE_CHEROKEE: u32 = 1; +pub const SUBLANG_CHINESE_TRADITIONAL: u32 = 1; +pub const SUBLANG_CHINESE_SIMPLIFIED: u32 = 2; +pub const SUBLANG_CHINESE_HONGKONG: u32 = 3; +pub const SUBLANG_CHINESE_SINGAPORE: u32 = 4; +pub const SUBLANG_CHINESE_MACAU: u32 = 5; +pub const SUBLANG_CORSICAN_FRANCE: u32 = 1; +pub const SUBLANG_CZECH_CZECH_REPUBLIC: u32 = 1; +pub const SUBLANG_CROATIAN_CROATIA: u32 = 1; +pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 4; +pub const SUBLANG_DANISH_DENMARK: u32 = 1; +pub const SUBLANG_DARI_AFGHANISTAN: u32 = 1; +pub const SUBLANG_DIVEHI_MALDIVES: u32 = 1; +pub const SUBLANG_DUTCH: u32 = 1; +pub const SUBLANG_DUTCH_BELGIAN: u32 = 2; +pub const SUBLANG_ENGLISH_US: u32 = 1; +pub const SUBLANG_ENGLISH_UK: u32 = 2; +pub const SUBLANG_ENGLISH_AUS: u32 = 3; +pub const SUBLANG_ENGLISH_CAN: u32 = 4; +pub const SUBLANG_ENGLISH_NZ: u32 = 5; +pub const SUBLANG_ENGLISH_EIRE: u32 = 6; +pub const SUBLANG_ENGLISH_SOUTH_AFRICA: u32 = 7; +pub const SUBLANG_ENGLISH_JAMAICA: u32 = 8; +pub const SUBLANG_ENGLISH_CARIBBEAN: u32 = 9; +pub const SUBLANG_ENGLISH_BELIZE: u32 = 10; +pub const SUBLANG_ENGLISH_TRINIDAD: u32 = 11; +pub const SUBLANG_ENGLISH_ZIMBABWE: u32 = 12; +pub const SUBLANG_ENGLISH_PHILIPPINES: u32 = 13; +pub const SUBLANG_ENGLISH_INDIA: u32 = 16; +pub const SUBLANG_ENGLISH_MALAYSIA: u32 = 17; +pub const SUBLANG_ENGLISH_SINGAPORE: u32 = 18; +pub const SUBLANG_ESTONIAN_ESTONIA: u32 = 1; +pub const SUBLANG_FAEROESE_FAROE_ISLANDS: u32 = 1; +pub const SUBLANG_FILIPINO_PHILIPPINES: u32 = 1; +pub const SUBLANG_FINNISH_FINLAND: u32 = 1; +pub const SUBLANG_FRENCH: u32 = 1; +pub const SUBLANG_FRENCH_BELGIAN: u32 = 2; +pub const SUBLANG_FRENCH_CANADIAN: u32 = 3; +pub const SUBLANG_FRENCH_SWISS: u32 = 4; +pub const SUBLANG_FRENCH_LUXEMBOURG: u32 = 5; +pub const SUBLANG_FRENCH_MONACO: u32 = 6; +pub const SUBLANG_FRISIAN_NETHERLANDS: u32 = 1; +pub const SUBLANG_FULAH_SENEGAL: u32 = 2; +pub const SUBLANG_GALICIAN_GALICIAN: u32 = 1; +pub const SUBLANG_GEORGIAN_GEORGIA: u32 = 1; +pub const SUBLANG_GERMAN: u32 = 1; +pub const SUBLANG_GERMAN_SWISS: u32 = 2; +pub const SUBLANG_GERMAN_AUSTRIAN: u32 = 3; +pub const SUBLANG_GERMAN_LUXEMBOURG: u32 = 4; +pub const SUBLANG_GERMAN_LIECHTENSTEIN: u32 = 5; +pub const SUBLANG_GREEK_GREECE: u32 = 1; +pub const SUBLANG_GREENLANDIC_GREENLAND: u32 = 1; +pub const SUBLANG_GUJARATI_INDIA: u32 = 1; +pub const SUBLANG_HAUSA_NIGERIA_LATIN: u32 = 1; +pub const SUBLANG_HAWAIIAN_US: u32 = 1; +pub const SUBLANG_HEBREW_ISRAEL: u32 = 1; +pub const SUBLANG_HINDI_INDIA: u32 = 1; +pub const SUBLANG_HUNGARIAN_HUNGARY: u32 = 1; +pub const SUBLANG_ICELANDIC_ICELAND: u32 = 1; +pub const SUBLANG_IGBO_NIGERIA: u32 = 1; +pub const SUBLANG_INDONESIAN_INDONESIA: u32 = 1; +pub const SUBLANG_INUKTITUT_CANADA: u32 = 1; +pub const SUBLANG_INUKTITUT_CANADA_LATIN: u32 = 2; +pub const SUBLANG_IRISH_IRELAND: u32 = 2; +pub const SUBLANG_ITALIAN: u32 = 1; +pub const SUBLANG_ITALIAN_SWISS: u32 = 2; +pub const SUBLANG_JAPANESE_JAPAN: u32 = 1; +pub const SUBLANG_KANNADA_INDIA: u32 = 1; +pub const SUBLANG_KASHMIRI_SASIA: u32 = 2; +pub const SUBLANG_KASHMIRI_INDIA: u32 = 2; +pub const SUBLANG_KAZAK_KAZAKHSTAN: u32 = 1; +pub const SUBLANG_KHMER_CAMBODIA: u32 = 1; +pub const SUBLANG_KICHE_GUATEMALA: u32 = 1; +pub const SUBLANG_KINYARWANDA_RWANDA: u32 = 1; +pub const SUBLANG_KONKANI_INDIA: u32 = 1; +pub const SUBLANG_KOREAN: u32 = 1; +pub const SUBLANG_KYRGYZ_KYRGYZSTAN: u32 = 1; +pub const SUBLANG_LAO_LAO: u32 = 1; +pub const SUBLANG_LATVIAN_LATVIA: u32 = 1; +pub const SUBLANG_LITHUANIAN: u32 = 1; +pub const SUBLANG_LOWER_SORBIAN_GERMANY: u32 = 2; +pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: u32 = 1; +pub const SUBLANG_MACEDONIAN_MACEDONIA: u32 = 1; +pub const SUBLANG_MALAY_MALAYSIA: u32 = 1; +pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: u32 = 2; +pub const SUBLANG_MALAYALAM_INDIA: u32 = 1; +pub const SUBLANG_MALTESE_MALTA: u32 = 1; +pub const SUBLANG_MAORI_NEW_ZEALAND: u32 = 1; +pub const SUBLANG_MAPUDUNGUN_CHILE: u32 = 1; +pub const SUBLANG_MARATHI_INDIA: u32 = 1; +pub const SUBLANG_MOHAWK_MOHAWK: u32 = 1; +pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: u32 = 1; +pub const SUBLANG_MONGOLIAN_PRC: u32 = 2; +pub const SUBLANG_NEPALI_INDIA: u32 = 2; +pub const SUBLANG_NEPALI_NEPAL: u32 = 1; +pub const SUBLANG_NORWEGIAN_BOKMAL: u32 = 1; +pub const SUBLANG_NORWEGIAN_NYNORSK: u32 = 2; +pub const SUBLANG_OCCITAN_FRANCE: u32 = 1; +pub const SUBLANG_ODIA_INDIA: u32 = 1; +pub const SUBLANG_ORIYA_INDIA: u32 = 1; +pub const SUBLANG_PASHTO_AFGHANISTAN: u32 = 1; +pub const SUBLANG_PERSIAN_IRAN: u32 = 1; +pub const SUBLANG_POLISH_POLAND: u32 = 1; +pub const SUBLANG_PORTUGUESE: u32 = 2; +pub const SUBLANG_PORTUGUESE_BRAZILIAN: u32 = 1; +pub const SUBLANG_PULAR_SENEGAL: u32 = 2; +pub const SUBLANG_PUNJABI_INDIA: u32 = 1; +pub const SUBLANG_PUNJABI_PAKISTAN: u32 = 2; +pub const SUBLANG_QUECHUA_BOLIVIA: u32 = 1; +pub const SUBLANG_QUECHUA_ECUADOR: u32 = 2; +pub const SUBLANG_QUECHUA_PERU: u32 = 3; +pub const SUBLANG_ROMANIAN_ROMANIA: u32 = 1; +pub const SUBLANG_ROMANSH_SWITZERLAND: u32 = 1; +pub const SUBLANG_RUSSIAN_RUSSIA: u32 = 1; +pub const SUBLANG_SAKHA_RUSSIA: u32 = 1; +pub const SUBLANG_SAMI_NORTHERN_NORWAY: u32 = 1; +pub const SUBLANG_SAMI_NORTHERN_SWEDEN: u32 = 2; +pub const SUBLANG_SAMI_NORTHERN_FINLAND: u32 = 3; +pub const SUBLANG_SAMI_LULE_NORWAY: u32 = 4; +pub const SUBLANG_SAMI_LULE_SWEDEN: u32 = 5; +pub const SUBLANG_SAMI_SOUTHERN_NORWAY: u32 = 6; +pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: u32 = 7; +pub const SUBLANG_SAMI_SKOLT_FINLAND: u32 = 8; +pub const SUBLANG_SAMI_INARI_FINLAND: u32 = 9; +pub const SUBLANG_SANSKRIT_INDIA: u32 = 1; +pub const SUBLANG_SCOTTISH_GAELIC: u32 = 1; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 6; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 7; +pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: u32 = 11; +pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: u32 = 12; +pub const SUBLANG_SERBIAN_SERBIA_LATIN: u32 = 9; +pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: u32 = 10; +pub const SUBLANG_SERBIAN_CROATIA: u32 = 1; +pub const SUBLANG_SERBIAN_LATIN: u32 = 2; +pub const SUBLANG_SERBIAN_CYRILLIC: u32 = 3; +pub const SUBLANG_SINDHI_INDIA: u32 = 1; +pub const SUBLANG_SINDHI_PAKISTAN: u32 = 2; +pub const SUBLANG_SINDHI_AFGHANISTAN: u32 = 2; +pub const SUBLANG_SINHALESE_SRI_LANKA: u32 = 1; +pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_SLOVAK_SLOVAKIA: u32 = 1; +pub const SUBLANG_SLOVENIAN_SLOVENIA: u32 = 1; +pub const SUBLANG_SPANISH: u32 = 1; +pub const SUBLANG_SPANISH_MEXICAN: u32 = 2; +pub const SUBLANG_SPANISH_MODERN: u32 = 3; +pub const SUBLANG_SPANISH_GUATEMALA: u32 = 4; +pub const SUBLANG_SPANISH_COSTA_RICA: u32 = 5; +pub const SUBLANG_SPANISH_PANAMA: u32 = 6; +pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: u32 = 7; +pub const SUBLANG_SPANISH_VENEZUELA: u32 = 8; +pub const SUBLANG_SPANISH_COLOMBIA: u32 = 9; +pub const SUBLANG_SPANISH_PERU: u32 = 10; +pub const SUBLANG_SPANISH_ARGENTINA: u32 = 11; +pub const SUBLANG_SPANISH_ECUADOR: u32 = 12; +pub const SUBLANG_SPANISH_CHILE: u32 = 13; +pub const SUBLANG_SPANISH_URUGUAY: u32 = 14; +pub const SUBLANG_SPANISH_PARAGUAY: u32 = 15; +pub const SUBLANG_SPANISH_BOLIVIA: u32 = 16; +pub const SUBLANG_SPANISH_EL_SALVADOR: u32 = 17; +pub const SUBLANG_SPANISH_HONDURAS: u32 = 18; +pub const SUBLANG_SPANISH_NICARAGUA: u32 = 19; +pub const SUBLANG_SPANISH_PUERTO_RICO: u32 = 20; +pub const SUBLANG_SPANISH_US: u32 = 21; +pub const SUBLANG_SWAHILI_KENYA: u32 = 1; +pub const SUBLANG_SWEDISH: u32 = 1; +pub const SUBLANG_SWEDISH_FINLAND: u32 = 2; +pub const SUBLANG_SYRIAC_SYRIA: u32 = 1; +pub const SUBLANG_TAJIK_TAJIKISTAN: u32 = 1; +pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: u32 = 2; +pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: u32 = 4; +pub const SUBLANG_TAMIL_INDIA: u32 = 1; +pub const SUBLANG_TAMIL_SRI_LANKA: u32 = 2; +pub const SUBLANG_TATAR_RUSSIA: u32 = 1; +pub const SUBLANG_TELUGU_INDIA: u32 = 1; +pub const SUBLANG_THAI_THAILAND: u32 = 1; +pub const SUBLANG_TIBETAN_PRC: u32 = 1; +pub const SUBLANG_TIGRIGNA_ERITREA: u32 = 2; +pub const SUBLANG_TIGRINYA_ERITREA: u32 = 2; +pub const SUBLANG_TIGRINYA_ETHIOPIA: u32 = 1; +pub const SUBLANG_TSWANA_BOTSWANA: u32 = 2; +pub const SUBLANG_TSWANA_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_TURKISH_TURKEY: u32 = 1; +pub const SUBLANG_TURKMEN_TURKMENISTAN: u32 = 1; +pub const SUBLANG_UIGHUR_PRC: u32 = 1; +pub const SUBLANG_UKRAINIAN_UKRAINE: u32 = 1; +pub const SUBLANG_UPPER_SORBIAN_GERMANY: u32 = 1; +pub const SUBLANG_URDU_PAKISTAN: u32 = 1; +pub const SUBLANG_URDU_INDIA: u32 = 2; +pub const SUBLANG_UZBEK_LATIN: u32 = 1; +pub const SUBLANG_UZBEK_CYRILLIC: u32 = 2; +pub const SUBLANG_VALENCIAN_VALENCIA: u32 = 2; +pub const SUBLANG_VIETNAMESE_VIETNAM: u32 = 1; +pub const SUBLANG_WELSH_UNITED_KINGDOM: u32 = 1; +pub const SUBLANG_WOLOF_SENEGAL: u32 = 1; +pub const SUBLANG_XHOSA_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_YAKUT_RUSSIA: u32 = 1; +pub const SUBLANG_YI_PRC: u32 = 1; +pub const SUBLANG_YORUBA_NIGERIA: u32 = 1; +pub const SUBLANG_ZULU_SOUTH_AFRICA: u32 = 1; +pub const SORT_DEFAULT: u32 = 0; +pub const SORT_INVARIANT_MATH: u32 = 1; +pub const SORT_JAPANESE_XJIS: u32 = 0; +pub const SORT_JAPANESE_UNICODE: u32 = 1; +pub const SORT_JAPANESE_RADICALSTROKE: u32 = 4; +pub const SORT_CHINESE_BIG5: u32 = 0; +pub const SORT_CHINESE_PRCP: u32 = 0; +pub const SORT_CHINESE_UNICODE: u32 = 1; +pub const SORT_CHINESE_PRC: u32 = 2; +pub const SORT_CHINESE_BOPOMOFO: u32 = 3; +pub const SORT_CHINESE_RADICALSTROKE: u32 = 4; +pub const SORT_KOREAN_KSC: u32 = 0; +pub const SORT_KOREAN_UNICODE: u32 = 1; +pub const SORT_GERMAN_PHONE_BOOK: u32 = 1; +pub const SORT_HUNGARIAN_DEFAULT: u32 = 0; +pub const SORT_HUNGARIAN_TECHNICAL: u32 = 1; +pub const SORT_GEORGIAN_TRADITIONAL: u32 = 0; +pub const SORT_GEORGIAN_MODERN: u32 = 1; +pub const NLS_VALID_LOCALE_MASK: u32 = 1048575; +pub const LOCALE_NAME_MAX_LENGTH: u32 = 85; +pub const LOCALE_TRANSIENT_KEYBOARD1: u32 = 8192; +pub const LOCALE_TRANSIENT_KEYBOARD2: u32 = 9216; +pub const LOCALE_TRANSIENT_KEYBOARD3: u32 = 10240; +pub const LOCALE_TRANSIENT_KEYBOARD4: u32 = 11264; +pub const MAXIMUM_WAIT_OBJECTS: u32 = 64; +pub const MAXIMUM_SUSPEND_COUNT: u32 = 127; +pub const _MM_HINT_T0: u32 = 1; +pub const _MM_HINT_T1: u32 = 2; +pub const _MM_HINT_T2: u32 = 3; +pub const _MM_HINT_NTA: u32 = 0; +pub const PF_TEMPORAL_LEVEL_1: u32 = 1; +pub const PF_TEMPORAL_LEVEL_2: u32 = 2; +pub const PF_TEMPORAL_LEVEL_3: u32 = 3; +pub const PF_NON_TEMPORAL_LEVEL_ALL: u32 = 0; +pub const EXCEPTION_READ_FAULT: u32 = 0; +pub const EXCEPTION_WRITE_FAULT: u32 = 1; +pub const EXCEPTION_EXECUTE_FAULT: u32 = 8; +pub const CONTEXT_AMD64: u32 = 1048576; +pub const CONTEXT_CONTROL: u32 = 1048577; +pub const CONTEXT_INTEGER: u32 = 1048578; +pub const CONTEXT_SEGMENTS: u32 = 1048580; +pub const CONTEXT_FLOATING_POINT: u32 = 1048584; +pub const CONTEXT_DEBUG_REGISTERS: u32 = 1048592; +pub const CONTEXT_FULL: u32 = 1048587; +pub const CONTEXT_ALL: u32 = 1048607; +pub const CONTEXT_XSTATE: u32 = 1048640; +pub const CONTEXT_KERNEL_CET: u32 = 1048704; +pub const CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; +pub const CONTEXT_SERVICE_ACTIVE: u32 = 268435456; +pub const CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; +pub const CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; +pub const CONTEXT_UNWOUND_TO_CALL: u32 = 536870912; +pub const INITIAL_MXCSR: u32 = 8064; +pub const INITIAL_FPCSR: u32 = 639; +pub const RUNTIME_FUNCTION_INDIRECT: u32 = 1; +pub const UNW_FLAG_NHANDLER: u32 = 0; +pub const UNW_FLAG_EHANDLER: u32 = 1; +pub const UNW_FLAG_UHANDLER: u32 = 2; +pub const UNW_FLAG_CHAININFO: u32 = 4; +pub const UNW_FLAG_NO_EPILOGUE: u32 = 2147483648; +pub const UNWIND_CHAIN_LIMIT: u32 = 32; +pub const OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME: &[u8; 34usize] = + b"OutOfProcessFunctionTableCallback\0"; +pub const CONTEXT_ARM64: u32 = 4194304; +pub const CONTEXT_ARM64_CONTROL: u32 = 4194305; +pub const CONTEXT_ARM64_INTEGER: u32 = 4194306; +pub const CONTEXT_ARM64_FLOATING_POINT: u32 = 4194308; +pub const CONTEXT_ARM64_DEBUG_REGISTERS: u32 = 4194312; +pub const CONTEXT_ARM64_X18: u32 = 4194320; +pub const CONTEXT_ARM64_FULL: u32 = 4194311; +pub const CONTEXT_ARM64_ALL: u32 = 4194335; +pub const CONTEXT_ARM64_UNWOUND_TO_CALL: u32 = 536870912; +pub const CONTEXT_ARM64_RET_TO_GUEST: u32 = 67108864; +pub const ARM64_MAX_BREAKPOINTS: u32 = 8; +pub const ARM64_MAX_WATCHPOINTS: u32 = 2; +pub const NONVOL_INT_NUMREG_ARM64: u32 = 11; +pub const NONVOL_FP_NUMREG_ARM64: u32 = 8; +pub const WOW64_CONTEXT_i386: u32 = 65536; +pub const WOW64_CONTEXT_i486: u32 = 65536; +pub const WOW64_CONTEXT_CONTROL: u32 = 65537; +pub const WOW64_CONTEXT_INTEGER: u32 = 65538; +pub const WOW64_CONTEXT_SEGMENTS: u32 = 65540; +pub const WOW64_CONTEXT_FLOATING_POINT: u32 = 65544; +pub const WOW64_CONTEXT_DEBUG_REGISTERS: u32 = 65552; +pub const WOW64_CONTEXT_EXTENDED_REGISTERS: u32 = 65568; +pub const WOW64_CONTEXT_FULL: u32 = 65543; +pub const WOW64_CONTEXT_ALL: u32 = 65599; +pub const WOW64_CONTEXT_XSTATE: u32 = 65600; +pub const WOW64_CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; +pub const WOW64_CONTEXT_SERVICE_ACTIVE: u32 = 268435456; +pub const WOW64_CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; +pub const WOW64_CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; +pub const WOW64_SIZE_OF_80387_REGISTERS: u32 = 80; +pub const WOW64_MAXIMUM_SUPPORTED_EXTENSION: u32 = 512; +pub const EXCEPTION_NONCONTINUABLE: u32 = 1; +pub const EXCEPTION_UNWINDING: u32 = 2; +pub const EXCEPTION_EXIT_UNWIND: u32 = 4; +pub const EXCEPTION_STACK_INVALID: u32 = 8; +pub const EXCEPTION_NESTED_CALL: u32 = 16; +pub const EXCEPTION_TARGET_UNWIND: u32 = 32; +pub const EXCEPTION_COLLIDED_UNWIND: u32 = 64; +pub const EXCEPTION_SOFTWARE_ORIGINATE: u32 = 128; +pub const EXCEPTION_UNWIND: u32 = 102; +pub const EXCEPTION_MAXIMUM_PARAMETERS: u32 = 15; +pub const DELETE: u32 = 65536; +pub const READ_CONTROL: u32 = 131072; +pub const WRITE_DAC: u32 = 262144; +pub const WRITE_OWNER: u32 = 524288; +pub const SYNCHRONIZE: u32 = 1048576; +pub const STANDARD_RIGHTS_REQUIRED: u32 = 983040; +pub const STANDARD_RIGHTS_READ: u32 = 131072; +pub const STANDARD_RIGHTS_WRITE: u32 = 131072; +pub const STANDARD_RIGHTS_EXECUTE: u32 = 131072; +pub const STANDARD_RIGHTS_ALL: u32 = 2031616; +pub const SPECIFIC_RIGHTS_ALL: u32 = 65535; +pub const ACCESS_SYSTEM_SECURITY: u32 = 16777216; +pub const MAXIMUM_ALLOWED: u32 = 33554432; +pub const GENERIC_READ: u32 = 2147483648; +pub const GENERIC_WRITE: u32 = 1073741824; +pub const GENERIC_EXECUTE: u32 = 536870912; +pub const GENERIC_ALL: u32 = 268435456; +pub const SID_REVISION: u32 = 1; +pub const SID_MAX_SUB_AUTHORITIES: u32 = 15; +pub const SID_RECOMMENDED_SUB_AUTHORITIES: u32 = 1; +pub const SECURITY_MAX_SID_STRING_CHARACTERS: u32 = 187; +pub const SID_HASH_SIZE: u32 = 32; +pub const SECURITY_NULL_RID: u32 = 0; +pub const SECURITY_WORLD_RID: u32 = 0; +pub const SECURITY_LOCAL_RID: u32 = 0; +pub const SECURITY_LOCAL_LOGON_RID: u32 = 1; +pub const SECURITY_CREATOR_OWNER_RID: u32 = 0; +pub const SECURITY_CREATOR_GROUP_RID: u32 = 1; +pub const SECURITY_CREATOR_OWNER_SERVER_RID: u32 = 2; +pub const SECURITY_CREATOR_GROUP_SERVER_RID: u32 = 3; +pub const SECURITY_CREATOR_OWNER_RIGHTS_RID: u32 = 4; +pub const SECURITY_DIALUP_RID: u32 = 1; +pub const SECURITY_NETWORK_RID: u32 = 2; +pub const SECURITY_BATCH_RID: u32 = 3; +pub const SECURITY_INTERACTIVE_RID: u32 = 4; +pub const SECURITY_LOGON_IDS_RID: u32 = 5; +pub const SECURITY_LOGON_IDS_RID_COUNT: u32 = 3; +pub const SECURITY_SERVICE_RID: u32 = 6; +pub const SECURITY_ANONYMOUS_LOGON_RID: u32 = 7; +pub const SECURITY_PROXY_RID: u32 = 8; +pub const SECURITY_ENTERPRISE_CONTROLLERS_RID: u32 = 9; +pub const SECURITY_SERVER_LOGON_RID: u32 = 9; +pub const SECURITY_PRINCIPAL_SELF_RID: u32 = 10; +pub const SECURITY_AUTHENTICATED_USER_RID: u32 = 11; +pub const SECURITY_RESTRICTED_CODE_RID: u32 = 12; +pub const SECURITY_TERMINAL_SERVER_RID: u32 = 13; +pub const SECURITY_REMOTE_LOGON_RID: u32 = 14; +pub const SECURITY_THIS_ORGANIZATION_RID: u32 = 15; +pub const SECURITY_IUSER_RID: u32 = 17; +pub const SECURITY_LOCAL_SYSTEM_RID: u32 = 18; +pub const SECURITY_LOCAL_SERVICE_RID: u32 = 19; +pub const SECURITY_NETWORK_SERVICE_RID: u32 = 20; +pub const SECURITY_NT_NON_UNIQUE: u32 = 21; +pub const SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT: u32 = 3; +pub const SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID: u32 = 22; +pub const SECURITY_BUILTIN_DOMAIN_RID: u32 = 32; +pub const SECURITY_WRITE_RESTRICTED_CODE_RID: u32 = 33; +pub const SECURITY_PACKAGE_BASE_RID: u32 = 64; +pub const SECURITY_PACKAGE_RID_COUNT: u32 = 2; +pub const SECURITY_PACKAGE_NTLM_RID: u32 = 10; +pub const SECURITY_PACKAGE_SCHANNEL_RID: u32 = 14; +pub const SECURITY_PACKAGE_DIGEST_RID: u32 = 21; +pub const SECURITY_CRED_TYPE_BASE_RID: u32 = 65; +pub const SECURITY_CRED_TYPE_RID_COUNT: u32 = 2; +pub const SECURITY_CRED_TYPE_THIS_ORG_CERT_RID: u32 = 1; +pub const SECURITY_MIN_BASE_RID: u32 = 80; +pub const SECURITY_SERVICE_ID_BASE_RID: u32 = 80; +pub const SECURITY_SERVICE_ID_RID_COUNT: u32 = 6; +pub const SECURITY_RESERVED_ID_BASE_RID: u32 = 81; +pub const SECURITY_APPPOOL_ID_BASE_RID: u32 = 82; +pub const SECURITY_APPPOOL_ID_RID_COUNT: u32 = 6; +pub const SECURITY_VIRTUALSERVER_ID_BASE_RID: u32 = 83; +pub const SECURITY_VIRTUALSERVER_ID_RID_COUNT: u32 = 6; +pub const SECURITY_USERMODEDRIVERHOST_ID_BASE_RID: u32 = 84; +pub const SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID: u32 = 85; +pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT: u32 = 6; +pub const SECURITY_WMIHOST_ID_BASE_RID: u32 = 86; +pub const SECURITY_WMIHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_TASK_ID_BASE_RID: u32 = 87; +pub const SECURITY_NFS_ID_BASE_RID: u32 = 88; +pub const SECURITY_COM_ID_BASE_RID: u32 = 89; +pub const SECURITY_WINDOW_MANAGER_BASE_RID: u32 = 90; +pub const SECURITY_RDV_GFX_BASE_RID: u32 = 91; +pub const SECURITY_DASHOST_ID_BASE_RID: u32 = 92; +pub const SECURITY_DASHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_USERMANAGER_ID_BASE_RID: u32 = 93; +pub const SECURITY_USERMANAGER_ID_RID_COUNT: u32 = 6; +pub const SECURITY_WINRM_ID_BASE_RID: u32 = 94; +pub const SECURITY_WINRM_ID_RID_COUNT: u32 = 6; +pub const SECURITY_CCG_ID_BASE_RID: u32 = 95; +pub const SECURITY_UMFD_BASE_RID: u32 = 96; +pub const SECURITY_VIRTUALACCOUNT_ID_RID_COUNT: u32 = 6; +pub const SECURITY_MAX_BASE_RID: u32 = 111; +pub const SECURITY_MAX_ALWAYS_FILTERED: u32 = 999; +pub const SECURITY_MIN_NEVER_FILTERED: u32 = 1000; +pub const SECURITY_OTHER_ORGANIZATION_RID: u32 = 1000; +pub const SECURITY_WINDOWSMOBILE_ID_BASE_RID: u32 = 112; +pub const SECURITY_INSTALLER_GROUP_CAPABILITY_BASE: u32 = 32; +pub const SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT: u32 = 9; +pub const SECURITY_INSTALLER_CAPABILITY_RID_COUNT: u32 = 10; +pub const SECURITY_LOCAL_ACCOUNT_RID: u32 = 113; +pub const SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID: u32 = 114; +pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED: u32 = 496; +pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS: u32 = 497; +pub const DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS: u32 = 498; +pub const FOREST_USER_RID_MAX: u32 = 499; +pub const DOMAIN_USER_RID_ADMIN: u32 = 500; +pub const DOMAIN_USER_RID_GUEST: u32 = 501; +pub const DOMAIN_USER_RID_KRBTGT: u32 = 502; +pub const DOMAIN_USER_RID_DEFAULT_ACCOUNT: u32 = 503; +pub const DOMAIN_USER_RID_WDAG_ACCOUNT: u32 = 504; +pub const DOMAIN_USER_RID_MAX: u32 = 999; +pub const DOMAIN_GROUP_RID_ADMINS: u32 = 512; +pub const DOMAIN_GROUP_RID_USERS: u32 = 513; +pub const DOMAIN_GROUP_RID_GUESTS: u32 = 514; +pub const DOMAIN_GROUP_RID_COMPUTERS: u32 = 515; +pub const DOMAIN_GROUP_RID_CONTROLLERS: u32 = 516; +pub const DOMAIN_GROUP_RID_CERT_ADMINS: u32 = 517; +pub const DOMAIN_GROUP_RID_SCHEMA_ADMINS: u32 = 518; +pub const DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: u32 = 519; +pub const DOMAIN_GROUP_RID_POLICY_ADMINS: u32 = 520; +pub const DOMAIN_GROUP_RID_READONLY_CONTROLLERS: u32 = 521; +pub const DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS: u32 = 522; +pub const DOMAIN_GROUP_RID_CDC_RESERVED: u32 = 524; +pub const DOMAIN_GROUP_RID_PROTECTED_USERS: u32 = 525; +pub const DOMAIN_GROUP_RID_KEY_ADMINS: u32 = 526; +pub const DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS: u32 = 527; +pub const DOMAIN_ALIAS_RID_ADMINS: u32 = 544; +pub const DOMAIN_ALIAS_RID_USERS: u32 = 545; +pub const DOMAIN_ALIAS_RID_GUESTS: u32 = 546; +pub const DOMAIN_ALIAS_RID_POWER_USERS: u32 = 547; +pub const DOMAIN_ALIAS_RID_ACCOUNT_OPS: u32 = 548; +pub const DOMAIN_ALIAS_RID_SYSTEM_OPS: u32 = 549; +pub const DOMAIN_ALIAS_RID_PRINT_OPS: u32 = 550; +pub const DOMAIN_ALIAS_RID_BACKUP_OPS: u32 = 551; +pub const DOMAIN_ALIAS_RID_REPLICATOR: u32 = 552; +pub const DOMAIN_ALIAS_RID_RAS_SERVERS: u32 = 553; +pub const DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: u32 = 554; +pub const DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: u32 = 555; +pub const DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: u32 = 556; +pub const DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: u32 = 557; +pub const DOMAIN_ALIAS_RID_MONITORING_USERS: u32 = 558; +pub const DOMAIN_ALIAS_RID_LOGGING_USERS: u32 = 559; +pub const DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: u32 = 560; +pub const DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: u32 = 561; +pub const DOMAIN_ALIAS_RID_DCOM_USERS: u32 = 562; +pub const DOMAIN_ALIAS_RID_IUSERS: u32 = 568; +pub const DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: u32 = 569; +pub const DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: u32 = 571; +pub const DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: u32 = 572; +pub const DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: u32 = 573; +pub const DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP: u32 = 574; +pub const DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS: u32 = 575; +pub const DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS: u32 = 576; +pub const DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS: u32 = 577; +pub const DOMAIN_ALIAS_RID_HYPER_V_ADMINS: u32 = 578; +pub const DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS: u32 = 579; +pub const DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS: u32 = 580; +pub const DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT: u32 = 581; +pub const DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS: u32 = 582; +pub const DOMAIN_ALIAS_RID_DEVICE_OWNERS: u32 = 583; +pub const SECURITY_APP_PACKAGE_BASE_RID: u32 = 2; +pub const SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT: u32 = 2; +pub const SECURITY_APP_PACKAGE_RID_COUNT: u32 = 8; +pub const SECURITY_CAPABILITY_BASE_RID: u32 = 3; +pub const SECURITY_CAPABILITY_APP_RID: u32 = 1024; +pub const SECURITY_BUILTIN_CAPABILITY_RID_COUNT: u32 = 2; +pub const SECURITY_CAPABILITY_RID_COUNT: u32 = 5; +pub const SECURITY_PARENT_PACKAGE_RID_COUNT: u32 = 8; +pub const SECURITY_CHILD_PACKAGE_RID_COUNT: u32 = 12; +pub const SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE: u32 = 1; +pub const SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE: u32 = 2; +pub const SECURITY_CAPABILITY_INTERNET_CLIENT: u32 = 1; +pub const SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER: u32 = 2; +pub const SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER: u32 = 3; +pub const SECURITY_CAPABILITY_PICTURES_LIBRARY: u32 = 4; +pub const SECURITY_CAPABILITY_VIDEOS_LIBRARY: u32 = 5; +pub const SECURITY_CAPABILITY_MUSIC_LIBRARY: u32 = 6; +pub const SECURITY_CAPABILITY_DOCUMENTS_LIBRARY: u32 = 7; +pub const SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION: u32 = 8; +pub const SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES: u32 = 9; +pub const SECURITY_CAPABILITY_REMOVABLE_STORAGE: u32 = 10; +pub const SECURITY_CAPABILITY_APPOINTMENTS: u32 = 11; +pub const SECURITY_CAPABILITY_CONTACTS: u32 = 12; +pub const SECURITY_CAPABILITY_INTERNET_EXPLORER: u32 = 4096; +pub const SECURITY_MANDATORY_UNTRUSTED_RID: u32 = 0; +pub const SECURITY_MANDATORY_LOW_RID: u32 = 4096; +pub const SECURITY_MANDATORY_MEDIUM_RID: u32 = 8192; +pub const SECURITY_MANDATORY_MEDIUM_PLUS_RID: u32 = 8448; +pub const SECURITY_MANDATORY_HIGH_RID: u32 = 12288; +pub const SECURITY_MANDATORY_SYSTEM_RID: u32 = 16384; +pub const SECURITY_MANDATORY_PROTECTED_PROCESS_RID: u32 = 20480; +pub const SECURITY_MANDATORY_MAXIMUM_USER_RID: u32 = 16384; +pub const SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT: u32 = 1; +pub const SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID: u32 = 1; +pub const SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID: u32 = 2; +pub const SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID: u32 = 3; +pub const SECURITY_AUTHENTICATION_KEY_TRUST_RID: u32 = 4; +pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID: u32 = 5; +pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID: u32 = 6; +pub const SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT: u32 = 2; +pub const SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID: u32 = 1024; +pub const SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID: u32 = 512; +pub const SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID: u32 = 0; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID: u32 = 8192; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID: u32 = 4096; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID: u32 = 2048; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID: u32 = 1536; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID: u32 = 1024; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID: u32 = 0; +pub const SECURITY_TRUSTED_INSTALLER_RID1: u32 = 956008885; +pub const SECURITY_TRUSTED_INSTALLER_RID2: u32 = 3418522649; +pub const SECURITY_TRUSTED_INSTALLER_RID3: u32 = 1831038044; +pub const SECURITY_TRUSTED_INSTALLER_RID4: u32 = 1853292631; +pub const SECURITY_TRUSTED_INSTALLER_RID5: u32 = 2271478464; +pub const SE_GROUP_MANDATORY: u32 = 1; +pub const SE_GROUP_ENABLED_BY_DEFAULT: u32 = 2; +pub const SE_GROUP_ENABLED: u32 = 4; +pub const SE_GROUP_OWNER: u32 = 8; +pub const SE_GROUP_USE_FOR_DENY_ONLY: u32 = 16; +pub const SE_GROUP_INTEGRITY: u32 = 32; +pub const SE_GROUP_INTEGRITY_ENABLED: u32 = 64; +pub const SE_GROUP_LOGON_ID: u32 = 3221225472; +pub const SE_GROUP_RESOURCE: u32 = 536870912; +pub const SE_GROUP_VALID_ATTRIBUTES: u32 = 3758096511; +pub const ACL_REVISION: u32 = 2; +pub const ACL_REVISION_DS: u32 = 4; +pub const ACL_REVISION1: u32 = 1; +pub const ACL_REVISION2: u32 = 2; +pub const ACL_REVISION3: u32 = 3; +pub const ACL_REVISION4: u32 = 4; +pub const MAX_ACL_REVISION: u32 = 4; +pub const ACCESS_MIN_MS_ACE_TYPE: u32 = 0; +pub const ACCESS_ALLOWED_ACE_TYPE: u32 = 0; +pub const ACCESS_DENIED_ACE_TYPE: u32 = 1; +pub const SYSTEM_AUDIT_ACE_TYPE: u32 = 2; +pub const SYSTEM_ALARM_ACE_TYPE: u32 = 3; +pub const ACCESS_MAX_MS_V2_ACE_TYPE: u32 = 3; +pub const ACCESS_ALLOWED_COMPOUND_ACE_TYPE: u32 = 4; +pub const ACCESS_MAX_MS_V3_ACE_TYPE: u32 = 4; +pub const ACCESS_MIN_MS_OBJECT_ACE_TYPE: u32 = 5; +pub const ACCESS_ALLOWED_OBJECT_ACE_TYPE: u32 = 5; +pub const ACCESS_DENIED_OBJECT_ACE_TYPE: u32 = 6; +pub const SYSTEM_AUDIT_OBJECT_ACE_TYPE: u32 = 7; +pub const SYSTEM_ALARM_OBJECT_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_OBJECT_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_V4_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_ACE_TYPE: u32 = 8; +pub const ACCESS_ALLOWED_CALLBACK_ACE_TYPE: u32 = 9; +pub const ACCESS_DENIED_CALLBACK_ACE_TYPE: u32 = 10; +pub const ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: u32 = 11; +pub const ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: u32 = 12; +pub const SYSTEM_AUDIT_CALLBACK_ACE_TYPE: u32 = 13; +pub const SYSTEM_ALARM_CALLBACK_ACE_TYPE: u32 = 14; +pub const SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: u32 = 15; +pub const SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: u32 = 16; +pub const SYSTEM_MANDATORY_LABEL_ACE_TYPE: u32 = 17; +pub const SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE: u32 = 18; +pub const SYSTEM_SCOPED_POLICY_ID_ACE_TYPE: u32 = 19; +pub const SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE: u32 = 20; +pub const SYSTEM_ACCESS_FILTER_ACE_TYPE: u32 = 21; +pub const ACCESS_MAX_MS_V5_ACE_TYPE: u32 = 21; +pub const OBJECT_INHERIT_ACE: u32 = 1; +pub const CONTAINER_INHERIT_ACE: u32 = 2; +pub const NO_PROPAGATE_INHERIT_ACE: u32 = 4; +pub const INHERIT_ONLY_ACE: u32 = 8; +pub const INHERITED_ACE: u32 = 16; +pub const VALID_INHERIT_FLAGS: u32 = 31; +pub const CRITICAL_ACE_FLAG: u32 = 32; +pub const SUCCESSFUL_ACCESS_ACE_FLAG: u32 = 64; +pub const FAILED_ACCESS_ACE_FLAG: u32 = 128; +pub const TRUST_PROTECTED_FILTER_ACE_FLAG: u32 = 64; +pub const SYSTEM_MANDATORY_LABEL_NO_WRITE_UP: u32 = 1; +pub const SYSTEM_MANDATORY_LABEL_NO_READ_UP: u32 = 2; +pub const SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP: u32 = 4; +pub const SYSTEM_MANDATORY_LABEL_VALID_MASK: u32 = 7; +pub const SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK: u32 = 16777215; +pub const SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK: u32 = 4294967295; +pub const SYSTEM_ACCESS_FILTER_VALID_MASK: u32 = 16777215; +pub const SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK: u32 = 4294967295; +pub const ACE_OBJECT_TYPE_PRESENT: u32 = 1; +pub const ACE_INHERITED_OBJECT_TYPE_PRESENT: u32 = 2; +pub const SECURITY_DESCRIPTOR_REVISION: u32 = 1; +pub const SECURITY_DESCRIPTOR_REVISION1: u32 = 1; +pub const SE_OWNER_DEFAULTED: u32 = 1; +pub const SE_GROUP_DEFAULTED: u32 = 2; +pub const SE_DACL_PRESENT: u32 = 4; +pub const SE_DACL_DEFAULTED: u32 = 8; +pub const SE_SACL_PRESENT: u32 = 16; +pub const SE_SACL_DEFAULTED: u32 = 32; +pub const SE_DACL_AUTO_INHERIT_REQ: u32 = 256; +pub const SE_SACL_AUTO_INHERIT_REQ: u32 = 512; +pub const SE_DACL_AUTO_INHERITED: u32 = 1024; +pub const SE_SACL_AUTO_INHERITED: u32 = 2048; +pub const SE_DACL_PROTECTED: u32 = 4096; +pub const SE_SACL_PROTECTED: u32 = 8192; +pub const SE_RM_CONTROL_VALID: u32 = 16384; +pub const SE_SELF_RELATIVE: u32 = 32768; +pub const ACCESS_OBJECT_GUID: u32 = 0; +pub const ACCESS_PROPERTY_SET_GUID: u32 = 1; +pub const ACCESS_PROPERTY_GUID: u32 = 2; +pub const ACCESS_MAX_LEVEL: u32 = 4; +pub const AUDIT_ALLOW_NO_PRIVILEGE: u32 = 1; +pub const ACCESS_DS_SOURCE_A: &[u8; 3usize] = b"DS\0"; +pub const ACCESS_DS_SOURCE_W: &[u8; 3usize] = b"DS\0"; +pub const ACCESS_DS_OBJECT_TYPE_NAME_A: &[u8; 25usize] = b"Directory Service Object\0"; +pub const ACCESS_DS_OBJECT_TYPE_NAME_W: &[u8; 25usize] = b"Directory Service Object\0"; +pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT: u32 = 1; +pub const SE_PRIVILEGE_ENABLED: u32 = 2; +pub const SE_PRIVILEGE_REMOVED: u32 = 4; +pub const SE_PRIVILEGE_USED_FOR_ACCESS: u32 = 2147483648; +pub const SE_PRIVILEGE_VALID_ATTRIBUTES: u32 = 2147483655; +pub const PRIVILEGE_SET_ALL_NECESSARY: u32 = 1; +pub const ACCESS_REASON_TYPE_MASK: u32 = 16711680; +pub const ACCESS_REASON_DATA_MASK: u32 = 65535; +pub const ACCESS_REASON_STAGING_MASK: u32 = 2147483648; +pub const ACCESS_REASON_EXDATA_MASK: u32 = 2130706432; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE: u32 = 1; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE: u32 = 2; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE: u32 = 4; +pub const SE_SECURITY_DESCRIPTOR_VALID_FLAGS: u32 = 7; +pub const SE_ACCESS_CHECK_FLAG_NO_LEARNING_MODE_LOGGING: u32 = 8; +pub const SE_ACCESS_CHECK_VALID_FLAGS: u32 = 8; +pub const SE_ACTIVATE_AS_USER_CAPABILITY: &[u8; 15usize] = b"activateAsUser\0"; +pub const SE_CONSTRAINED_IMPERSONATION_CAPABILITY: &[u8; 25usize] = b"constrainedImpersonation\0"; +pub const SE_SESSION_IMPERSONATION_CAPABILITY: &[u8; 21usize] = b"sessionImpersonation\0"; +pub const SE_MUMA_CAPABILITY: &[u8; 5usize] = b"muma\0"; +pub const SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY: &[u8; 23usize] = b"developmentModeNetwork\0"; +pub const SE_PERMISSIVE_LEARNING_MODE_CAPABILITY: &[u8; 23usize] = b"permissiveLearningMode\0"; +pub const TOKEN_ASSIGN_PRIMARY: u32 = 1; +pub const TOKEN_DUPLICATE: u32 = 2; +pub const TOKEN_IMPERSONATE: u32 = 4; +pub const TOKEN_QUERY: u32 = 8; +pub const TOKEN_QUERY_SOURCE: u32 = 16; +pub const TOKEN_ADJUST_PRIVILEGES: u32 = 32; +pub const TOKEN_ADJUST_GROUPS: u32 = 64; +pub const TOKEN_ADJUST_DEFAULT: u32 = 128; +pub const TOKEN_ADJUST_SESSIONID: u32 = 256; +pub const TOKEN_ALL_ACCESS_P: u32 = 983295; +pub const TOKEN_ALL_ACCESS: u32 = 983551; +pub const TOKEN_READ: u32 = 131080; +pub const TOKEN_WRITE: u32 = 131296; +pub const TOKEN_EXECUTE: u32 = 131072; +pub const TOKEN_TRUST_CONSTRAINT_MASK: u32 = 131096; +pub const TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: u32 = 24; +pub const TOKEN_ACCESS_PSEUDO_HANDLE: u32 = 24; +pub const TOKEN_MANDATORY_POLICY_OFF: u32 = 0; +pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP: u32 = 1; +pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: u32 = 2; +pub const TOKEN_MANDATORY_POLICY_VALID_MASK: u32 = 3; +pub const POLICY_AUDIT_SUBCATEGORY_COUNT: u32 = 59; +pub const TOKEN_SOURCE_LENGTH: u32 = 8; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID: u32 = 0; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: u32 = 2; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: u32 = 3; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: u32 = 4; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: u32 = 5; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: u32 = 6; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: u32 = 16; +pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: u32 = 2; +pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: u32 = 4; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: u32 = 8; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: u32 = 16; +pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: u32 = 32; +pub const CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS: u32 = 63; +pub const CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS: u32 = 4294901760; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION: u32 = 1; +pub const SECURITY_DYNAMIC_TRACKING: u32 = 1; +pub const SECURITY_STATIC_TRACKING: u32 = 0; +pub const DISABLE_MAX_PRIVILEGE: u32 = 1; +pub const SANDBOX_INERT: u32 = 2; +pub const LUA_TOKEN: u32 = 4; +pub const WRITE_RESTRICTED: u32 = 8; +pub const OWNER_SECURITY_INFORMATION: u32 = 1; +pub const GROUP_SECURITY_INFORMATION: u32 = 2; +pub const DACL_SECURITY_INFORMATION: u32 = 4; +pub const SACL_SECURITY_INFORMATION: u32 = 8; +pub const LABEL_SECURITY_INFORMATION: u32 = 16; +pub const ATTRIBUTE_SECURITY_INFORMATION: u32 = 32; +pub const SCOPE_SECURITY_INFORMATION: u32 = 64; +pub const PROCESS_TRUST_LABEL_SECURITY_INFORMATION: u32 = 128; +pub const ACCESS_FILTER_SECURITY_INFORMATION: u32 = 256; +pub const BACKUP_SECURITY_INFORMATION: u32 = 65536; +pub const PROTECTED_DACL_SECURITY_INFORMATION: u32 = 2147483648; +pub const PROTECTED_SACL_SECURITY_INFORMATION: u32 = 1073741824; +pub const UNPROTECTED_DACL_SECURITY_INFORMATION: u32 = 536870912; +pub const UNPROTECTED_SACL_SECURITY_INFORMATION: u32 = 268435456; +pub const SE_SIGNING_LEVEL_UNCHECKED: u32 = 0; +pub const SE_SIGNING_LEVEL_UNSIGNED: u32 = 1; +pub const SE_SIGNING_LEVEL_ENTERPRISE: u32 = 2; +pub const SE_SIGNING_LEVEL_CUSTOM_1: u32 = 3; +pub const SE_SIGNING_LEVEL_DEVELOPER: u32 = 3; +pub const SE_SIGNING_LEVEL_AUTHENTICODE: u32 = 4; +pub const SE_SIGNING_LEVEL_CUSTOM_2: u32 = 5; +pub const SE_SIGNING_LEVEL_STORE: u32 = 6; +pub const SE_SIGNING_LEVEL_CUSTOM_3: u32 = 7; +pub const SE_SIGNING_LEVEL_ANTIMALWARE: u32 = 7; +pub const SE_SIGNING_LEVEL_MICROSOFT: u32 = 8; +pub const SE_SIGNING_LEVEL_CUSTOM_4: u32 = 9; +pub const SE_SIGNING_LEVEL_CUSTOM_5: u32 = 10; +pub const SE_SIGNING_LEVEL_DYNAMIC_CODEGEN: u32 = 11; +pub const SE_SIGNING_LEVEL_WINDOWS: u32 = 12; +pub const SE_SIGNING_LEVEL_CUSTOM_7: u32 = 13; +pub const SE_SIGNING_LEVEL_WINDOWS_TCB: u32 = 14; +pub const SE_SIGNING_LEVEL_CUSTOM_6: u32 = 15; +pub const SE_LEARNING_MODE_FLAG_PERMISSIVE: u32 = 1; +pub const PROCESS_TERMINATE: u32 = 1; +pub const PROCESS_CREATE_THREAD: u32 = 2; +pub const PROCESS_SET_SESSIONID: u32 = 4; +pub const PROCESS_VM_OPERATION: u32 = 8; +pub const PROCESS_VM_READ: u32 = 16; +pub const PROCESS_VM_WRITE: u32 = 32; +pub const PROCESS_DUP_HANDLE: u32 = 64; +pub const PROCESS_CREATE_PROCESS: u32 = 128; +pub const PROCESS_SET_QUOTA: u32 = 256; +pub const PROCESS_SET_INFORMATION: u32 = 512; +pub const PROCESS_QUERY_INFORMATION: u32 = 1024; +pub const PROCESS_SUSPEND_RESUME: u32 = 2048; +pub const PROCESS_QUERY_LIMITED_INFORMATION: u32 = 4096; +pub const PROCESS_SET_LIMITED_INFORMATION: u32 = 8192; +pub const PROCESS_ALL_ACCESS: u32 = 2097151; +pub const THREAD_TERMINATE: u32 = 1; +pub const THREAD_SUSPEND_RESUME: u32 = 2; +pub const THREAD_GET_CONTEXT: u32 = 8; +pub const THREAD_SET_CONTEXT: u32 = 16; +pub const THREAD_QUERY_INFORMATION: u32 = 64; +pub const THREAD_SET_INFORMATION: u32 = 32; +pub const THREAD_SET_THREAD_TOKEN: u32 = 128; +pub const THREAD_IMPERSONATE: u32 = 256; +pub const THREAD_DIRECT_IMPERSONATION: u32 = 512; +pub const THREAD_SET_LIMITED_INFORMATION: u32 = 1024; +pub const THREAD_QUERY_LIMITED_INFORMATION: u32 = 2048; +pub const THREAD_RESUME: u32 = 4096; +pub const THREAD_ALL_ACCESS: u32 = 2097151; +pub const JOB_OBJECT_ASSIGN_PROCESS: u32 = 1; +pub const JOB_OBJECT_SET_ATTRIBUTES: u32 = 2; +pub const JOB_OBJECT_QUERY: u32 = 4; +pub const JOB_OBJECT_TERMINATE: u32 = 8; +pub const JOB_OBJECT_SET_SECURITY_ATTRIBUTES: u32 = 16; +pub const JOB_OBJECT_IMPERSONATE: u32 = 32; +pub const JOB_OBJECT_ALL_ACCESS: u32 = 2031679; +pub const FLS_MAXIMUM_AVAILABLE: u32 = 4080; +pub const TLS_MINIMUM_AVAILABLE: u32 = 64; +pub const THREAD_DYNAMIC_CODE_ALLOW: u32 = 1; +pub const THREAD_BASE_PRIORITY_LOWRT: u32 = 15; +pub const THREAD_BASE_PRIORITY_MAX: u32 = 2; +pub const THREAD_BASE_PRIORITY_MIN: i32 = -2; +pub const THREAD_BASE_PRIORITY_IDLE: i32 = -15; +pub const COMPONENT_KTM: u32 = 1; +pub const COMPONENT_VALID_FLAGS: u32 = 1; +pub const MEMORY_PRIORITY_LOWEST: u32 = 0; +pub const MEMORY_PRIORITY_VERY_LOW: u32 = 1; +pub const MEMORY_PRIORITY_LOW: u32 = 2; +pub const MEMORY_PRIORITY_MEDIUM: u32 = 3; +pub const MEMORY_PRIORITY_BELOW_NORMAL: u32 = 4; +pub const MEMORY_PRIORITY_NORMAL: u32 = 5; +pub const DYNAMIC_EH_CONTINUATION_TARGET_ADD: u32 = 1; +pub const DYNAMIC_EH_CONTINUATION_TARGET_PROCESSED: u32 = 2; +pub const DYNAMIC_ENFORCED_ADDRESS_RANGE_ADD: u32 = 1; +pub const DYNAMIC_ENFORCED_ADDRESS_RANGE_PROCESSED: u32 = 2; +pub const QUOTA_LIMITS_HARDWS_MIN_ENABLE: u32 = 1; +pub const QUOTA_LIMITS_HARDWS_MIN_DISABLE: u32 = 2; +pub const QUOTA_LIMITS_HARDWS_MAX_ENABLE: u32 = 4; +pub const QUOTA_LIMITS_HARDWS_MAX_DISABLE: u32 = 8; +pub const QUOTA_LIMITS_USE_DEFAULT_LIMITS: u32 = 16; +pub const MAX_HW_COUNTERS: u32 = 16; +pub const THREAD_PROFILING_FLAG_DISPATCH: u32 = 1; +pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_DSCP_TAG: u32 = 64; +pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: u32 = 0; +pub const JOB_OBJECT_POST_AT_END_OF_JOB: u32 = 1; +pub const JOB_OBJECT_MSG_END_OF_JOB_TIME: u32 = 1; +pub const JOB_OBJECT_MSG_END_OF_PROCESS_TIME: u32 = 2; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: u32 = 3; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: u32 = 4; +pub const JOB_OBJECT_MSG_NEW_PROCESS: u32 = 6; +pub const JOB_OBJECT_MSG_EXIT_PROCESS: u32 = 7; +pub const JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: u32 = 8; +pub const JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: u32 = 9; +pub const JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: u32 = 10; +pub const JOB_OBJECT_MSG_NOTIFICATION_LIMIT: u32 = 11; +pub const JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT: u32 = 12; +pub const JOB_OBJECT_MSG_SILO_TERMINATED: u32 = 13; +pub const JOB_OBJECT_MSG_MINIMUM: u32 = 1; +pub const JOB_OBJECT_MSG_MAXIMUM: u32 = 13; +pub const JOB_OBJECT_VALID_COMPLETION_FILTER: u32 = 16382; +pub const JOB_OBJECT_LIMIT_WORKINGSET: u32 = 1; +pub const JOB_OBJECT_LIMIT_PROCESS_TIME: u32 = 2; +pub const JOB_OBJECT_LIMIT_JOB_TIME: u32 = 4; +pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: u32 = 8; +pub const JOB_OBJECT_LIMIT_AFFINITY: u32 = 16; +pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: u32 = 32; +pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: u32 = 64; +pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: u32 = 128; +pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: u32 = 256; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY: u32 = 512; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: u32 = 512; +pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: u32 = 1024; +pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: u32 = 2048; +pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: u32 = 4096; +pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: u32 = 8192; +pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: u32 = 16384; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: u32 = 32768; +pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: u32 = 65536; +pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: u32 = 131072; +pub const JOB_OBJECT_LIMIT_RATE_CONTROL: u32 = 262144; +pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: u32 = 262144; +pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: u32 = 524288; +pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: u32 = 1048576; +pub const JOB_OBJECT_LIMIT_VALID_FLAGS: u32 = 524287; +pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: u32 = 255; +pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: u32 = 32767; +pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: u32 = 2064900; +pub const JOB_OBJECT_UILIMIT_NONE: u32 = 0; +pub const JOB_OBJECT_UILIMIT_HANDLES: u32 = 1; +pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: u32 = 2; +pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: u32 = 4; +pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: u32 = 8; +pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: u32 = 16; +pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: u32 = 32; +pub const JOB_OBJECT_UILIMIT_DESKTOP: u32 = 64; +pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: u32 = 128; +pub const JOB_OBJECT_UILIMIT_ALL: u32 = 255; +pub const JOB_OBJECT_UI_VALID_FLAGS: u32 = 255; +pub const JOB_OBJECT_SECURITY_NO_ADMIN: u32 = 1; +pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: u32 = 2; +pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: u32 = 4; +pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: u32 = 8; +pub const JOB_OBJECT_SECURITY_VALID_FLAGS: u32 = 15; +pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: u32 = 1; +pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: u32 = 2; +pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: u32 = 4; +pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: u32 = 8; +pub const JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE: u32 = 16; +pub const JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS: u32 = 31; +pub const MEMORY_PARTITION_QUERY_ACCESS: u32 = 1; +pub const MEMORY_PARTITION_MODIFY_ACCESS: u32 = 2; +pub const MEMORY_PARTITION_ALL_ACCESS: u32 = 2031619; +pub const EVENT_MODIFY_STATE: u32 = 2; +pub const EVENT_ALL_ACCESS: u32 = 2031619; +pub const MUTANT_QUERY_STATE: u32 = 1; +pub const MUTANT_ALL_ACCESS: u32 = 2031617; +pub const SEMAPHORE_MODIFY_STATE: u32 = 2; +pub const SEMAPHORE_ALL_ACCESS: u32 = 2031619; +pub const TIMER_QUERY_STATE: u32 = 1; +pub const TIMER_MODIFY_STATE: u32 = 2; +pub const TIMER_ALL_ACCESS: u32 = 2031619; +pub const TIME_ZONE_ID_UNKNOWN: u32 = 0; +pub const TIME_ZONE_ID_STANDARD: u32 = 1; +pub const TIME_ZONE_ID_DAYLIGHT: u32 = 2; +pub const LTP_PC_SMT: u32 = 1; +pub const CACHE_FULLY_ASSOCIATIVE: u32 = 255; +pub const SYSTEM_CPU_SET_INFORMATION_PARKED: u32 = 1; +pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED: u32 = 2; +pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS: u32 = 4; +pub const SYSTEM_CPU_SET_INFORMATION_REALTIME: u32 = 8; +pub const PROCESSOR_INTEL_386: u32 = 386; +pub const PROCESSOR_INTEL_486: u32 = 486; +pub const PROCESSOR_INTEL_PENTIUM: u32 = 586; +pub const PROCESSOR_INTEL_IA64: u32 = 2200; +pub const PROCESSOR_AMD_X8664: u32 = 8664; +pub const PROCESSOR_MIPS_R4000: u32 = 4000; +pub const PROCESSOR_ALPHA_21064: u32 = 21064; +pub const PROCESSOR_PPC_601: u32 = 601; +pub const PROCESSOR_PPC_603: u32 = 603; +pub const PROCESSOR_PPC_604: u32 = 604; +pub const PROCESSOR_PPC_620: u32 = 620; +pub const PROCESSOR_HITACHI_SH3: u32 = 10003; +pub const PROCESSOR_HITACHI_SH3E: u32 = 10004; +pub const PROCESSOR_HITACHI_SH4: u32 = 10005; +pub const PROCESSOR_MOTOROLA_821: u32 = 821; +pub const PROCESSOR_SHx_SH3: u32 = 103; +pub const PROCESSOR_SHx_SH4: u32 = 104; +pub const PROCESSOR_STRONGARM: u32 = 2577; +pub const PROCESSOR_ARM720: u32 = 1824; +pub const PROCESSOR_ARM820: u32 = 2080; +pub const PROCESSOR_ARM920: u32 = 2336; +pub const PROCESSOR_ARM_7TDMI: u32 = 70001; +pub const PROCESSOR_OPTIL: u32 = 18767; +pub const PROCESSOR_ARCHITECTURE_INTEL: u32 = 0; +pub const PROCESSOR_ARCHITECTURE_MIPS: u32 = 1; +pub const PROCESSOR_ARCHITECTURE_ALPHA: u32 = 2; +pub const PROCESSOR_ARCHITECTURE_PPC: u32 = 3; +pub const PROCESSOR_ARCHITECTURE_SHX: u32 = 4; +pub const PROCESSOR_ARCHITECTURE_ARM: u32 = 5; +pub const PROCESSOR_ARCHITECTURE_IA64: u32 = 6; +pub const PROCESSOR_ARCHITECTURE_ALPHA64: u32 = 7; +pub const PROCESSOR_ARCHITECTURE_MSIL: u32 = 8; +pub const PROCESSOR_ARCHITECTURE_AMD64: u32 = 9; +pub const PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: u32 = 10; +pub const PROCESSOR_ARCHITECTURE_NEUTRAL: u32 = 11; +pub const PROCESSOR_ARCHITECTURE_ARM64: u32 = 12; +pub const PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64: u32 = 13; +pub const PROCESSOR_ARCHITECTURE_IA32_ON_ARM64: u32 = 14; +pub const PROCESSOR_ARCHITECTURE_UNKNOWN: u32 = 65535; +pub const PF_FLOATING_POINT_PRECISION_ERRATA: u32 = 0; +pub const PF_FLOATING_POINT_EMULATED: u32 = 1; +pub const PF_COMPARE_EXCHANGE_DOUBLE: u32 = 2; +pub const PF_MMX_INSTRUCTIONS_AVAILABLE: u32 = 3; +pub const PF_PPC_MOVEMEM_64BIT_OK: u32 = 4; +pub const PF_ALPHA_BYTE_INSTRUCTIONS: u32 = 5; +pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: u32 = 6; +pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: u32 = 7; +pub const PF_RDTSC_INSTRUCTION_AVAILABLE: u32 = 8; +pub const PF_PAE_ENABLED: u32 = 9; +pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: u32 = 10; +pub const PF_SSE_DAZ_MODE_AVAILABLE: u32 = 11; +pub const PF_NX_ENABLED: u32 = 12; +pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: u32 = 13; +pub const PF_COMPARE_EXCHANGE128: u32 = 14; +pub const PF_COMPARE64_EXCHANGE128: u32 = 15; +pub const PF_CHANNELS_ENABLED: u32 = 16; +pub const PF_XSAVE_ENABLED: u32 = 17; +pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: u32 = 18; +pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: u32 = 19; +pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: u32 = 20; +pub const PF_VIRT_FIRMWARE_ENABLED: u32 = 21; +pub const PF_RDWRFSGSBASE_AVAILABLE: u32 = 22; +pub const PF_FASTFAIL_AVAILABLE: u32 = 23; +pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: u32 = 24; +pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: u32 = 25; +pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: u32 = 26; +pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: u32 = 27; +pub const PF_RDRAND_INSTRUCTION_AVAILABLE: u32 = 28; +pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: u32 = 29; +pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: u32 = 30; +pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: u32 = 31; +pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: u32 = 32; +pub const PF_RDPID_INSTRUCTION_AVAILABLE: u32 = 33; +pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: u32 = 34; +pub const PF_MONITORX_INSTRUCTION_AVAILABLE: u32 = 35; +pub const PF_SSSE3_INSTRUCTIONS_AVAILABLE: u32 = 36; +pub const PF_SSE4_1_INSTRUCTIONS_AVAILABLE: u32 = 37; +pub const PF_SSE4_2_INSTRUCTIONS_AVAILABLE: u32 = 38; +pub const PF_AVX_INSTRUCTIONS_AVAILABLE: u32 = 39; +pub const PF_AVX2_INSTRUCTIONS_AVAILABLE: u32 = 40; +pub const PF_AVX512F_INSTRUCTIONS_AVAILABLE: u32 = 41; +pub const PF_ERMS_AVAILABLE: u32 = 42; +pub const PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE: u32 = 43; +pub const PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE: u32 = 44; +pub const XSTATE_LEGACY_FLOATING_POINT: u32 = 0; +pub const XSTATE_LEGACY_SSE: u32 = 1; +pub const XSTATE_GSSE: u32 = 2; +pub const XSTATE_AVX: u32 = 2; +pub const XSTATE_MPX_BNDREGS: u32 = 3; +pub const XSTATE_MPX_BNDCSR: u32 = 4; +pub const XSTATE_AVX512_KMASK: u32 = 5; +pub const XSTATE_AVX512_ZMM_H: u32 = 6; +pub const XSTATE_AVX512_ZMM: u32 = 7; +pub const XSTATE_IPT: u32 = 8; +pub const XSTATE_PASID: u32 = 10; +pub const XSTATE_CET_U: u32 = 11; +pub const XSTATE_CET_S: u32 = 12; +pub const XSTATE_AMX_TILE_CONFIG: u32 = 17; +pub const XSTATE_AMX_TILE_DATA: u32 = 18; +pub const XSTATE_LWP: u32 = 62; +pub const MAXIMUM_XSTATE_FEATURES: u32 = 64; +pub const XSTATE_COMPACTION_ENABLE: u32 = 63; +pub const XSTATE_ALIGN_BIT: u32 = 1; +pub const XSTATE_XFD_BIT: u32 = 2; +pub const XSTATE_CONTROLFLAG_XSAVEOPT_MASK: u32 = 1; +pub const XSTATE_CONTROLFLAG_XSAVEC_MASK: u32 = 2; +pub const XSTATE_CONTROLFLAG_XFD_MASK: u32 = 4; +pub const XSTATE_CONTROLFLAG_VALID_MASK: u32 = 7; +pub const CFG_CALL_TARGET_VALID: u32 = 1; +pub const CFG_CALL_TARGET_PROCESSED: u32 = 2; +pub const CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID: u32 = 4; +pub const CFG_CALL_TARGET_VALID_XFG: u32 = 8; +pub const CFG_CALL_TARGET_CONVERT_XFG_TO_CFG: u32 = 16; +pub const SECTION_QUERY: u32 = 1; +pub const SECTION_MAP_WRITE: u32 = 2; +pub const SECTION_MAP_READ: u32 = 4; +pub const SECTION_MAP_EXECUTE: u32 = 8; +pub const SECTION_EXTEND_SIZE: u32 = 16; +pub const SECTION_MAP_EXECUTE_EXPLICIT: u32 = 32; +pub const SECTION_ALL_ACCESS: u32 = 983071; +pub const SESSION_QUERY_ACCESS: u32 = 1; +pub const SESSION_MODIFY_ACCESS: u32 = 2; +pub const SESSION_ALL_ACCESS: u32 = 983043; +pub const PAGE_NOACCESS: u32 = 1; +pub const PAGE_READONLY: u32 = 2; +pub const PAGE_READWRITE: u32 = 4; +pub const PAGE_WRITECOPY: u32 = 8; +pub const PAGE_EXECUTE: u32 = 16; +pub const PAGE_EXECUTE_READ: u32 = 32; +pub const PAGE_EXECUTE_READWRITE: u32 = 64; +pub const PAGE_EXECUTE_WRITECOPY: u32 = 128; +pub const PAGE_GUARD: u32 = 256; +pub const PAGE_NOCACHE: u32 = 512; +pub const PAGE_WRITECOMBINE: u32 = 1024; +pub const PAGE_GRAPHICS_NOACCESS: u32 = 2048; +pub const PAGE_GRAPHICS_READONLY: u32 = 4096; +pub const PAGE_GRAPHICS_READWRITE: u32 = 8192; +pub const PAGE_GRAPHICS_EXECUTE: u32 = 16384; +pub const PAGE_GRAPHICS_EXECUTE_READ: u32 = 32768; +pub const PAGE_GRAPHICS_EXECUTE_READWRITE: u32 = 65536; +pub const PAGE_GRAPHICS_COHERENT: u32 = 131072; +pub const PAGE_GRAPHICS_NOCACHE: u32 = 262144; +pub const PAGE_ENCLAVE_THREAD_CONTROL: u32 = 2147483648; +pub const PAGE_REVERT_TO_FILE_MAP: u32 = 2147483648; +pub const PAGE_TARGETS_NO_UPDATE: u32 = 1073741824; +pub const PAGE_TARGETS_INVALID: u32 = 1073741824; +pub const PAGE_ENCLAVE_UNVALIDATED: u32 = 536870912; +pub const PAGE_ENCLAVE_MASK: u32 = 268435456; +pub const PAGE_ENCLAVE_DECOMMIT: u32 = 268435456; +pub const PAGE_ENCLAVE_SS_FIRST: u32 = 268435457; +pub const PAGE_ENCLAVE_SS_REST: u32 = 268435458; +pub const MEM_COMMIT: u32 = 4096; +pub const MEM_RESERVE: u32 = 8192; +pub const MEM_REPLACE_PLACEHOLDER: u32 = 16384; +pub const MEM_RESERVE_PLACEHOLDER: u32 = 262144; +pub const MEM_RESET: u32 = 524288; +pub const MEM_TOP_DOWN: u32 = 1048576; +pub const MEM_WRITE_WATCH: u32 = 2097152; +pub const MEM_PHYSICAL: u32 = 4194304; +pub const MEM_ROTATE: u32 = 8388608; +pub const MEM_DIFFERENT_IMAGE_BASE_OK: u32 = 8388608; +pub const MEM_RESET_UNDO: u32 = 16777216; +pub const MEM_LARGE_PAGES: u32 = 536870912; +pub const MEM_4MB_PAGES: u32 = 2147483648; +pub const MEM_64K_PAGES: u32 = 541065216; +pub const MEM_UNMAP_WITH_TRANSIENT_BOOST: u32 = 1; +pub const MEM_COALESCE_PLACEHOLDERS: u32 = 1; +pub const MEM_PRESERVE_PLACEHOLDER: u32 = 2; +pub const MEM_DECOMMIT: u32 = 16384; +pub const MEM_RELEASE: u32 = 32768; +pub const MEM_FREE: u32 = 65536; +pub const MEM_EXTENDED_PARAMETER_GRAPHICS: u32 = 1; +pub const MEM_EXTENDED_PARAMETER_NONPAGED: u32 = 2; +pub const MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL: u32 = 4; +pub const MEM_EXTENDED_PARAMETER_NONPAGED_LARGE: u32 = 8; +pub const MEM_EXTENDED_PARAMETER_NONPAGED_HUGE: u32 = 16; +pub const MEM_EXTENDED_PARAMETER_SOFT_FAULT_PAGES: u32 = 32; +pub const MEM_EXTENDED_PARAMETER_EC_CODE: u32 = 64; +pub const MEM_EXTENDED_PARAMETER_TYPE_BITS: u32 = 8; +pub const SEC_HUGE_PAGES: u32 = 131072; +pub const SEC_PARTITION_OWNER_HANDLE: u32 = 262144; +pub const SEC_64K_PAGES: u32 = 524288; +pub const SEC_FILE: u32 = 8388608; +pub const SEC_IMAGE: u32 = 16777216; +pub const SEC_PROTECTED_IMAGE: u32 = 33554432; +pub const SEC_RESERVE: u32 = 67108864; +pub const SEC_COMMIT: u32 = 134217728; +pub const SEC_NOCACHE: u32 = 268435456; +pub const SEC_WRITECOMBINE: u32 = 1073741824; +pub const SEC_LARGE_PAGES: u32 = 2147483648; +pub const SEC_IMAGE_NO_EXECUTE: u32 = 285212672; +pub const MEM_PRIVATE: u32 = 131072; +pub const MEM_MAPPED: u32 = 262144; +pub const MEM_IMAGE: u32 = 16777216; +pub const WRITE_WATCH_FLAG_RESET: u32 = 1; +pub const ENCLAVE_TYPE_SGX: u32 = 1; +pub const ENCLAVE_TYPE_SGX2: u32 = 2; +pub const ENCLAVE_TYPE_VBS: u32 = 16; +pub const ENCLAVE_VBS_FLAG_DEBUG: u32 = 1; +pub const ENCLAVE_TYPE_VBS_BASIC: u32 = 17; +pub const VBS_BASIC_PAGE_MEASURED_DATA: u32 = 1; +pub const VBS_BASIC_PAGE_UNMEASURED_DATA: u32 = 2; +pub const VBS_BASIC_PAGE_ZERO_FILL: u32 = 3; +pub const VBS_BASIC_PAGE_THREAD_DESCRIPTOR: u32 = 4; +pub const VBS_BASIC_PAGE_SYSTEM_CALL: u32 = 5; +pub const DEDICATED_MEMORY_CACHE_ELIGIBLE: u32 = 1; +pub const FILE_READ_DATA: u32 = 1; +pub const FILE_LIST_DIRECTORY: u32 = 1; +pub const FILE_WRITE_DATA: u32 = 2; +pub const FILE_ADD_FILE: u32 = 2; +pub const FILE_APPEND_DATA: u32 = 4; +pub const FILE_ADD_SUBDIRECTORY: u32 = 4; +pub const FILE_CREATE_PIPE_INSTANCE: u32 = 4; +pub const FILE_READ_EA: u32 = 8; +pub const FILE_WRITE_EA: u32 = 16; +pub const FILE_EXECUTE: u32 = 32; +pub const FILE_TRAVERSE: u32 = 32; +pub const FILE_DELETE_CHILD: u32 = 64; +pub const FILE_READ_ATTRIBUTES: u32 = 128; +pub const FILE_WRITE_ATTRIBUTES: u32 = 256; +pub const FILE_ALL_ACCESS: u32 = 2032127; +pub const FILE_GENERIC_READ: u32 = 1179785; +pub const FILE_GENERIC_WRITE: u32 = 1179926; +pub const FILE_GENERIC_EXECUTE: u32 = 1179808; +pub const FILE_SHARE_READ: u32 = 1; +pub const FILE_SHARE_WRITE: u32 = 2; +pub const FILE_SHARE_DELETE: u32 = 4; +pub const FILE_ATTRIBUTE_READONLY: u32 = 1; +pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2; +pub const FILE_ATTRIBUTE_SYSTEM: u32 = 4; +pub const FILE_ATTRIBUTE_DIRECTORY: u32 = 16; +pub const FILE_ATTRIBUTE_ARCHIVE: u32 = 32; +pub const FILE_ATTRIBUTE_DEVICE: u32 = 64; +pub const FILE_ATTRIBUTE_NORMAL: u32 = 128; +pub const FILE_ATTRIBUTE_TEMPORARY: u32 = 256; +pub const FILE_ATTRIBUTE_SPARSE_FILE: u32 = 512; +pub const FILE_ATTRIBUTE_REPARSE_POINT: u32 = 1024; +pub const FILE_ATTRIBUTE_COMPRESSED: u32 = 2048; +pub const FILE_ATTRIBUTE_OFFLINE: u32 = 4096; +pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 = 8192; +pub const FILE_ATTRIBUTE_ENCRYPTED: u32 = 16384; +pub const FILE_ATTRIBUTE_INTEGRITY_STREAM: u32 = 32768; +pub const FILE_ATTRIBUTE_VIRTUAL: u32 = 65536; +pub const FILE_ATTRIBUTE_NO_SCRUB_DATA: u32 = 131072; +pub const FILE_ATTRIBUTE_EA: u32 = 262144; +pub const FILE_ATTRIBUTE_PINNED: u32 = 524288; +pub const FILE_ATTRIBUTE_UNPINNED: u32 = 1048576; +pub const FILE_ATTRIBUTE_RECALL_ON_OPEN: u32 = 262144; +pub const FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS: u32 = 4194304; +pub const TREE_CONNECT_ATTRIBUTE_PRIVACY: u32 = 16384; +pub const TREE_CONNECT_ATTRIBUTE_INTEGRITY: u32 = 32768; +pub const TREE_CONNECT_ATTRIBUTE_GLOBAL: u32 = 4; +pub const TREE_CONNECT_ATTRIBUTE_PINNED: u32 = 2; +pub const FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL: u32 = 536870912; +pub const FILE_NOTIFY_CHANGE_FILE_NAME: u32 = 1; +pub const FILE_NOTIFY_CHANGE_DIR_NAME: u32 = 2; +pub const FILE_NOTIFY_CHANGE_ATTRIBUTES: u32 = 4; +pub const FILE_NOTIFY_CHANGE_SIZE: u32 = 8; +pub const FILE_NOTIFY_CHANGE_LAST_WRITE: u32 = 16; +pub const FILE_NOTIFY_CHANGE_LAST_ACCESS: u32 = 32; +pub const FILE_NOTIFY_CHANGE_CREATION: u32 = 64; +pub const FILE_NOTIFY_CHANGE_SECURITY: u32 = 256; +pub const FILE_ACTION_ADDED: u32 = 1; +pub const FILE_ACTION_REMOVED: u32 = 2; +pub const FILE_ACTION_MODIFIED: u32 = 3; +pub const FILE_ACTION_RENAMED_OLD_NAME: u32 = 4; +pub const FILE_ACTION_RENAMED_NEW_NAME: u32 = 5; +pub const FILE_CASE_SENSITIVE_SEARCH: u32 = 1; +pub const FILE_CASE_PRESERVED_NAMES: u32 = 2; +pub const FILE_UNICODE_ON_DISK: u32 = 4; +pub const FILE_PERSISTENT_ACLS: u32 = 8; +pub const FILE_FILE_COMPRESSION: u32 = 16; +pub const FILE_VOLUME_QUOTAS: u32 = 32; +pub const FILE_SUPPORTS_SPARSE_FILES: u32 = 64; +pub const FILE_SUPPORTS_REPARSE_POINTS: u32 = 128; +pub const FILE_SUPPORTS_REMOTE_STORAGE: u32 = 256; +pub const FILE_RETURNS_CLEANUP_RESULT_INFO: u32 = 512; +pub const FILE_SUPPORTS_POSIX_UNLINK_RENAME: u32 = 1024; +pub const FILE_SUPPORTS_BYPASS_IO: u32 = 2048; +pub const FILE_VOLUME_IS_COMPRESSED: u32 = 32768; +pub const FILE_SUPPORTS_OBJECT_IDS: u32 = 65536; +pub const FILE_SUPPORTS_ENCRYPTION: u32 = 131072; +pub const FILE_NAMED_STREAMS: u32 = 262144; +pub const FILE_READ_ONLY_VOLUME: u32 = 524288; +pub const FILE_SEQUENTIAL_WRITE_ONCE: u32 = 1048576; +pub const FILE_SUPPORTS_TRANSACTIONS: u32 = 2097152; +pub const FILE_SUPPORTS_HARD_LINKS: u32 = 4194304; +pub const FILE_SUPPORTS_EXTENDED_ATTRIBUTES: u32 = 8388608; +pub const FILE_SUPPORTS_OPEN_BY_FILE_ID: u32 = 16777216; +pub const FILE_SUPPORTS_USN_JOURNAL: u32 = 33554432; +pub const FILE_SUPPORTS_INTEGRITY_STREAMS: u32 = 67108864; +pub const FILE_SUPPORTS_BLOCK_REFCOUNTING: u32 = 134217728; +pub const FILE_SUPPORTS_SPARSE_VDL: u32 = 268435456; +pub const FILE_DAX_VOLUME: u32 = 536870912; +pub const FILE_SUPPORTS_GHOSTING: u32 = 1073741824; +pub const FILE_CS_FLAG_CASE_SENSITIVE_DIR: u32 = 1; +pub const FLUSH_FLAGS_FILE_DATA_ONLY: u32 = 1; +pub const FLUSH_FLAGS_NO_SYNC: u32 = 2; +pub const FLUSH_FLAGS_FILE_DATA_SYNC_ONLY: u32 = 4; +pub const MAXIMUM_REPARSE_DATA_BUFFER_SIZE: u32 = 16384; +pub const IO_REPARSE_TAG_RESERVED_ZERO: u32 = 0; +pub const IO_REPARSE_TAG_RESERVED_ONE: u32 = 1; +pub const IO_REPARSE_TAG_RESERVED_TWO: u32 = 2; +pub const IO_REPARSE_TAG_RESERVED_RANGE: u32 = 2; +pub const IO_REPARSE_TAG_MOUNT_POINT: u32 = 2684354563; +pub const IO_REPARSE_TAG_HSM: u32 = 3221225476; +pub const IO_REPARSE_TAG_HSM2: u32 = 2147483654; +pub const IO_REPARSE_TAG_SIS: u32 = 2147483655; +pub const IO_REPARSE_TAG_WIM: u32 = 2147483656; +pub const IO_REPARSE_TAG_CSV: u32 = 2147483657; +pub const IO_REPARSE_TAG_DFS: u32 = 2147483658; +pub const IO_REPARSE_TAG_SYMLINK: u32 = 2684354572; +pub const IO_REPARSE_TAG_DFSR: u32 = 2147483666; +pub const IO_REPARSE_TAG_DEDUP: u32 = 2147483667; +pub const IO_REPARSE_TAG_NFS: u32 = 2147483668; +pub const IO_REPARSE_TAG_FILE_PLACEHOLDER: u32 = 2147483669; +pub const IO_REPARSE_TAG_WOF: u32 = 2147483671; +pub const IO_REPARSE_TAG_WCI: u32 = 2147483672; +pub const IO_REPARSE_TAG_WCI_1: u32 = 2415923224; +pub const IO_REPARSE_TAG_GLOBAL_REPARSE: u32 = 2684354585; +pub const IO_REPARSE_TAG_CLOUD: u32 = 2415919130; +pub const IO_REPARSE_TAG_CLOUD_1: u32 = 2415923226; +pub const IO_REPARSE_TAG_CLOUD_2: u32 = 2415927322; +pub const IO_REPARSE_TAG_CLOUD_3: u32 = 2415931418; +pub const IO_REPARSE_TAG_CLOUD_4: u32 = 2415935514; +pub const IO_REPARSE_TAG_CLOUD_5: u32 = 2415939610; +pub const IO_REPARSE_TAG_CLOUD_6: u32 = 2415943706; +pub const IO_REPARSE_TAG_CLOUD_7: u32 = 2415947802; +pub const IO_REPARSE_TAG_CLOUD_8: u32 = 2415951898; +pub const IO_REPARSE_TAG_CLOUD_9: u32 = 2415955994; +pub const IO_REPARSE_TAG_CLOUD_A: u32 = 2415960090; +pub const IO_REPARSE_TAG_CLOUD_B: u32 = 2415964186; +pub const IO_REPARSE_TAG_CLOUD_C: u32 = 2415968282; +pub const IO_REPARSE_TAG_CLOUD_D: u32 = 2415972378; +pub const IO_REPARSE_TAG_CLOUD_E: u32 = 2415976474; +pub const IO_REPARSE_TAG_CLOUD_F: u32 = 2415980570; +pub const IO_REPARSE_TAG_CLOUD_MASK: u32 = 61440; +pub const IO_REPARSE_TAG_APPEXECLINK: u32 = 2147483675; +pub const IO_REPARSE_TAG_PROJFS: u32 = 2415919132; +pub const IO_REPARSE_TAG_STORAGE_SYNC: u32 = 2147483678; +pub const IO_REPARSE_TAG_WCI_TOMBSTONE: u32 = 2684354591; +pub const IO_REPARSE_TAG_UNHANDLED: u32 = 2147483680; +pub const IO_REPARSE_TAG_ONEDRIVE: u32 = 2147483681; +pub const IO_REPARSE_TAG_PROJFS_TOMBSTONE: u32 = 2684354594; +pub const IO_REPARSE_TAG_AF_UNIX: u32 = 2147483683; +pub const IO_REPARSE_TAG_WCI_LINK: u32 = 2684354599; +pub const IO_REPARSE_TAG_WCI_LINK_1: u32 = 2684358695; +pub const IO_REPARSE_TAG_DATALESS_CIM: u32 = 2684354600; +pub const SCRUB_DATA_INPUT_FLAG_RESUME: u32 = 1; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_IN_SYNC: u32 = 2; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_NON_INTEGRITY_DATA: u32 = 4; +pub const SCRUB_DATA_INPUT_FLAG_IGNORE_REDUNDANCY: u32 = 8; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_DATA: u32 = 16; +pub const SCRUB_DATA_INPUT_FLAG_SCRUB_BY_OBJECT_ID: u32 = 32; +pub const SCRUB_DATA_INPUT_FLAG_OPLOCK_NOT_ACQUIRED: u32 = 64; +pub const SCRUB_DATA_OUTPUT_FLAG_INCOMPLETE: u32 = 1; +pub const SCRUB_DATA_OUTPUT_FLAG_NON_USER_DATA_RANGE: u32 = 65536; +pub const SCRUB_DATA_OUTPUT_FLAG_PARITY_EXTENT_DATA_RETURNED: u32 = 131072; +pub const SCRUB_DATA_OUTPUT_FLAG_RESUME_CONTEXT_LENGTH_SPECIFIED: u32 = 262144; +pub const SHUFFLE_FILE_FLAG_SKIP_INITIALIZING_NEW_CLUSTERS: u32 = 1; +pub const IO_COMPLETION_MODIFY_STATE: u32 = 2; +pub const IO_COMPLETION_ALL_ACCESS: u32 = 2031619; +pub const IO_QOS_MAX_RESERVATION: u32 = 1000000000; +pub const SMB_CCF_APP_INSTANCE_EA_NAME: &[u8; 29usize] = b"ClusteredApplicationInstance\0"; +pub const NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR: u32 = 1; +pub const DUPLICATE_CLOSE_SOURCE: u32 = 1; +pub const DUPLICATE_SAME_ACCESS: u32 = 2; +pub const POWERBUTTON_ACTION_INDEX_NOTHING: u32 = 0; +pub const POWERBUTTON_ACTION_INDEX_SLEEP: u32 = 1; +pub const POWERBUTTON_ACTION_INDEX_HIBERNATE: u32 = 2; +pub const POWERBUTTON_ACTION_INDEX_SHUTDOWN: u32 = 3; +pub const POWERBUTTON_ACTION_INDEX_TURN_OFF_THE_DISPLAY: u32 = 4; +pub const POWERBUTTON_ACTION_VALUE_NOTHING: u32 = 0; +pub const POWERBUTTON_ACTION_VALUE_SLEEP: u32 = 2; +pub const POWERBUTTON_ACTION_VALUE_HIBERNATE: u32 = 3; +pub const POWERBUTTON_ACTION_VALUE_SHUTDOWN: u32 = 6; +pub const POWERBUTTON_ACTION_VALUE_TURN_OFF_THE_DISPLAY: u32 = 8; +pub const PERFSTATE_POLICY_CHANGE_IDEAL: u32 = 0; +pub const PERFSTATE_POLICY_CHANGE_SINGLE: u32 = 1; +pub const PERFSTATE_POLICY_CHANGE_ROCKET: u32 = 2; +pub const PERFSTATE_POLICY_CHANGE_IDEAL_AGGRESSIVE: u32 = 3; +pub const PERFSTATE_POLICY_CHANGE_DECREASE_MAX: u32 = 2; +pub const PERFSTATE_POLICY_CHANGE_INCREASE_MAX: u32 = 3; +pub const PROCESSOR_THROTTLE_DISABLED: u32 = 0; +pub const PROCESSOR_THROTTLE_ENABLED: u32 = 1; +pub const PROCESSOR_THROTTLE_AUTOMATIC: u32 = 2; +pub const PROCESSOR_PERF_BOOST_POLICY_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_BOOST_POLICY_MAX: u32 = 100; +pub const PROCESSOR_PERF_BOOST_MODE_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_BOOST_MODE_ENABLED: u32 = 1; +pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE: u32 = 2; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_ENABLED: u32 = 3; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE: u32 = 4; +pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE_AT_GUARANTEED: u32 = 5; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE_AT_GUARANTEED: u32 = 6; +pub const PROCESSOR_PERF_BOOST_MODE_MAX: u32 = 6; +pub const PROCESSOR_PERF_AUTONOMOUS_MODE_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_AUTONOMOUS_MODE_ENABLED: u32 = 1; +pub const PROCESSOR_PERF_PERFORMANCE_PREFERENCE: u32 = 255; +pub const PROCESSOR_PERF_ENERGY_PREFERENCE: u32 = 0; +pub const PROCESSOR_PERF_MINIMUM_ACTIVITY_WINDOW: u32 = 0; +pub const PROCESSOR_PERF_MAXIMUM_ACTIVITY_WINDOW: u32 = 1270000000; +pub const PROCESSOR_DUTY_CYCLING_DISABLED: u32 = 0; +pub const PROCESSOR_DUTY_CYCLING_ENABLED: u32 = 1; +pub const CORE_PARKING_POLICY_CHANGE_IDEAL: u32 = 0; +pub const CORE_PARKING_POLICY_CHANGE_SINGLE: u32 = 1; +pub const CORE_PARKING_POLICY_CHANGE_ROCKET: u32 = 2; +pub const CORE_PARKING_POLICY_CHANGE_MULTISTEP: u32 = 3; +pub const CORE_PARKING_POLICY_CHANGE_MAX: u32 = 3; +pub const POWER_DEVICE_IDLE_POLICY_PERFORMANCE: u32 = 0; +pub const POWER_DEVICE_IDLE_POLICY_CONSERVATIVE: u32 = 1; +pub const POWER_CONNECTIVITY_IN_STANDBY_DISABLED: u32 = 0; +pub const POWER_CONNECTIVITY_IN_STANDBY_ENABLED: u32 = 1; +pub const POWER_CONNECTIVITY_IN_STANDBY_SYSTEM_MANAGED: u32 = 2; +pub const POWER_DISCONNECTED_STANDBY_MODE_NORMAL: u32 = 0; +pub const POWER_DISCONNECTED_STANDBY_MODE_AGGRESSIVE: u32 = 1; +pub const POWER_SYSTEM_MAXIMUM: u32 = 7; +pub const DIAGNOSTIC_REASON_VERSION: u32 = 0; +pub const DIAGNOSTIC_REASON_SIMPLE_STRING: u32 = 1; +pub const DIAGNOSTIC_REASON_DETAILED_STRING: u32 = 2; +pub const DIAGNOSTIC_REASON_NOT_SPECIFIED: u32 = 2147483648; +pub const DIAGNOSTIC_REASON_INVALID_FLAGS: i64 = -2147483656; +pub const POWER_REQUEST_CONTEXT_VERSION: u32 = 0; +pub const POWER_REQUEST_CONTEXT_SIMPLE_STRING: u32 = 1; +pub const POWER_REQUEST_CONTEXT_DETAILED_STRING: u32 = 2; +pub const PDCAP_D0_SUPPORTED: u32 = 1; +pub const PDCAP_D1_SUPPORTED: u32 = 2; +pub const PDCAP_D2_SUPPORTED: u32 = 4; +pub const PDCAP_D3_SUPPORTED: u32 = 8; +pub const PDCAP_WAKE_FROM_D0_SUPPORTED: u32 = 16; +pub const PDCAP_WAKE_FROM_D1_SUPPORTED: u32 = 32; +pub const PDCAP_WAKE_FROM_D2_SUPPORTED: u32 = 64; +pub const PDCAP_WAKE_FROM_D3_SUPPORTED: u32 = 128; +pub const PDCAP_WARM_EJECT_SUPPORTED: u32 = 256; +pub const POWER_SETTING_VALUE_VERSION: u32 = 1; +pub const POWER_PLATFORM_ROLE_V1: u32 = 1; +pub const POWER_PLATFORM_ROLE_V2: u32 = 2; +pub const POWER_PLATFORM_ROLE_VERSION: u32 = 2; +pub const PROC_IDLE_BUCKET_COUNT: u32 = 6; +pub const PROC_IDLE_BUCKET_COUNT_EX: u32 = 16; +pub const ACPI_PPM_SOFTWARE_ALL: u32 = 252; +pub const ACPI_PPM_SOFTWARE_ANY: u32 = 253; +pub const ACPI_PPM_HARDWARE_ALL: u32 = 254; +pub const MS_PPM_SOFTWARE_ALL: u32 = 1; +pub const PPM_FIRMWARE_ACPI1C2: u32 = 1; +pub const PPM_FIRMWARE_ACPI1C3: u32 = 2; +pub const PPM_FIRMWARE_ACPI1TSTATES: u32 = 4; +pub const PPM_FIRMWARE_CST: u32 = 8; +pub const PPM_FIRMWARE_CSD: u32 = 16; +pub const PPM_FIRMWARE_PCT: u32 = 32; +pub const PPM_FIRMWARE_PSS: u32 = 64; +pub const PPM_FIRMWARE_XPSS: u32 = 128; +pub const PPM_FIRMWARE_PPC: u32 = 256; +pub const PPM_FIRMWARE_PSD: u32 = 512; +pub const PPM_FIRMWARE_PTC: u32 = 1024; +pub const PPM_FIRMWARE_TSS: u32 = 2048; +pub const PPM_FIRMWARE_TPC: u32 = 4096; +pub const PPM_FIRMWARE_TSD: u32 = 8192; +pub const PPM_FIRMWARE_PCCH: u32 = 16384; +pub const PPM_FIRMWARE_PCCP: u32 = 32768; +pub const PPM_FIRMWARE_OSC: u32 = 65536; +pub const PPM_FIRMWARE_PDC: u32 = 131072; +pub const PPM_FIRMWARE_CPC: u32 = 262144; +pub const PPM_FIRMWARE_LPI: u32 = 524288; +pub const PPM_PERFORMANCE_IMPLEMENTATION_NONE: u32 = 0; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PSTATES: u32 = 1; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PCCV1: u32 = 2; +pub const PPM_PERFORMANCE_IMPLEMENTATION_CPPC: u32 = 3; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PEP: u32 = 4; +pub const PPM_IDLE_IMPLEMENTATION_NONE: u32 = 0; +pub const PPM_IDLE_IMPLEMENTATION_CSTATES: u32 = 1; +pub const PPM_IDLE_IMPLEMENTATION_PEP: u32 = 2; +pub const PPM_IDLE_IMPLEMENTATION_MICROPEP: u32 = 3; +pub const PPM_IDLE_IMPLEMENTATION_LPISTATES: u32 = 4; +pub const POWER_ACTION_QUERY_ALLOWED: u32 = 1; +pub const POWER_ACTION_UI_ALLOWED: u32 = 2; +pub const POWER_ACTION_OVERRIDE_APPS: u32 = 4; +pub const POWER_ACTION_HIBERBOOT: u32 = 8; +pub const POWER_ACTION_USER_NOTIFY: u32 = 16; +pub const POWER_ACTION_DOZE_TO_HIBERNATE: u32 = 32; +pub const POWER_ACTION_ACPI_CRITICAL: u32 = 16777216; +pub const POWER_ACTION_ACPI_USER_NOTIFY: u32 = 33554432; +pub const POWER_ACTION_DIRECTED_DRIPS: u32 = 67108864; +pub const POWER_ACTION_PSEUDO_TRANSITION: u32 = 134217728; +pub const POWER_ACTION_LIGHTEST_FIRST: u32 = 268435456; +pub const POWER_ACTION_LOCK_CONSOLE: u32 = 536870912; +pub const POWER_ACTION_DISABLE_WAKES: u32 = 1073741824; +pub const POWER_ACTION_CRITICAL: u32 = 2147483648; +pub const POWER_LEVEL_USER_NOTIFY_TEXT: u32 = 1; +pub const POWER_LEVEL_USER_NOTIFY_SOUND: u32 = 2; +pub const POWER_LEVEL_USER_NOTIFY_EXEC: u32 = 4; +pub const POWER_USER_NOTIFY_BUTTON: u32 = 8; +pub const POWER_USER_NOTIFY_SHUTDOWN: u32 = 16; +pub const POWER_USER_NOTIFY_FORCED_SHUTDOWN: u32 = 32; +pub const POWER_FORCE_TRIGGER_RESET: u32 = 2147483648; +pub const BATTERY_DISCHARGE_FLAGS_EVENTCODE_MASK: u32 = 7; +pub const BATTERY_DISCHARGE_FLAGS_ENABLE: u32 = 2147483648; +pub const NUM_DISCHARGE_POLICIES: u32 = 4; +pub const DISCHARGE_POLICY_CRITICAL: u32 = 0; +pub const DISCHARGE_POLICY_LOW: u32 = 1; +pub const PROCESSOR_IDLESTATE_POLICY_COUNT: u32 = 3; +pub const PO_THROTTLE_NONE: u32 = 0; +pub const PO_THROTTLE_CONSTANT: u32 = 1; +pub const PO_THROTTLE_DEGRADE: u32 = 2; +pub const PO_THROTTLE_ADAPTIVE: u32 = 3; +pub const PO_THROTTLE_MAXIMUM: u32 = 4; +pub const HIBERFILE_TYPE_NONE: u32 = 0; +pub const HIBERFILE_TYPE_REDUCED: u32 = 1; +pub const HIBERFILE_TYPE_FULL: u32 = 2; +pub const HIBERFILE_TYPE_MAX: u32 = 3; +pub const IMAGE_DOS_SIGNATURE: u32 = 23117; +pub const IMAGE_OS2_SIGNATURE: u32 = 17742; +pub const IMAGE_OS2_SIGNATURE_LE: u32 = 17740; +pub const IMAGE_VXD_SIGNATURE: u32 = 17740; +pub const IMAGE_NT_SIGNATURE: u32 = 17744; +pub const IMAGE_SIZEOF_FILE_HEADER: u32 = 20; +pub const IMAGE_FILE_RELOCS_STRIPPED: u32 = 1; +pub const IMAGE_FILE_EXECUTABLE_IMAGE: u32 = 2; +pub const IMAGE_FILE_LINE_NUMS_STRIPPED: u32 = 4; +pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED: u32 = 8; +pub const IMAGE_FILE_AGGRESIVE_WS_TRIM: u32 = 16; +pub const IMAGE_FILE_LARGE_ADDRESS_AWARE: u32 = 32; +pub const IMAGE_FILE_BYTES_REVERSED_LO: u32 = 128; +pub const IMAGE_FILE_32BIT_MACHINE: u32 = 256; +pub const IMAGE_FILE_DEBUG_STRIPPED: u32 = 512; +pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: u32 = 1024; +pub const IMAGE_FILE_NET_RUN_FROM_SWAP: u32 = 2048; +pub const IMAGE_FILE_SYSTEM: u32 = 4096; +pub const IMAGE_FILE_DLL: u32 = 8192; +pub const IMAGE_FILE_UP_SYSTEM_ONLY: u32 = 16384; +pub const IMAGE_FILE_BYTES_REVERSED_HI: u32 = 32768; +pub const IMAGE_FILE_MACHINE_UNKNOWN: u32 = 0; +pub const IMAGE_FILE_MACHINE_TARGET_HOST: u32 = 1; +pub const IMAGE_FILE_MACHINE_I386: u32 = 332; +pub const IMAGE_FILE_MACHINE_R3000: u32 = 354; +pub const IMAGE_FILE_MACHINE_R4000: u32 = 358; +pub const IMAGE_FILE_MACHINE_R10000: u32 = 360; +pub const IMAGE_FILE_MACHINE_WCEMIPSV2: u32 = 361; +pub const IMAGE_FILE_MACHINE_ALPHA: u32 = 388; +pub const IMAGE_FILE_MACHINE_SH3: u32 = 418; +pub const IMAGE_FILE_MACHINE_SH3DSP: u32 = 419; +pub const IMAGE_FILE_MACHINE_SH3E: u32 = 420; +pub const IMAGE_FILE_MACHINE_SH4: u32 = 422; +pub const IMAGE_FILE_MACHINE_SH5: u32 = 424; +pub const IMAGE_FILE_MACHINE_ARM: u32 = 448; +pub const IMAGE_FILE_MACHINE_THUMB: u32 = 450; +pub const IMAGE_FILE_MACHINE_ARMNT: u32 = 452; +pub const IMAGE_FILE_MACHINE_AM33: u32 = 467; +pub const IMAGE_FILE_MACHINE_POWERPC: u32 = 496; +pub const IMAGE_FILE_MACHINE_POWERPCFP: u32 = 497; +pub const IMAGE_FILE_MACHINE_IA64: u32 = 512; +pub const IMAGE_FILE_MACHINE_MIPS16: u32 = 614; +pub const IMAGE_FILE_MACHINE_ALPHA64: u32 = 644; +pub const IMAGE_FILE_MACHINE_MIPSFPU: u32 = 870; +pub const IMAGE_FILE_MACHINE_MIPSFPU16: u32 = 1126; +pub const IMAGE_FILE_MACHINE_AXP64: u32 = 644; +pub const IMAGE_FILE_MACHINE_TRICORE: u32 = 1312; +pub const IMAGE_FILE_MACHINE_CEF: u32 = 3311; +pub const IMAGE_FILE_MACHINE_EBC: u32 = 3772; +pub const IMAGE_FILE_MACHINE_AMD64: u32 = 34404; +pub const IMAGE_FILE_MACHINE_M32R: u32 = 36929; +pub const IMAGE_FILE_MACHINE_ARM64: u32 = 43620; +pub const IMAGE_FILE_MACHINE_CEE: u32 = 49390; +pub const IMAGE_NUMBEROF_DIRECTORY_ENTRIES: u32 = 16; +pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: u32 = 267; +pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: u32 = 523; +pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC: u32 = 263; +pub const IMAGE_NT_OPTIONAL_HDR_MAGIC: u32 = 523; +pub const IMAGE_SUBSYSTEM_UNKNOWN: u32 = 0; +pub const IMAGE_SUBSYSTEM_NATIVE: u32 = 1; +pub const IMAGE_SUBSYSTEM_WINDOWS_GUI: u32 = 2; +pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: u32 = 3; +pub const IMAGE_SUBSYSTEM_OS2_CUI: u32 = 5; +pub const IMAGE_SUBSYSTEM_POSIX_CUI: u32 = 7; +pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS: u32 = 8; +pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: u32 = 9; +pub const IMAGE_SUBSYSTEM_EFI_APPLICATION: u32 = 10; +pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER: u32 = 11; +pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER: u32 = 12; +pub const IMAGE_SUBSYSTEM_EFI_ROM: u32 = 13; +pub const IMAGE_SUBSYSTEM_XBOX: u32 = 14; +pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION: u32 = 16; +pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG: u32 = 17; +pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA: u32 = 32; +pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: u32 = 64; +pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY: u32 = 128; +pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: u32 = 256; +pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION: u32 = 512; +pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: u32 = 1024; +pub const IMAGE_DLLCHARACTERISTICS_NO_BIND: u32 = 2048; +pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER: u32 = 4096; +pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: u32 = 8192; +pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF: u32 = 16384; +pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE: u32 = 32768; +pub const IMAGE_DIRECTORY_ENTRY_EXPORT: u32 = 0; +pub const IMAGE_DIRECTORY_ENTRY_IMPORT: u32 = 1; +pub const IMAGE_DIRECTORY_ENTRY_RESOURCE: u32 = 2; +pub const IMAGE_DIRECTORY_ENTRY_EXCEPTION: u32 = 3; +pub const IMAGE_DIRECTORY_ENTRY_SECURITY: u32 = 4; +pub const IMAGE_DIRECTORY_ENTRY_BASERELOC: u32 = 5; +pub const IMAGE_DIRECTORY_ENTRY_DEBUG: u32 = 6; +pub const IMAGE_DIRECTORY_ENTRY_ARCHITECTURE: u32 = 7; +pub const IMAGE_DIRECTORY_ENTRY_GLOBALPTR: u32 = 8; +pub const IMAGE_DIRECTORY_ENTRY_TLS: u32 = 9; +pub const IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: u32 = 10; +pub const IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: u32 = 11; +pub const IMAGE_DIRECTORY_ENTRY_IAT: u32 = 12; +pub const IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT: u32 = 13; +pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: u32 = 14; +pub const IMAGE_SIZEOF_SHORT_NAME: u32 = 8; +pub const IMAGE_SIZEOF_SECTION_HEADER: u32 = 40; +pub const IMAGE_SCN_TYPE_NO_PAD: u32 = 8; +pub const IMAGE_SCN_CNT_CODE: u32 = 32; +pub const IMAGE_SCN_CNT_INITIALIZED_DATA: u32 = 64; +pub const IMAGE_SCN_CNT_UNINITIALIZED_DATA: u32 = 128; +pub const IMAGE_SCN_LNK_OTHER: u32 = 256; +pub const IMAGE_SCN_LNK_INFO: u32 = 512; +pub const IMAGE_SCN_LNK_REMOVE: u32 = 2048; +pub const IMAGE_SCN_LNK_COMDAT: u32 = 4096; +pub const IMAGE_SCN_NO_DEFER_SPEC_EXC: u32 = 16384; +pub const IMAGE_SCN_GPREL: u32 = 32768; +pub const IMAGE_SCN_MEM_FARDATA: u32 = 32768; +pub const IMAGE_SCN_MEM_PURGEABLE: u32 = 131072; +pub const IMAGE_SCN_MEM_16BIT: u32 = 131072; +pub const IMAGE_SCN_MEM_LOCKED: u32 = 262144; +pub const IMAGE_SCN_MEM_PRELOAD: u32 = 524288; +pub const IMAGE_SCN_ALIGN_1BYTES: u32 = 1048576; +pub const IMAGE_SCN_ALIGN_2BYTES: u32 = 2097152; +pub const IMAGE_SCN_ALIGN_4BYTES: u32 = 3145728; +pub const IMAGE_SCN_ALIGN_8BYTES: u32 = 4194304; +pub const IMAGE_SCN_ALIGN_16BYTES: u32 = 5242880; +pub const IMAGE_SCN_ALIGN_32BYTES: u32 = 6291456; +pub const IMAGE_SCN_ALIGN_64BYTES: u32 = 7340032; +pub const IMAGE_SCN_ALIGN_128BYTES: u32 = 8388608; +pub const IMAGE_SCN_ALIGN_256BYTES: u32 = 9437184; +pub const IMAGE_SCN_ALIGN_512BYTES: u32 = 10485760; +pub const IMAGE_SCN_ALIGN_1024BYTES: u32 = 11534336; +pub const IMAGE_SCN_ALIGN_2048BYTES: u32 = 12582912; +pub const IMAGE_SCN_ALIGN_4096BYTES: u32 = 13631488; +pub const IMAGE_SCN_ALIGN_8192BYTES: u32 = 14680064; +pub const IMAGE_SCN_ALIGN_MASK: u32 = 15728640; +pub const IMAGE_SCN_LNK_NRELOC_OVFL: u32 = 16777216; +pub const IMAGE_SCN_MEM_DISCARDABLE: u32 = 33554432; +pub const IMAGE_SCN_MEM_NOT_CACHED: u32 = 67108864; +pub const IMAGE_SCN_MEM_NOT_PAGED: u32 = 134217728; +pub const IMAGE_SCN_MEM_SHARED: u32 = 268435456; +pub const IMAGE_SCN_MEM_EXECUTE: u32 = 536870912; +pub const IMAGE_SCN_MEM_READ: u32 = 1073741824; +pub const IMAGE_SCN_MEM_WRITE: u32 = 2147483648; +pub const IMAGE_SCN_SCALE_INDEX: u32 = 1; +pub const IMAGE_SIZEOF_SYMBOL: u32 = 18; +pub const IMAGE_SYM_SECTION_MAX: u32 = 65279; +pub const IMAGE_SYM_SECTION_MAX_EX: u32 = 2147483647; +pub const IMAGE_SYM_TYPE_NULL: u32 = 0; +pub const IMAGE_SYM_TYPE_VOID: u32 = 1; +pub const IMAGE_SYM_TYPE_CHAR: u32 = 2; +pub const IMAGE_SYM_TYPE_SHORT: u32 = 3; +pub const IMAGE_SYM_TYPE_INT: u32 = 4; +pub const IMAGE_SYM_TYPE_LONG: u32 = 5; +pub const IMAGE_SYM_TYPE_FLOAT: u32 = 6; +pub const IMAGE_SYM_TYPE_DOUBLE: u32 = 7; +pub const IMAGE_SYM_TYPE_STRUCT: u32 = 8; +pub const IMAGE_SYM_TYPE_UNION: u32 = 9; +pub const IMAGE_SYM_TYPE_ENUM: u32 = 10; +pub const IMAGE_SYM_TYPE_MOE: u32 = 11; +pub const IMAGE_SYM_TYPE_BYTE: u32 = 12; +pub const IMAGE_SYM_TYPE_WORD: u32 = 13; +pub const IMAGE_SYM_TYPE_UINT: u32 = 14; +pub const IMAGE_SYM_TYPE_DWORD: u32 = 15; +pub const IMAGE_SYM_TYPE_PCODE: u32 = 32768; +pub const IMAGE_SYM_DTYPE_NULL: u32 = 0; +pub const IMAGE_SYM_DTYPE_POINTER: u32 = 1; +pub const IMAGE_SYM_DTYPE_FUNCTION: u32 = 2; +pub const IMAGE_SYM_DTYPE_ARRAY: u32 = 3; +pub const IMAGE_SYM_CLASS_NULL: u32 = 0; +pub const IMAGE_SYM_CLASS_AUTOMATIC: u32 = 1; +pub const IMAGE_SYM_CLASS_EXTERNAL: u32 = 2; +pub const IMAGE_SYM_CLASS_STATIC: u32 = 3; +pub const IMAGE_SYM_CLASS_REGISTER: u32 = 4; +pub const IMAGE_SYM_CLASS_EXTERNAL_DEF: u32 = 5; +pub const IMAGE_SYM_CLASS_LABEL: u32 = 6; +pub const IMAGE_SYM_CLASS_UNDEFINED_LABEL: u32 = 7; +pub const IMAGE_SYM_CLASS_MEMBER_OF_STRUCT: u32 = 8; +pub const IMAGE_SYM_CLASS_ARGUMENT: u32 = 9; +pub const IMAGE_SYM_CLASS_STRUCT_TAG: u32 = 10; +pub const IMAGE_SYM_CLASS_MEMBER_OF_UNION: u32 = 11; +pub const IMAGE_SYM_CLASS_UNION_TAG: u32 = 12; +pub const IMAGE_SYM_CLASS_TYPE_DEFINITION: u32 = 13; +pub const IMAGE_SYM_CLASS_UNDEFINED_STATIC: u32 = 14; +pub const IMAGE_SYM_CLASS_ENUM_TAG: u32 = 15; +pub const IMAGE_SYM_CLASS_MEMBER_OF_ENUM: u32 = 16; +pub const IMAGE_SYM_CLASS_REGISTER_PARAM: u32 = 17; +pub const IMAGE_SYM_CLASS_BIT_FIELD: u32 = 18; +pub const IMAGE_SYM_CLASS_FAR_EXTERNAL: u32 = 68; +pub const IMAGE_SYM_CLASS_BLOCK: u32 = 100; +pub const IMAGE_SYM_CLASS_FUNCTION: u32 = 101; +pub const IMAGE_SYM_CLASS_END_OF_STRUCT: u32 = 102; +pub const IMAGE_SYM_CLASS_FILE: u32 = 103; +pub const IMAGE_SYM_CLASS_SECTION: u32 = 104; +pub const IMAGE_SYM_CLASS_WEAK_EXTERNAL: u32 = 105; +pub const IMAGE_SYM_CLASS_CLR_TOKEN: u32 = 107; +pub const N_BTMASK: u32 = 15; +pub const N_TMASK: u32 = 48; +pub const N_TMASK1: u32 = 192; +pub const N_TMASK2: u32 = 240; +pub const N_BTSHFT: u32 = 4; +pub const N_TSHIFT: u32 = 2; +pub const IMAGE_COMDAT_SELECT_NODUPLICATES: u32 = 1; +pub const IMAGE_COMDAT_SELECT_ANY: u32 = 2; +pub const IMAGE_COMDAT_SELECT_SAME_SIZE: u32 = 3; +pub const IMAGE_COMDAT_SELECT_EXACT_MATCH: u32 = 4; +pub const IMAGE_COMDAT_SELECT_ASSOCIATIVE: u32 = 5; +pub const IMAGE_COMDAT_SELECT_LARGEST: u32 = 6; +pub const IMAGE_COMDAT_SELECT_NEWEST: u32 = 7; +pub const IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY: u32 = 1; +pub const IMAGE_WEAK_EXTERN_SEARCH_LIBRARY: u32 = 2; +pub const IMAGE_WEAK_EXTERN_SEARCH_ALIAS: u32 = 3; +pub const IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY: u32 = 4; +pub const IMAGE_REL_I386_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_I386_DIR16: u32 = 1; +pub const IMAGE_REL_I386_REL16: u32 = 2; +pub const IMAGE_REL_I386_DIR32: u32 = 6; +pub const IMAGE_REL_I386_DIR32NB: u32 = 7; +pub const IMAGE_REL_I386_SEG12: u32 = 9; +pub const IMAGE_REL_I386_SECTION: u32 = 10; +pub const IMAGE_REL_I386_SECREL: u32 = 11; +pub const IMAGE_REL_I386_TOKEN: u32 = 12; +pub const IMAGE_REL_I386_SECREL7: u32 = 13; +pub const IMAGE_REL_I386_REL32: u32 = 20; +pub const IMAGE_REL_MIPS_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_MIPS_REFHALF: u32 = 1; +pub const IMAGE_REL_MIPS_REFWORD: u32 = 2; +pub const IMAGE_REL_MIPS_JMPADDR: u32 = 3; +pub const IMAGE_REL_MIPS_REFHI: u32 = 4; +pub const IMAGE_REL_MIPS_REFLO: u32 = 5; +pub const IMAGE_REL_MIPS_GPREL: u32 = 6; +pub const IMAGE_REL_MIPS_LITERAL: u32 = 7; +pub const IMAGE_REL_MIPS_SECTION: u32 = 10; +pub const IMAGE_REL_MIPS_SECREL: u32 = 11; +pub const IMAGE_REL_MIPS_SECRELLO: u32 = 12; +pub const IMAGE_REL_MIPS_SECRELHI: u32 = 13; +pub const IMAGE_REL_MIPS_TOKEN: u32 = 14; +pub const IMAGE_REL_MIPS_JMPADDR16: u32 = 16; +pub const IMAGE_REL_MIPS_REFWORDNB: u32 = 34; +pub const IMAGE_REL_MIPS_PAIR: u32 = 37; +pub const IMAGE_REL_ALPHA_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ALPHA_REFLONG: u32 = 1; +pub const IMAGE_REL_ALPHA_REFQUAD: u32 = 2; +pub const IMAGE_REL_ALPHA_GPREL32: u32 = 3; +pub const IMAGE_REL_ALPHA_LITERAL: u32 = 4; +pub const IMAGE_REL_ALPHA_LITUSE: u32 = 5; +pub const IMAGE_REL_ALPHA_GPDISP: u32 = 6; +pub const IMAGE_REL_ALPHA_BRADDR: u32 = 7; +pub const IMAGE_REL_ALPHA_HINT: u32 = 8; +pub const IMAGE_REL_ALPHA_INLINE_REFLONG: u32 = 9; +pub const IMAGE_REL_ALPHA_REFHI: u32 = 10; +pub const IMAGE_REL_ALPHA_REFLO: u32 = 11; +pub const IMAGE_REL_ALPHA_PAIR: u32 = 12; +pub const IMAGE_REL_ALPHA_MATCH: u32 = 13; +pub const IMAGE_REL_ALPHA_SECTION: u32 = 14; +pub const IMAGE_REL_ALPHA_SECREL: u32 = 15; +pub const IMAGE_REL_ALPHA_REFLONGNB: u32 = 16; +pub const IMAGE_REL_ALPHA_SECRELLO: u32 = 17; +pub const IMAGE_REL_ALPHA_SECRELHI: u32 = 18; +pub const IMAGE_REL_ALPHA_REFQ3: u32 = 19; +pub const IMAGE_REL_ALPHA_REFQ2: u32 = 20; +pub const IMAGE_REL_ALPHA_REFQ1: u32 = 21; +pub const IMAGE_REL_ALPHA_GPRELLO: u32 = 22; +pub const IMAGE_REL_ALPHA_GPRELHI: u32 = 23; +pub const IMAGE_REL_PPC_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_PPC_ADDR64: u32 = 1; +pub const IMAGE_REL_PPC_ADDR32: u32 = 2; +pub const IMAGE_REL_PPC_ADDR24: u32 = 3; +pub const IMAGE_REL_PPC_ADDR16: u32 = 4; +pub const IMAGE_REL_PPC_ADDR14: u32 = 5; +pub const IMAGE_REL_PPC_REL24: u32 = 6; +pub const IMAGE_REL_PPC_REL14: u32 = 7; +pub const IMAGE_REL_PPC_TOCREL16: u32 = 8; +pub const IMAGE_REL_PPC_TOCREL14: u32 = 9; +pub const IMAGE_REL_PPC_ADDR32NB: u32 = 10; +pub const IMAGE_REL_PPC_SECREL: u32 = 11; +pub const IMAGE_REL_PPC_SECTION: u32 = 12; +pub const IMAGE_REL_PPC_IFGLUE: u32 = 13; +pub const IMAGE_REL_PPC_IMGLUE: u32 = 14; +pub const IMAGE_REL_PPC_SECREL16: u32 = 15; +pub const IMAGE_REL_PPC_REFHI: u32 = 16; +pub const IMAGE_REL_PPC_REFLO: u32 = 17; +pub const IMAGE_REL_PPC_PAIR: u32 = 18; +pub const IMAGE_REL_PPC_SECRELLO: u32 = 19; +pub const IMAGE_REL_PPC_SECRELHI: u32 = 20; +pub const IMAGE_REL_PPC_GPREL: u32 = 21; +pub const IMAGE_REL_PPC_TOKEN: u32 = 22; +pub const IMAGE_REL_PPC_TYPEMASK: u32 = 255; +pub const IMAGE_REL_PPC_NEG: u32 = 256; +pub const IMAGE_REL_PPC_BRTAKEN: u32 = 512; +pub const IMAGE_REL_PPC_BRNTAKEN: u32 = 1024; +pub const IMAGE_REL_PPC_TOCDEFN: u32 = 2048; +pub const IMAGE_REL_SH3_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_SH3_DIRECT16: u32 = 1; +pub const IMAGE_REL_SH3_DIRECT32: u32 = 2; +pub const IMAGE_REL_SH3_DIRECT8: u32 = 3; +pub const IMAGE_REL_SH3_DIRECT8_WORD: u32 = 4; +pub const IMAGE_REL_SH3_DIRECT8_LONG: u32 = 5; +pub const IMAGE_REL_SH3_DIRECT4: u32 = 6; +pub const IMAGE_REL_SH3_DIRECT4_WORD: u32 = 7; +pub const IMAGE_REL_SH3_DIRECT4_LONG: u32 = 8; +pub const IMAGE_REL_SH3_PCREL8_WORD: u32 = 9; +pub const IMAGE_REL_SH3_PCREL8_LONG: u32 = 10; +pub const IMAGE_REL_SH3_PCREL12_WORD: u32 = 11; +pub const IMAGE_REL_SH3_STARTOF_SECTION: u32 = 12; +pub const IMAGE_REL_SH3_SIZEOF_SECTION: u32 = 13; +pub const IMAGE_REL_SH3_SECTION: u32 = 14; +pub const IMAGE_REL_SH3_SECREL: u32 = 15; +pub const IMAGE_REL_SH3_DIRECT32_NB: u32 = 16; +pub const IMAGE_REL_SH3_GPREL4_LONG: u32 = 17; +pub const IMAGE_REL_SH3_TOKEN: u32 = 18; +pub const IMAGE_REL_SHM_PCRELPT: u32 = 19; +pub const IMAGE_REL_SHM_REFLO: u32 = 20; +pub const IMAGE_REL_SHM_REFHALF: u32 = 21; +pub const IMAGE_REL_SHM_RELLO: u32 = 22; +pub const IMAGE_REL_SHM_RELHALF: u32 = 23; +pub const IMAGE_REL_SHM_PAIR: u32 = 24; +pub const IMAGE_REL_SH_NOMODE: u32 = 32768; +pub const IMAGE_REL_ARM_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ARM_ADDR32: u32 = 1; +pub const IMAGE_REL_ARM_ADDR32NB: u32 = 2; +pub const IMAGE_REL_ARM_BRANCH24: u32 = 3; +pub const IMAGE_REL_ARM_BRANCH11: u32 = 4; +pub const IMAGE_REL_ARM_TOKEN: u32 = 5; +pub const IMAGE_REL_ARM_GPREL12: u32 = 6; +pub const IMAGE_REL_ARM_GPREL7: u32 = 7; +pub const IMAGE_REL_ARM_BLX24: u32 = 8; +pub const IMAGE_REL_ARM_BLX11: u32 = 9; +pub const IMAGE_REL_ARM_SECTION: u32 = 14; +pub const IMAGE_REL_ARM_SECREL: u32 = 15; +pub const IMAGE_REL_ARM_MOV32A: u32 = 16; +pub const IMAGE_REL_ARM_MOV32: u32 = 16; +pub const IMAGE_REL_ARM_MOV32T: u32 = 17; +pub const IMAGE_REL_THUMB_MOV32: u32 = 17; +pub const IMAGE_REL_ARM_BRANCH20T: u32 = 18; +pub const IMAGE_REL_THUMB_BRANCH20: u32 = 18; +pub const IMAGE_REL_ARM_BRANCH24T: u32 = 20; +pub const IMAGE_REL_THUMB_BRANCH24: u32 = 20; +pub const IMAGE_REL_ARM_BLX23T: u32 = 21; +pub const IMAGE_REL_THUMB_BLX23: u32 = 21; +pub const IMAGE_REL_AM_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_AM_ADDR32: u32 = 1; +pub const IMAGE_REL_AM_ADDR32NB: u32 = 2; +pub const IMAGE_REL_AM_CALL32: u32 = 3; +pub const IMAGE_REL_AM_FUNCINFO: u32 = 4; +pub const IMAGE_REL_AM_REL32_1: u32 = 5; +pub const IMAGE_REL_AM_REL32_2: u32 = 6; +pub const IMAGE_REL_AM_SECREL: u32 = 7; +pub const IMAGE_REL_AM_SECTION: u32 = 8; +pub const IMAGE_REL_AM_TOKEN: u32 = 9; +pub const IMAGE_REL_ARM64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ARM64_ADDR32: u32 = 1; +pub const IMAGE_REL_ARM64_ADDR32NB: u32 = 2; +pub const IMAGE_REL_ARM64_BRANCH26: u32 = 3; +pub const IMAGE_REL_ARM64_PAGEBASE_REL21: u32 = 4; +pub const IMAGE_REL_ARM64_REL21: u32 = 5; +pub const IMAGE_REL_ARM64_PAGEOFFSET_12A: u32 = 6; +pub const IMAGE_REL_ARM64_PAGEOFFSET_12L: u32 = 7; +pub const IMAGE_REL_ARM64_SECREL: u32 = 8; +pub const IMAGE_REL_ARM64_SECREL_LOW12A: u32 = 9; +pub const IMAGE_REL_ARM64_SECREL_HIGH12A: u32 = 10; +pub const IMAGE_REL_ARM64_SECREL_LOW12L: u32 = 11; +pub const IMAGE_REL_ARM64_TOKEN: u32 = 12; +pub const IMAGE_REL_ARM64_SECTION: u32 = 13; +pub const IMAGE_REL_ARM64_ADDR64: u32 = 14; +pub const IMAGE_REL_ARM64_BRANCH19: u32 = 15; +pub const IMAGE_REL_AMD64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_AMD64_ADDR64: u32 = 1; +pub const IMAGE_REL_AMD64_ADDR32: u32 = 2; +pub const IMAGE_REL_AMD64_ADDR32NB: u32 = 3; +pub const IMAGE_REL_AMD64_REL32: u32 = 4; +pub const IMAGE_REL_AMD64_REL32_1: u32 = 5; +pub const IMAGE_REL_AMD64_REL32_2: u32 = 6; +pub const IMAGE_REL_AMD64_REL32_3: u32 = 7; +pub const IMAGE_REL_AMD64_REL32_4: u32 = 8; +pub const IMAGE_REL_AMD64_REL32_5: u32 = 9; +pub const IMAGE_REL_AMD64_SECTION: u32 = 10; +pub const IMAGE_REL_AMD64_SECREL: u32 = 11; +pub const IMAGE_REL_AMD64_SECREL7: u32 = 12; +pub const IMAGE_REL_AMD64_TOKEN: u32 = 13; +pub const IMAGE_REL_AMD64_SREL32: u32 = 14; +pub const IMAGE_REL_AMD64_PAIR: u32 = 15; +pub const IMAGE_REL_AMD64_SSPAN32: u32 = 16; +pub const IMAGE_REL_AMD64_EHANDLER: u32 = 17; +pub const IMAGE_REL_AMD64_IMPORT_BR: u32 = 18; +pub const IMAGE_REL_AMD64_IMPORT_CALL: u32 = 19; +pub const IMAGE_REL_AMD64_CFG_BR: u32 = 20; +pub const IMAGE_REL_AMD64_CFG_BR_REX: u32 = 21; +pub const IMAGE_REL_AMD64_CFG_CALL: u32 = 22; +pub const IMAGE_REL_AMD64_INDIR_BR: u32 = 23; +pub const IMAGE_REL_AMD64_INDIR_BR_REX: u32 = 24; +pub const IMAGE_REL_AMD64_INDIR_CALL: u32 = 25; +pub const IMAGE_REL_AMD64_INDIR_BR_SWITCHTABLE_FIRST: u32 = 32; +pub const IMAGE_REL_AMD64_INDIR_BR_SWITCHTABLE_LAST: u32 = 47; +pub const IMAGE_REL_IA64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_IA64_IMM14: u32 = 1; +pub const IMAGE_REL_IA64_IMM22: u32 = 2; +pub const IMAGE_REL_IA64_IMM64: u32 = 3; +pub const IMAGE_REL_IA64_DIR32: u32 = 4; +pub const IMAGE_REL_IA64_DIR64: u32 = 5; +pub const IMAGE_REL_IA64_PCREL21B: u32 = 6; +pub const IMAGE_REL_IA64_PCREL21M: u32 = 7; +pub const IMAGE_REL_IA64_PCREL21F: u32 = 8; +pub const IMAGE_REL_IA64_GPREL22: u32 = 9; +pub const IMAGE_REL_IA64_LTOFF22: u32 = 10; +pub const IMAGE_REL_IA64_SECTION: u32 = 11; +pub const IMAGE_REL_IA64_SECREL22: u32 = 12; +pub const IMAGE_REL_IA64_SECREL64I: u32 = 13; +pub const IMAGE_REL_IA64_SECREL32: u32 = 14; +pub const IMAGE_REL_IA64_DIR32NB: u32 = 16; +pub const IMAGE_REL_IA64_SREL14: u32 = 17; +pub const IMAGE_REL_IA64_SREL22: u32 = 18; +pub const IMAGE_REL_IA64_SREL32: u32 = 19; +pub const IMAGE_REL_IA64_UREL32: u32 = 20; +pub const IMAGE_REL_IA64_PCREL60X: u32 = 21; +pub const IMAGE_REL_IA64_PCREL60B: u32 = 22; +pub const IMAGE_REL_IA64_PCREL60F: u32 = 23; +pub const IMAGE_REL_IA64_PCREL60I: u32 = 24; +pub const IMAGE_REL_IA64_PCREL60M: u32 = 25; +pub const IMAGE_REL_IA64_IMMGPREL64: u32 = 26; +pub const IMAGE_REL_IA64_TOKEN: u32 = 27; +pub const IMAGE_REL_IA64_GPREL32: u32 = 28; +pub const IMAGE_REL_IA64_ADDEND: u32 = 31; +pub const IMAGE_REL_CEF_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_CEF_ADDR32: u32 = 1; +pub const IMAGE_REL_CEF_ADDR64: u32 = 2; +pub const IMAGE_REL_CEF_ADDR32NB: u32 = 3; +pub const IMAGE_REL_CEF_SECTION: u32 = 4; +pub const IMAGE_REL_CEF_SECREL: u32 = 5; +pub const IMAGE_REL_CEF_TOKEN: u32 = 6; +pub const IMAGE_REL_CEE_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_CEE_ADDR32: u32 = 1; +pub const IMAGE_REL_CEE_ADDR64: u32 = 2; +pub const IMAGE_REL_CEE_ADDR32NB: u32 = 3; +pub const IMAGE_REL_CEE_SECTION: u32 = 4; +pub const IMAGE_REL_CEE_SECREL: u32 = 5; +pub const IMAGE_REL_CEE_TOKEN: u32 = 6; +pub const IMAGE_REL_M32R_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_M32R_ADDR32: u32 = 1; +pub const IMAGE_REL_M32R_ADDR32NB: u32 = 2; +pub const IMAGE_REL_M32R_ADDR24: u32 = 3; +pub const IMAGE_REL_M32R_GPREL16: u32 = 4; +pub const IMAGE_REL_M32R_PCREL24: u32 = 5; +pub const IMAGE_REL_M32R_PCREL16: u32 = 6; +pub const IMAGE_REL_M32R_PCREL8: u32 = 7; +pub const IMAGE_REL_M32R_REFHALF: u32 = 8; +pub const IMAGE_REL_M32R_REFHI: u32 = 9; +pub const IMAGE_REL_M32R_REFLO: u32 = 10; +pub const IMAGE_REL_M32R_PAIR: u32 = 11; +pub const IMAGE_REL_M32R_SECTION: u32 = 12; +pub const IMAGE_REL_M32R_SECREL32: u32 = 13; +pub const IMAGE_REL_M32R_TOKEN: u32 = 14; +pub const IMAGE_REL_EBC_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_EBC_ADDR32NB: u32 = 1; +pub const IMAGE_REL_EBC_REL32: u32 = 2; +pub const IMAGE_REL_EBC_SECTION: u32 = 3; +pub const IMAGE_REL_EBC_SECREL: u32 = 4; +pub const EMARCH_ENC_I17_IMM7B_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM7B_SIZE_X: u32 = 7; +pub const EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X: u32 = 4; +pub const EMARCH_ENC_I17_IMM7B_VAL_POS_X: u32 = 0; +pub const EMARCH_ENC_I17_IMM9D_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM9D_SIZE_X: u32 = 9; +pub const EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X: u32 = 18; +pub const EMARCH_ENC_I17_IMM9D_VAL_POS_X: u32 = 7; +pub const EMARCH_ENC_I17_IMM5C_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM5C_SIZE_X: u32 = 5; +pub const EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X: u32 = 13; +pub const EMARCH_ENC_I17_IMM5C_VAL_POS_X: u32 = 16; +pub const EMARCH_ENC_I17_IC_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IC_SIZE_X: u32 = 1; +pub const EMARCH_ENC_I17_IC_INST_WORD_POS_X: u32 = 12; +pub const EMARCH_ENC_I17_IC_VAL_POS_X: u32 = 21; +pub const EMARCH_ENC_I17_IMM41a_INST_WORD_X: u32 = 1; +pub const EMARCH_ENC_I17_IMM41a_SIZE_X: u32 = 10; +pub const EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X: u32 = 14; +pub const EMARCH_ENC_I17_IMM41a_VAL_POS_X: u32 = 22; +pub const EMARCH_ENC_I17_IMM41b_INST_WORD_X: u32 = 1; +pub const EMARCH_ENC_I17_IMM41b_SIZE_X: u32 = 8; +pub const EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X: u32 = 24; +pub const EMARCH_ENC_I17_IMM41b_VAL_POS_X: u32 = 32; +pub const EMARCH_ENC_I17_IMM41c_INST_WORD_X: u32 = 2; +pub const EMARCH_ENC_I17_IMM41c_SIZE_X: u32 = 23; +pub const EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X: u32 = 0; +pub const EMARCH_ENC_I17_IMM41c_VAL_POS_X: u32 = 40; +pub const EMARCH_ENC_I17_SIGN_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_SIGN_SIZE_X: u32 = 1; +pub const EMARCH_ENC_I17_SIGN_INST_WORD_POS_X: u32 = 27; +pub const EMARCH_ENC_I17_SIGN_VAL_POS_X: u32 = 63; +pub const X3_OPCODE_INST_WORD_X: u32 = 3; +pub const X3_OPCODE_SIZE_X: u32 = 4; +pub const X3_OPCODE_INST_WORD_POS_X: u32 = 28; +pub const X3_OPCODE_SIGN_VAL_POS_X: u32 = 0; +pub const X3_I_INST_WORD_X: u32 = 3; +pub const X3_I_SIZE_X: u32 = 1; +pub const X3_I_INST_WORD_POS_X: u32 = 27; +pub const X3_I_SIGN_VAL_POS_X: u32 = 59; +pub const X3_D_WH_INST_WORD_X: u32 = 3; +pub const X3_D_WH_SIZE_X: u32 = 3; +pub const X3_D_WH_INST_WORD_POS_X: u32 = 24; +pub const X3_D_WH_SIGN_VAL_POS_X: u32 = 0; +pub const X3_IMM20_INST_WORD_X: u32 = 3; +pub const X3_IMM20_SIZE_X: u32 = 20; +pub const X3_IMM20_INST_WORD_POS_X: u32 = 4; +pub const X3_IMM20_SIGN_VAL_POS_X: u32 = 0; +pub const X3_IMM39_1_INST_WORD_X: u32 = 2; +pub const X3_IMM39_1_SIZE_X: u32 = 23; +pub const X3_IMM39_1_INST_WORD_POS_X: u32 = 0; +pub const X3_IMM39_1_SIGN_VAL_POS_X: u32 = 36; +pub const X3_IMM39_2_INST_WORD_X: u32 = 1; +pub const X3_IMM39_2_SIZE_X: u32 = 16; +pub const X3_IMM39_2_INST_WORD_POS_X: u32 = 16; +pub const X3_IMM39_2_SIGN_VAL_POS_X: u32 = 20; +pub const X3_P_INST_WORD_X: u32 = 3; +pub const X3_P_SIZE_X: u32 = 4; +pub const X3_P_INST_WORD_POS_X: u32 = 0; +pub const X3_P_SIGN_VAL_POS_X: u32 = 0; +pub const X3_TMPLT_INST_WORD_X: u32 = 0; +pub const X3_TMPLT_SIZE_X: u32 = 4; +pub const X3_TMPLT_INST_WORD_POS_X: u32 = 0; +pub const X3_TMPLT_SIGN_VAL_POS_X: u32 = 0; +pub const X3_BTYPE_QP_INST_WORD_X: u32 = 2; +pub const X3_BTYPE_QP_SIZE_X: u32 = 9; +pub const X3_BTYPE_QP_INST_WORD_POS_X: u32 = 23; +pub const X3_BTYPE_QP_INST_VAL_POS_X: u32 = 0; +pub const X3_EMPTY_INST_WORD_X: u32 = 1; +pub const X3_EMPTY_SIZE_X: u32 = 2; +pub const X3_EMPTY_INST_WORD_POS_X: u32 = 14; +pub const X3_EMPTY_INST_VAL_POS_X: u32 = 0; +pub const IMAGE_REL_BASED_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_BASED_HIGH: u32 = 1; +pub const IMAGE_REL_BASED_LOW: u32 = 2; +pub const IMAGE_REL_BASED_HIGHLOW: u32 = 3; +pub const IMAGE_REL_BASED_HIGHADJ: u32 = 4; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_5: u32 = 5; +pub const IMAGE_REL_BASED_RESERVED: u32 = 6; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_7: u32 = 7; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_8: u32 = 8; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_9: u32 = 9; +pub const IMAGE_REL_BASED_DIR64: u32 = 10; +pub const IMAGE_REL_BASED_IA64_IMM64: u32 = 9; +pub const IMAGE_REL_BASED_MIPS_JMPADDR: u32 = 5; +pub const IMAGE_REL_BASED_MIPS_JMPADDR16: u32 = 9; +pub const IMAGE_REL_BASED_ARM_MOV32: u32 = 5; +pub const IMAGE_REL_BASED_THUMB_MOV32: u32 = 7; +pub const IMAGE_ARCHIVE_START_SIZE: u32 = 8; +pub const IMAGE_ARCHIVE_START: &[u8; 9usize] = b"!\n\0"; +pub const IMAGE_ARCHIVE_END: &[u8; 3usize] = b"`\n\0"; +pub const IMAGE_ARCHIVE_PAD: &[u8; 2usize] = b"\n\0"; +pub const IMAGE_ARCHIVE_LINKER_MEMBER: &[u8; 17usize] = b"/ \0"; +pub const IMAGE_ARCHIVE_LONGNAMES_MEMBER: &[u8; 17usize] = b"// \0"; +pub const IMAGE_ARCHIVE_HYBRIDMAP_MEMBER: &[u8; 17usize] = b"// \0"; +pub const IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR: u32 = 60; +pub const IMAGE_ORDINAL_FLAG64: i64 = -9223372036854775808; +pub const IMAGE_ORDINAL_FLAG32: u32 = 2147483648; +pub const IMAGE_ORDINAL_FLAG: i64 = -9223372036854775808; +pub const IMAGE_RESOURCE_NAME_IS_STRING: u32 = 2147483648; +pub const IMAGE_RESOURCE_DATA_IS_DIRECTORY: u32 = 2147483648; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE: u32 = 1; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE: u32 = 2; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER: u32 = 3; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER: u32 = 4; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH: u32 = 5; +pub const IMAGE_HOT_PATCH_BASE_OBLIGATORY: u32 = 1; +pub const IMAGE_HOT_PATCH_BASE_CAN_ROLL_BACK: u32 = 2; +pub const IMAGE_HOT_PATCH_CHUNK_INVERSE: u32 = 2147483648; +pub const IMAGE_HOT_PATCH_CHUNK_OBLIGATORY: u32 = 1073741824; +pub const IMAGE_HOT_PATCH_CHUNK_RESERVED: u32 = 1072705536; +pub const IMAGE_HOT_PATCH_CHUNK_TYPE: u32 = 1032192; +pub const IMAGE_HOT_PATCH_CHUNK_SOURCE_RVA: u32 = 32768; +pub const IMAGE_HOT_PATCH_CHUNK_TARGET_RVA: u32 = 16384; +pub const IMAGE_HOT_PATCH_CHUNK_SIZE: u32 = 4095; +pub const IMAGE_HOT_PATCH_NONE: u32 = 0; +pub const IMAGE_HOT_PATCH_FUNCTION: u32 = 114688; +pub const IMAGE_HOT_PATCH_ABSOLUTE: u32 = 180224; +pub const IMAGE_HOT_PATCH_REL32: u32 = 245760; +pub const IMAGE_HOT_PATCH_CALL_TARGET: u32 = 278528; +pub const IMAGE_HOT_PATCH_INDIRECT: u32 = 376832; +pub const IMAGE_HOT_PATCH_NO_CALL_TARGET: u32 = 409600; +pub const IMAGE_HOT_PATCH_DYNAMIC_VALUE: u32 = 491520; +pub const IMAGE_GUARD_CF_INSTRUMENTED: u32 = 256; +pub const IMAGE_GUARD_CFW_INSTRUMENTED: u32 = 512; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_PRESENT: u32 = 1024; +pub const IMAGE_GUARD_SECURITY_COOKIE_UNUSED: u32 = 2048; +pub const IMAGE_GUARD_PROTECT_DELAYLOAD_IAT: u32 = 4096; +pub const IMAGE_GUARD_DELAYLOAD_IAT_IN_ITS_OWN_SECTION: u32 = 8192; +pub const IMAGE_GUARD_CF_EXPORT_SUPPRESSION_INFO_PRESENT: u32 = 16384; +pub const IMAGE_GUARD_CF_ENABLE_EXPORT_SUPPRESSION: u32 = 32768; +pub const IMAGE_GUARD_CF_LONGJUMP_TABLE_PRESENT: u32 = 65536; +pub const IMAGE_GUARD_RF_INSTRUMENTED: u32 = 131072; +pub const IMAGE_GUARD_RF_ENABLE: u32 = 262144; +pub const IMAGE_GUARD_RF_STRICT: u32 = 524288; +pub const IMAGE_GUARD_RETPOLINE_PRESENT: u32 = 1048576; +pub const IMAGE_GUARD_EH_CONTINUATION_TABLE_PRESENT: u32 = 4194304; +pub const IMAGE_GUARD_XFG_ENABLED: u32 = 8388608; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_MASK: u32 = 4026531840; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT: u32 = 28; +pub const IMAGE_GUARD_FLAG_FID_SUPPRESSED: u32 = 1; +pub const IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED: u32 = 2; +pub const IMAGE_GUARD_FLAG_FID_LANGEXCPTHANDLER: u32 = 4; +pub const IMAGE_GUARD_FLAG_FID_XFG: u32 = 8; +pub const IMAGE_ENCLAVE_LONG_ID_LENGTH: u32 = 32; +pub const IMAGE_ENCLAVE_SHORT_ID_LENGTH: u32 = 16; +pub const IMAGE_ENCLAVE_POLICY_DEBUGGABLE: u32 = 1; +pub const IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE: u32 = 1; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_NONE: u32 = 0; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_UNIQUE_ID: u32 = 1; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_AUTHOR_ID: u32 = 2; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_FAMILY_ID: u32 = 3; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_IMAGE_ID: u32 = 4; +pub const IMAGE_DEBUG_TYPE_UNKNOWN: u32 = 0; +pub const IMAGE_DEBUG_TYPE_COFF: u32 = 1; +pub const IMAGE_DEBUG_TYPE_CODEVIEW: u32 = 2; +pub const IMAGE_DEBUG_TYPE_FPO: u32 = 3; +pub const IMAGE_DEBUG_TYPE_MISC: u32 = 4; +pub const IMAGE_DEBUG_TYPE_EXCEPTION: u32 = 5; +pub const IMAGE_DEBUG_TYPE_FIXUP: u32 = 6; +pub const IMAGE_DEBUG_TYPE_OMAP_TO_SRC: u32 = 7; +pub const IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: u32 = 8; +pub const IMAGE_DEBUG_TYPE_BORLAND: u32 = 9; +pub const IMAGE_DEBUG_TYPE_RESERVED10: u32 = 10; +pub const IMAGE_DEBUG_TYPE_CLSID: u32 = 11; +pub const IMAGE_DEBUG_TYPE_VC_FEATURE: u32 = 12; +pub const IMAGE_DEBUG_TYPE_POGO: u32 = 13; +pub const IMAGE_DEBUG_TYPE_ILTCG: u32 = 14; +pub const IMAGE_DEBUG_TYPE_MPX: u32 = 15; +pub const IMAGE_DEBUG_TYPE_REPRO: u32 = 16; +pub const IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS: u32 = 20; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT: u32 = 1; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT_STRICT_MODE: u32 = 2; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE: u32 = 4; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_DYNAMIC_APIS_ALLOW_IN_PROC: u32 = 8; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_RESERVED_1: u32 = 16; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_RESERVED_2: u32 = 32; +pub const FRAME_FPO: u32 = 0; +pub const FRAME_TRAP: u32 = 1; +pub const FRAME_TSS: u32 = 2; +pub const FRAME_NONFPO: u32 = 3; +pub const SIZEOF_RFPO_DATA: u32 = 16; +pub const IMAGE_DEBUG_MISC_EXENAME: u32 = 1; +pub const IMAGE_SEPARATE_DEBUG_SIGNATURE: u32 = 18756; +pub const NON_PAGED_DEBUG_SIGNATURE: u32 = 18766; +pub const IMAGE_SEPARATE_DEBUG_FLAGS_MASK: u32 = 32768; +pub const IMAGE_SEPARATE_DEBUG_MISMATCH: u32 = 32768; +pub const IMPORT_OBJECT_HDR_SIG2: u32 = 65535; +pub const UNWIND_HISTORY_TABLE_SIZE: u32 = 12; +pub const RTL_RUN_ONCE_CHECK_ONLY: u32 = 1; +pub const RTL_RUN_ONCE_ASYNC: u32 = 2; +pub const RTL_RUN_ONCE_INIT_FAILED: u32 = 4; +pub const RTL_RUN_ONCE_CTX_RESERVED_BITS: u32 = 2; +pub const FAST_FAIL_LEGACY_GS_VIOLATION: u32 = 0; +pub const FAST_FAIL_VTGUARD_CHECK_FAILURE: u32 = 1; +pub const FAST_FAIL_STACK_COOKIE_CHECK_FAILURE: u32 = 2; +pub const FAST_FAIL_CORRUPT_LIST_ENTRY: u32 = 3; +pub const FAST_FAIL_INCORRECT_STACK: u32 = 4; +pub const FAST_FAIL_INVALID_ARG: u32 = 5; +pub const FAST_FAIL_GS_COOKIE_INIT: u32 = 6; +pub const FAST_FAIL_FATAL_APP_EXIT: u32 = 7; +pub const FAST_FAIL_RANGE_CHECK_FAILURE: u32 = 8; +pub const FAST_FAIL_UNSAFE_REGISTRY_ACCESS: u32 = 9; +pub const FAST_FAIL_GUARD_ICALL_CHECK_FAILURE: u32 = 10; +pub const FAST_FAIL_GUARD_WRITE_CHECK_FAILURE: u32 = 11; +pub const FAST_FAIL_INVALID_FIBER_SWITCH: u32 = 12; +pub const FAST_FAIL_INVALID_SET_OF_CONTEXT: u32 = 13; +pub const FAST_FAIL_INVALID_REFERENCE_COUNT: u32 = 14; +pub const FAST_FAIL_INVALID_JUMP_BUFFER: u32 = 18; +pub const FAST_FAIL_MRDATA_MODIFIED: u32 = 19; +pub const FAST_FAIL_CERTIFICATION_FAILURE: u32 = 20; +pub const FAST_FAIL_INVALID_EXCEPTION_CHAIN: u32 = 21; +pub const FAST_FAIL_CRYPTO_LIBRARY: u32 = 22; +pub const FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT: u32 = 23; +pub const FAST_FAIL_INVALID_IMAGE_BASE: u32 = 24; +pub const FAST_FAIL_DLOAD_PROTECTION_FAILURE: u32 = 25; +pub const FAST_FAIL_UNSAFE_EXTENSION_CALL: u32 = 26; +pub const FAST_FAIL_DEPRECATED_SERVICE_INVOKED: u32 = 27; +pub const FAST_FAIL_INVALID_BUFFER_ACCESS: u32 = 28; +pub const FAST_FAIL_INVALID_BALANCED_TREE: u32 = 29; +pub const FAST_FAIL_INVALID_NEXT_THREAD: u32 = 30; +pub const FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED: u32 = 31; +pub const FAST_FAIL_APCS_DISABLED: u32 = 32; +pub const FAST_FAIL_INVALID_IDLE_STATE: u32 = 33; +pub const FAST_FAIL_MRDATA_PROTECTION_FAILURE: u32 = 34; +pub const FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION: u32 = 35; +pub const FAST_FAIL_INVALID_LOCK_STATE: u32 = 36; +pub const FAST_FAIL_GUARD_JUMPTABLE: u32 = 37; +pub const FAST_FAIL_INVALID_LONGJUMP_TARGET: u32 = 38; +pub const FAST_FAIL_INVALID_DISPATCH_CONTEXT: u32 = 39; +pub const FAST_FAIL_INVALID_THREAD: u32 = 40; +pub const FAST_FAIL_INVALID_SYSCALL_NUMBER: u32 = 41; +pub const FAST_FAIL_INVALID_FILE_OPERATION: u32 = 42; +pub const FAST_FAIL_LPAC_ACCESS_DENIED: u32 = 43; +pub const FAST_FAIL_GUARD_SS_FAILURE: u32 = 44; +pub const FAST_FAIL_LOADER_CONTINUITY_FAILURE: u32 = 45; +pub const FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE: u32 = 46; +pub const FAST_FAIL_INVALID_CONTROL_STACK: u32 = 47; +pub const FAST_FAIL_SET_CONTEXT_DENIED: u32 = 48; +pub const FAST_FAIL_INVALID_IAT: u32 = 49; +pub const FAST_FAIL_HEAP_METADATA_CORRUPTION: u32 = 50; +pub const FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION: u32 = 51; +pub const FAST_FAIL_LOW_LABEL_ACCESS_DENIED: u32 = 52; +pub const FAST_FAIL_ENCLAVE_CALL_FAILURE: u32 = 53; +pub const FAST_FAIL_UNHANDLED_LSS_EXCEPTON: u32 = 54; +pub const FAST_FAIL_ADMINLESS_ACCESS_DENIED: u32 = 55; +pub const FAST_FAIL_UNEXPECTED_CALL: u32 = 56; +pub const FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS: u32 = 57; +pub const FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR: u32 = 58; +pub const FAST_FAIL_FLAGS_CORRUPTION: u32 = 59; +pub const FAST_FAIL_VEH_CORRUPTION: u32 = 60; +pub const FAST_FAIL_ETW_CORRUPTION: u32 = 61; +pub const FAST_FAIL_RIO_ABORT: u32 = 62; +pub const FAST_FAIL_INVALID_PFN: u32 = 63; +pub const FAST_FAIL_GUARD_ICALL_CHECK_FAILURE_XFG: u32 = 64; +pub const FAST_FAIL_CAST_GUARD: u32 = 65; +pub const FAST_FAIL_HOST_VISIBILITY_CHANGE: u32 = 66; +pub const FAST_FAIL_KERNEL_CET_SHADOW_STACK_ASSIST: u32 = 67; +pub const FAST_FAIL_PATCH_CALLBACK_FAILED: u32 = 68; +pub const FAST_FAIL_NTDLL_PATCH_FAILED: u32 = 69; +pub const FAST_FAIL_INVALID_FLS_DATA: u32 = 70; +pub const FAST_FAIL_INVALID_FAST_FAIL_CODE: u32 = 4294967295; +pub const HEAP_NO_SERIALIZE: u32 = 1; +pub const HEAP_GROWABLE: u32 = 2; +pub const HEAP_GENERATE_EXCEPTIONS: u32 = 4; +pub const HEAP_ZERO_MEMORY: u32 = 8; +pub const HEAP_REALLOC_IN_PLACE_ONLY: u32 = 16; +pub const HEAP_TAIL_CHECKING_ENABLED: u32 = 32; +pub const HEAP_FREE_CHECKING_ENABLED: u32 = 64; +pub const HEAP_DISABLE_COALESCE_ON_FREE: u32 = 128; +pub const HEAP_CREATE_ALIGN_16: u32 = 65536; +pub const HEAP_CREATE_ENABLE_TRACING: u32 = 131072; +pub const HEAP_CREATE_ENABLE_EXECUTE: u32 = 262144; +pub const HEAP_MAXIMUM_TAG: u32 = 4095; +pub const HEAP_PSEUDO_TAG_FLAG: u32 = 32768; +pub const HEAP_TAG_SHIFT: u32 = 18; +pub const HEAP_CREATE_SEGMENT_HEAP: u32 = 256; +pub const HEAP_CREATE_HARDENED: u32 = 512; +pub const IS_TEXT_UNICODE_ASCII16: u32 = 1; +pub const IS_TEXT_UNICODE_REVERSE_ASCII16: u32 = 16; +pub const IS_TEXT_UNICODE_STATISTICS: u32 = 2; +pub const IS_TEXT_UNICODE_REVERSE_STATISTICS: u32 = 32; +pub const IS_TEXT_UNICODE_CONTROLS: u32 = 4; +pub const IS_TEXT_UNICODE_REVERSE_CONTROLS: u32 = 64; +pub const IS_TEXT_UNICODE_SIGNATURE: u32 = 8; +pub const IS_TEXT_UNICODE_REVERSE_SIGNATURE: u32 = 128; +pub const IS_TEXT_UNICODE_ILLEGAL_CHARS: u32 = 256; +pub const IS_TEXT_UNICODE_ODD_LENGTH: u32 = 512; +pub const IS_TEXT_UNICODE_DBCS_LEADBYTE: u32 = 1024; +pub const IS_TEXT_UNICODE_UTF8: u32 = 2048; +pub const IS_TEXT_UNICODE_NULL_BYTES: u32 = 4096; +pub const IS_TEXT_UNICODE_UNICODE_MASK: u32 = 15; +pub const IS_TEXT_UNICODE_REVERSE_MASK: u32 = 240; +pub const IS_TEXT_UNICODE_NOT_UNICODE_MASK: u32 = 3840; +pub const IS_TEXT_UNICODE_NOT_ASCII_MASK: u32 = 61440; +pub const COMPRESSION_FORMAT_NONE: u32 = 0; +pub const COMPRESSION_FORMAT_DEFAULT: u32 = 1; +pub const COMPRESSION_FORMAT_LZNT1: u32 = 2; +pub const COMPRESSION_FORMAT_XPRESS: u32 = 3; +pub const COMPRESSION_FORMAT_XPRESS_HUFF: u32 = 4; +pub const COMPRESSION_FORMAT_XP10: u32 = 5; +pub const COMPRESSION_ENGINE_STANDARD: u32 = 0; +pub const COMPRESSION_ENGINE_MAXIMUM: u32 = 256; +pub const COMPRESSION_ENGINE_HIBER: u32 = 512; +pub const SEF_DACL_AUTO_INHERIT: u32 = 1; +pub const SEF_SACL_AUTO_INHERIT: u32 = 2; +pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: u32 = 4; +pub const SEF_AVOID_PRIVILEGE_CHECK: u32 = 8; +pub const SEF_AVOID_OWNER_CHECK: u32 = 16; +pub const SEF_DEFAULT_OWNER_FROM_PARENT: u32 = 32; +pub const SEF_DEFAULT_GROUP_FROM_PARENT: u32 = 64; +pub const SEF_MACL_NO_WRITE_UP: u32 = 256; +pub const SEF_MACL_NO_READ_UP: u32 = 512; +pub const SEF_MACL_NO_EXECUTE_UP: u32 = 1024; +pub const SEF_AI_USE_EXTRA_PARAMS: u32 = 2048; +pub const SEF_AVOID_OWNER_RESTRICTION: u32 = 4096; +pub const SEF_FORCE_USER_MODE: u32 = 8192; +pub const SEF_MACL_VALID_FLAGS: u32 = 1792; +pub const MESSAGE_RESOURCE_UNICODE: u32 = 1; +pub const MESSAGE_RESOURCE_UTF8: u32 = 2; +pub const VER_EQUAL: u32 = 1; +pub const VER_GREATER: u32 = 2; +pub const VER_GREATER_EQUAL: u32 = 3; +pub const VER_LESS: u32 = 4; +pub const VER_LESS_EQUAL: u32 = 5; +pub const VER_AND: u32 = 6; +pub const VER_OR: u32 = 7; +pub const VER_CONDITION_MASK: u32 = 7; +pub const VER_NUM_BITS_PER_CONDITION_MASK: u32 = 3; +pub const VER_MINORVERSION: u32 = 1; +pub const VER_MAJORVERSION: u32 = 2; +pub const VER_BUILDNUMBER: u32 = 4; +pub const VER_PLATFORMID: u32 = 8; +pub const VER_SERVICEPACKMINOR: u32 = 16; +pub const VER_SERVICEPACKMAJOR: u32 = 32; +pub const VER_SUITENAME: u32 = 64; +pub const VER_PRODUCT_TYPE: u32 = 128; +pub const VER_NT_WORKSTATION: u32 = 1; +pub const VER_NT_DOMAIN_CONTROLLER: u32 = 2; +pub const VER_NT_SERVER: u32 = 3; +pub const VER_PLATFORM_WIN32s: u32 = 0; +pub const VER_PLATFORM_WIN32_WINDOWS: u32 = 1; +pub const VER_PLATFORM_WIN32_NT: u32 = 2; +pub const RTL_UMS_VERSION: u32 = 256; +pub const VRL_PREDEFINED_CLASS_BEGIN: u32 = 1; +pub const VRL_CUSTOM_CLASS_BEGIN: u32 = 256; +pub const VRL_CLASS_CONSISTENCY: u32 = 1; +pub const VRL_ENABLE_KERNEL_BREAKS: u32 = 2147483648; +pub const CTMF_INCLUDE_APPCONTAINER: u32 = 1; +pub const CTMF_INCLUDE_LPAC: u32 = 2; +pub const CTMF_VALID_FLAGS: u32 = 3; +pub const FLUSH_NV_MEMORY_IN_FLAG_NO_DRAIN: u32 = 1; +pub const WRITE_NV_MEMORY_FLAG_FLUSH: u32 = 1; +pub const WRITE_NV_MEMORY_FLAG_NON_TEMPORAL: u32 = 2; +pub const WRITE_NV_MEMORY_FLAG_PERSIST: u32 = 3; +pub const WRITE_NV_MEMORY_FLAG_NO_DRAIN: u32 = 256; +pub const FILL_NV_MEMORY_FLAG_FLUSH: u32 = 1; +pub const FILL_NV_MEMORY_FLAG_NON_TEMPORAL: u32 = 2; +pub const FILL_NV_MEMORY_FLAG_PERSIST: u32 = 3; +pub const FILL_NV_MEMORY_FLAG_NO_DRAIN: u32 = 256; +pub const RTL_CORRELATION_VECTOR_STRING_LENGTH: u32 = 129; +pub const RTL_CORRELATION_VECTOR_V1_PREFIX_LENGTH: u32 = 16; +pub const RTL_CORRELATION_VECTOR_V1_LENGTH: u32 = 64; +pub const RTL_CORRELATION_VECTOR_V2_PREFIX_LENGTH: u32 = 22; +pub const RTL_CORRELATION_VECTOR_V2_LENGTH: u32 = 128; +pub const IMAGE_POLICY_METADATA_VERSION: u32 = 1; +pub const IMAGE_POLICY_SECTION_NAME: &[u8; 9usize] = b".tPolicy\0"; +pub const RTL_VIRTUAL_UNWIND2_VALIDATE_PAC: u32 = 1; +pub const RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO: u32 = 16777216; +pub const RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN: u32 = 33554432; +pub const RTL_CRITICAL_SECTION_FLAG_STATIC_INIT: u32 = 67108864; +pub const RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE: u32 = 134217728; +pub const RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO: u32 = 268435456; +pub const RTL_CRITICAL_SECTION_ALL_FLAG_BITS: u32 = 4278190080; +pub const RTL_CRITICAL_SECTION_FLAG_RESERVED: u32 = 3758096384; +pub const RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT: u32 = 1; +pub const RTL_CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1; +pub const HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION: u32 = 1; +pub const WT_EXECUTEDEFAULT: u32 = 0; +pub const WT_EXECUTEINIOTHREAD: u32 = 1; +pub const WT_EXECUTEINUITHREAD: u32 = 2; +pub const WT_EXECUTEINWAITTHREAD: u32 = 4; +pub const WT_EXECUTEONLYONCE: u32 = 8; +pub const WT_EXECUTEINTIMERTHREAD: u32 = 32; +pub const WT_EXECUTELONGFUNCTION: u32 = 16; +pub const WT_EXECUTEINPERSISTENTIOTHREAD: u32 = 64; +pub const WT_EXECUTEINPERSISTENTTHREAD: u32 = 128; +pub const WT_TRANSFER_IMPERSONATION: u32 = 256; +pub const WT_EXECUTEINLONGTHREAD: u32 = 16; +pub const WT_EXECUTEDELETEWAIT: u32 = 8; +pub const ACTIVATION_CONTEXT_PATH_TYPE_NONE: u32 = 1; +pub const ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE: u32 = 2; +pub const ACTIVATION_CONTEXT_PATH_TYPE_URL: u32 = 3; +pub const ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF: u32 = 4; +pub const CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID: u32 = 1; +pub const PERFORMANCE_DATA_VERSION: u32 = 1; +pub const READ_THREAD_PROFILING_FLAG_DISPATCHING: u32 = 1; +pub const READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS: u32 = 2; +pub const UNIFIEDBUILDREVISION_KEY: &[u8; 63usize] = + b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\0"; +pub const UNIFIEDBUILDREVISION_VALUE: &[u8; 4usize] = b"UBR\0"; +pub const UNIFIEDBUILDREVISION_MIN: u32 = 0; +pub const DEVICEFAMILYDEVICEFORM_KEY: &[u8; 67usize] = + b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\OEM\0"; +pub const DEVICEFAMILYDEVICEFORM_VALUE: &[u8; 11usize] = b"DeviceForm\0"; +pub const DEVICEFAMILYINFOENUM_UAP: u32 = 0; +pub const DEVICEFAMILYINFOENUM_WINDOWS_8X: u32 = 1; +pub const DEVICEFAMILYINFOENUM_WINDOWS_PHONE_8X: u32 = 2; +pub const DEVICEFAMILYINFOENUM_DESKTOP: u32 = 3; +pub const DEVICEFAMILYINFOENUM_MOBILE: u32 = 4; +pub const DEVICEFAMILYINFOENUM_XBOX: u32 = 5; +pub const DEVICEFAMILYINFOENUM_TEAM: u32 = 6; +pub const DEVICEFAMILYINFOENUM_IOT: u32 = 7; +pub const DEVICEFAMILYINFOENUM_IOT_HEADLESS: u32 = 8; +pub const DEVICEFAMILYINFOENUM_SERVER: u32 = 9; +pub const DEVICEFAMILYINFOENUM_HOLOGRAPHIC: u32 = 10; +pub const DEVICEFAMILYINFOENUM_XBOXSRA: u32 = 11; +pub const DEVICEFAMILYINFOENUM_XBOXERA: u32 = 12; +pub const DEVICEFAMILYINFOENUM_SERVER_NANO: u32 = 13; +pub const DEVICEFAMILYINFOENUM_8828080: u32 = 14; +pub const DEVICEFAMILYINFOENUM_7067329: u32 = 15; +pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE: u32 = 16; +pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE_HEADLESS: u32 = 17; +pub const DEVICEFAMILYINFOENUM_MAX: u32 = 17; +pub const DEVICEFAMILYDEVICEFORM_UNKNOWN: u32 = 0; +pub const DEVICEFAMILYDEVICEFORM_PHONE: u32 = 1; +pub const DEVICEFAMILYDEVICEFORM_TABLET: u32 = 2; +pub const DEVICEFAMILYDEVICEFORM_DESKTOP: u32 = 3; +pub const DEVICEFAMILYDEVICEFORM_NOTEBOOK: u32 = 4; +pub const DEVICEFAMILYDEVICEFORM_CONVERTIBLE: u32 = 5; +pub const DEVICEFAMILYDEVICEFORM_DETACHABLE: u32 = 6; +pub const DEVICEFAMILYDEVICEFORM_ALLINONE: u32 = 7; +pub const DEVICEFAMILYDEVICEFORM_STICKPC: u32 = 8; +pub const DEVICEFAMILYDEVICEFORM_PUCK: u32 = 9; +pub const DEVICEFAMILYDEVICEFORM_LARGESCREEN: u32 = 10; +pub const DEVICEFAMILYDEVICEFORM_HMD: u32 = 11; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_HANDHELD: u32 = 12; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_TABLET: u32 = 13; +pub const DEVICEFAMILYDEVICEFORM_BANKING: u32 = 14; +pub const DEVICEFAMILYDEVICEFORM_BUILDING_AUTOMATION: u32 = 15; +pub const DEVICEFAMILYDEVICEFORM_DIGITAL_SIGNAGE: u32 = 16; +pub const DEVICEFAMILYDEVICEFORM_GAMING: u32 = 17; +pub const DEVICEFAMILYDEVICEFORM_HOME_AUTOMATION: u32 = 18; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRIAL_AUTOMATION: u32 = 19; +pub const DEVICEFAMILYDEVICEFORM_KIOSK: u32 = 20; +pub const DEVICEFAMILYDEVICEFORM_MAKER_BOARD: u32 = 21; +pub const DEVICEFAMILYDEVICEFORM_MEDICAL: u32 = 22; +pub const DEVICEFAMILYDEVICEFORM_NETWORKING: u32 = 23; +pub const DEVICEFAMILYDEVICEFORM_POINT_OF_SERVICE: u32 = 24; +pub const DEVICEFAMILYDEVICEFORM_PRINTING: u32 = 25; +pub const DEVICEFAMILYDEVICEFORM_THIN_CLIENT: u32 = 26; +pub const DEVICEFAMILYDEVICEFORM_TOY: u32 = 27; +pub const DEVICEFAMILYDEVICEFORM_VENDING: u32 = 28; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_OTHER: u32 = 29; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE: u32 = 30; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_S: u32 = 31; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X: u32 = 32; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X_DEVKIT: u32 = 33; +pub const DEVICEFAMILYDEVICEFORM_XBOX_SERIES_X: u32 = 34; +pub const DEVICEFAMILYDEVICEFORM_XBOX_SERIES_X_DEVKIT: u32 = 35; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_00: u32 = 36; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_01: u32 = 37; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_02: u32 = 38; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_03: u32 = 39; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_04: u32 = 40; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_05: u32 = 41; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_06: u32 = 42; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_07: u32 = 43; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_08: u32 = 44; +pub const DEVICEFAMILYDEVICEFORM_XBOX_RESERVED_09: u32 = 45; +pub const DEVICEFAMILYDEVICEFORM_MAX: u32 = 45; +pub const DLL_PROCESS_ATTACH: u32 = 1; +pub const DLL_THREAD_ATTACH: u32 = 2; +pub const DLL_THREAD_DETACH: u32 = 3; +pub const DLL_PROCESS_DETACH: u32 = 0; +pub const EVENTLOG_SEQUENTIAL_READ: u32 = 1; +pub const EVENTLOG_SEEK_READ: u32 = 2; +pub const EVENTLOG_FORWARDS_READ: u32 = 4; +pub const EVENTLOG_BACKWARDS_READ: u32 = 8; +pub const EVENTLOG_SUCCESS: u32 = 0; +pub const EVENTLOG_ERROR_TYPE: u32 = 1; +pub const EVENTLOG_WARNING_TYPE: u32 = 2; +pub const EVENTLOG_INFORMATION_TYPE: u32 = 4; +pub const EVENTLOG_AUDIT_SUCCESS: u32 = 8; +pub const EVENTLOG_AUDIT_FAILURE: u32 = 16; +pub const EVENTLOG_START_PAIRED_EVENT: u32 = 1; +pub const EVENTLOG_END_PAIRED_EVENT: u32 = 2; +pub const EVENTLOG_END_ALL_PAIRED_EVENTS: u32 = 4; +pub const EVENTLOG_PAIRED_EVENT_ACTIVE: u32 = 8; +pub const EVENTLOG_PAIRED_EVENT_INACTIVE: u32 = 16; +pub const MAXLOGICALLOGNAMESIZE: u32 = 256; +pub const KEY_QUERY_VALUE: u32 = 1; +pub const KEY_SET_VALUE: u32 = 2; +pub const KEY_CREATE_SUB_KEY: u32 = 4; +pub const KEY_ENUMERATE_SUB_KEYS: u32 = 8; +pub const KEY_NOTIFY: u32 = 16; +pub const KEY_CREATE_LINK: u32 = 32; +pub const KEY_WOW64_32KEY: u32 = 512; +pub const KEY_WOW64_64KEY: u32 = 256; +pub const KEY_WOW64_RES: u32 = 768; +pub const KEY_READ: u32 = 131097; +pub const KEY_WRITE: u32 = 131078; +pub const KEY_EXECUTE: u32 = 131097; +pub const KEY_ALL_ACCESS: u32 = 983103; +pub const REG_OPTION_RESERVED: u32 = 0; +pub const REG_OPTION_NON_VOLATILE: u32 = 0; +pub const REG_OPTION_VOLATILE: u32 = 1; +pub const REG_OPTION_CREATE_LINK: u32 = 2; +pub const REG_OPTION_BACKUP_RESTORE: u32 = 4; +pub const REG_OPTION_OPEN_LINK: u32 = 8; +pub const REG_OPTION_DONT_VIRTUALIZE: u32 = 16; +pub const REG_LEGAL_OPTION: u32 = 31; +pub const REG_OPEN_LEGAL_OPTION: u32 = 28; +pub const REG_CREATED_NEW_KEY: u32 = 1; +pub const REG_OPENED_EXISTING_KEY: u32 = 2; +pub const REG_STANDARD_FORMAT: u32 = 1; +pub const REG_LATEST_FORMAT: u32 = 2; +pub const REG_NO_COMPRESSION: u32 = 4; +pub const REG_WHOLE_HIVE_VOLATILE: u32 = 1; +pub const REG_REFRESH_HIVE: u32 = 2; +pub const REG_NO_LAZY_FLUSH: u32 = 4; +pub const REG_FORCE_RESTORE: u32 = 8; +pub const REG_APP_HIVE: u32 = 16; +pub const REG_PROCESS_PRIVATE: u32 = 32; +pub const REG_START_JOURNAL: u32 = 64; +pub const REG_HIVE_EXACT_FILE_GROWTH: u32 = 128; +pub const REG_HIVE_NO_RM: u32 = 256; +pub const REG_HIVE_SINGLE_LOG: u32 = 512; +pub const REG_BOOT_HIVE: u32 = 1024; +pub const REG_LOAD_HIVE_OPEN_HANDLE: u32 = 2048; +pub const REG_FLUSH_HIVE_FILE_GROWTH: u32 = 4096; +pub const REG_OPEN_READ_ONLY: u32 = 8192; +pub const REG_IMMUTABLE: u32 = 16384; +pub const REG_NO_IMPERSONATION_FALLBACK: u32 = 32768; +pub const REG_APP_HIVE_OPEN_READ_ONLY: u32 = 8192; +pub const REG_FORCE_UNLOAD: u32 = 1; +pub const REG_UNLOAD_LEGAL_FLAGS: u32 = 1; +pub const REG_NOTIFY_CHANGE_NAME: u32 = 1; +pub const REG_NOTIFY_CHANGE_ATTRIBUTES: u32 = 2; +pub const REG_NOTIFY_CHANGE_LAST_SET: u32 = 4; +pub const REG_NOTIFY_CHANGE_SECURITY: u32 = 8; +pub const REG_NOTIFY_THREAD_AGNOSTIC: u32 = 268435456; +pub const REG_LEGAL_CHANGE_FILTER: u32 = 268435471; +pub const REG_NONE: u32 = 0; +pub const REG_SZ: u32 = 1; +pub const REG_EXPAND_SZ: u32 = 2; +pub const REG_BINARY: u32 = 3; +pub const REG_DWORD: u32 = 4; +pub const REG_DWORD_LITTLE_ENDIAN: u32 = 4; +pub const REG_DWORD_BIG_ENDIAN: u32 = 5; +pub const REG_LINK: u32 = 6; +pub const REG_MULTI_SZ: u32 = 7; +pub const REG_RESOURCE_LIST: u32 = 8; +pub const REG_FULL_RESOURCE_DESCRIPTOR: u32 = 9; +pub const REG_RESOURCE_REQUIREMENTS_LIST: u32 = 10; +pub const REG_QWORD: u32 = 11; +pub const REG_QWORD_LITTLE_ENDIAN: u32 = 11; +pub const SERVICE_KERNEL_DRIVER: u32 = 1; +pub const SERVICE_FILE_SYSTEM_DRIVER: u32 = 2; +pub const SERVICE_ADAPTER: u32 = 4; +pub const SERVICE_RECOGNIZER_DRIVER: u32 = 8; +pub const SERVICE_DRIVER: u32 = 11; +pub const SERVICE_WIN32_OWN_PROCESS: u32 = 16; +pub const SERVICE_WIN32_SHARE_PROCESS: u32 = 32; +pub const SERVICE_WIN32: u32 = 48; +pub const SERVICE_USER_SERVICE: u32 = 64; +pub const SERVICE_USERSERVICE_INSTANCE: u32 = 128; +pub const SERVICE_USER_SHARE_PROCESS: u32 = 96; +pub const SERVICE_USER_OWN_PROCESS: u32 = 80; +pub const SERVICE_INTERACTIVE_PROCESS: u32 = 256; +pub const SERVICE_PKG_SERVICE: u32 = 512; +pub const SERVICE_TYPE_ALL: u32 = 1023; +pub const SERVICE_BOOT_START: u32 = 0; +pub const SERVICE_SYSTEM_START: u32 = 1; +pub const SERVICE_AUTO_START: u32 = 2; +pub const SERVICE_DEMAND_START: u32 = 3; +pub const SERVICE_DISABLED: u32 = 4; +pub const SERVICE_ERROR_IGNORE: u32 = 0; +pub const SERVICE_ERROR_NORMAL: u32 = 1; +pub const SERVICE_ERROR_SEVERE: u32 = 2; +pub const SERVICE_ERROR_CRITICAL: u32 = 3; +pub const CM_SERVICE_NETWORK_BOOT_LOAD: u32 = 1; +pub const CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD: u32 = 2; +pub const CM_SERVICE_USB_DISK_BOOT_LOAD: u32 = 4; +pub const CM_SERVICE_SD_DISK_BOOT_LOAD: u32 = 8; +pub const CM_SERVICE_USB3_DISK_BOOT_LOAD: u32 = 16; +pub const CM_SERVICE_MEASURED_BOOT_LOAD: u32 = 32; +pub const CM_SERVICE_VERIFIER_BOOT_LOAD: u32 = 64; +pub const CM_SERVICE_WINPE_BOOT_LOAD: u32 = 128; +pub const CM_SERVICE_RAM_DISK_BOOT_LOAD: u32 = 256; +pub const CM_SERVICE_VALID_PROMOTION_MASK: u32 = 511; +pub const TAPE_ERASE_SHORT: u32 = 0; +pub const TAPE_ERASE_LONG: u32 = 1; +pub const TAPE_LOAD: u32 = 0; +pub const TAPE_UNLOAD: u32 = 1; +pub const TAPE_TENSION: u32 = 2; +pub const TAPE_LOCK: u32 = 3; +pub const TAPE_UNLOCK: u32 = 4; +pub const TAPE_FORMAT: u32 = 5; +pub const TAPE_SETMARKS: u32 = 0; +pub const TAPE_FILEMARKS: u32 = 1; +pub const TAPE_SHORT_FILEMARKS: u32 = 2; +pub const TAPE_LONG_FILEMARKS: u32 = 3; +pub const TAPE_ABSOLUTE_POSITION: u32 = 0; +pub const TAPE_LOGICAL_POSITION: u32 = 1; +pub const TAPE_PSEUDO_LOGICAL_POSITION: u32 = 2; +pub const TAPE_REWIND: u32 = 0; +pub const TAPE_ABSOLUTE_BLOCK: u32 = 1; +pub const TAPE_LOGICAL_BLOCK: u32 = 2; +pub const TAPE_PSEUDO_LOGICAL_BLOCK: u32 = 3; +pub const TAPE_SPACE_END_OF_DATA: u32 = 4; +pub const TAPE_SPACE_RELATIVE_BLOCKS: u32 = 5; +pub const TAPE_SPACE_FILEMARKS: u32 = 6; +pub const TAPE_SPACE_SEQUENTIAL_FMKS: u32 = 7; +pub const TAPE_SPACE_SETMARKS: u32 = 8; +pub const TAPE_SPACE_SEQUENTIAL_SMKS: u32 = 9; +pub const TAPE_DRIVE_FIXED: u32 = 1; +pub const TAPE_DRIVE_SELECT: u32 = 2; +pub const TAPE_DRIVE_INITIATOR: u32 = 4; +pub const TAPE_DRIVE_ERASE_SHORT: u32 = 16; +pub const TAPE_DRIVE_ERASE_LONG: u32 = 32; +pub const TAPE_DRIVE_ERASE_BOP_ONLY: u32 = 64; +pub const TAPE_DRIVE_ERASE_IMMEDIATE: u32 = 128; +pub const TAPE_DRIVE_TAPE_CAPACITY: u32 = 256; +pub const TAPE_DRIVE_TAPE_REMAINING: u32 = 512; +pub const TAPE_DRIVE_FIXED_BLOCK: u32 = 1024; +pub const TAPE_DRIVE_VARIABLE_BLOCK: u32 = 2048; +pub const TAPE_DRIVE_WRITE_PROTECT: u32 = 4096; +pub const TAPE_DRIVE_EOT_WZ_SIZE: u32 = 8192; +pub const TAPE_DRIVE_ECC: u32 = 65536; +pub const TAPE_DRIVE_COMPRESSION: u32 = 131072; +pub const TAPE_DRIVE_PADDING: u32 = 262144; +pub const TAPE_DRIVE_REPORT_SMKS: u32 = 524288; +pub const TAPE_DRIVE_GET_ABSOLUTE_BLK: u32 = 1048576; +pub const TAPE_DRIVE_GET_LOGICAL_BLK: u32 = 2097152; +pub const TAPE_DRIVE_SET_EOT_WZ_SIZE: u32 = 4194304; +pub const TAPE_DRIVE_EJECT_MEDIA: u32 = 16777216; +pub const TAPE_DRIVE_CLEAN_REQUESTS: u32 = 33554432; +pub const TAPE_DRIVE_SET_CMP_BOP_ONLY: u32 = 67108864; +pub const TAPE_DRIVE_RESERVED_BIT: u32 = 2147483648; +pub const TAPE_DRIVE_LOAD_UNLOAD: u32 = 2147483649; +pub const TAPE_DRIVE_TENSION: u32 = 2147483650; +pub const TAPE_DRIVE_LOCK_UNLOCK: u32 = 2147483652; +pub const TAPE_DRIVE_REWIND_IMMEDIATE: u32 = 2147483656; +pub const TAPE_DRIVE_SET_BLOCK_SIZE: u32 = 2147483664; +pub const TAPE_DRIVE_LOAD_UNLD_IMMED: u32 = 2147483680; +pub const TAPE_DRIVE_TENSION_IMMED: u32 = 2147483712; +pub const TAPE_DRIVE_LOCK_UNLK_IMMED: u32 = 2147483776; +pub const TAPE_DRIVE_SET_ECC: u32 = 2147483904; +pub const TAPE_DRIVE_SET_COMPRESSION: u32 = 2147484160; +pub const TAPE_DRIVE_SET_PADDING: u32 = 2147484672; +pub const TAPE_DRIVE_SET_REPORT_SMKS: u32 = 2147485696; +pub const TAPE_DRIVE_ABSOLUTE_BLK: u32 = 2147487744; +pub const TAPE_DRIVE_ABS_BLK_IMMED: u32 = 2147491840; +pub const TAPE_DRIVE_LOGICAL_BLK: u32 = 2147500032; +pub const TAPE_DRIVE_LOG_BLK_IMMED: u32 = 2147516416; +pub const TAPE_DRIVE_END_OF_DATA: u32 = 2147549184; +pub const TAPE_DRIVE_RELATIVE_BLKS: u32 = 2147614720; +pub const TAPE_DRIVE_FILEMARKS: u32 = 2147745792; +pub const TAPE_DRIVE_SEQUENTIAL_FMKS: u32 = 2148007936; +pub const TAPE_DRIVE_SETMARKS: u32 = 2148532224; +pub const TAPE_DRIVE_SEQUENTIAL_SMKS: u32 = 2149580800; +pub const TAPE_DRIVE_REVERSE_POSITION: u32 = 2151677952; +pub const TAPE_DRIVE_SPACE_IMMEDIATE: u32 = 2155872256; +pub const TAPE_DRIVE_WRITE_SETMARKS: u32 = 2164260864; +pub const TAPE_DRIVE_WRITE_FILEMARKS: u32 = 2181038080; +pub const TAPE_DRIVE_WRITE_SHORT_FMKS: u32 = 2214592512; +pub const TAPE_DRIVE_WRITE_LONG_FMKS: u32 = 2281701376; +pub const TAPE_DRIVE_WRITE_MARK_IMMED: u32 = 2415919104; +pub const TAPE_DRIVE_FORMAT: u32 = 2684354560; +pub const TAPE_DRIVE_FORMAT_IMMEDIATE: u32 = 3221225472; +pub const TAPE_DRIVE_HIGH_FEATURES: u32 = 2147483648; +pub const TAPE_FIXED_PARTITIONS: u32 = 0; +pub const TAPE_SELECT_PARTITIONS: u32 = 1; +pub const TAPE_INITIATOR_PARTITIONS: u32 = 2; +pub const TAPE_QUERY_DRIVE_PARAMETERS: u32 = 0; +pub const TAPE_QUERY_MEDIA_CAPACITY: u32 = 1; +pub const TAPE_CHECK_FOR_DRIVE_PROBLEM: u32 = 2; +pub const TAPE_QUERY_IO_ERROR_DATA: u32 = 3; +pub const TAPE_QUERY_DEVICE_ERROR_DATA: u32 = 4; +pub const TRANSACTION_MANAGER_VOLATILE: u32 = 1; +pub const TRANSACTION_MANAGER_COMMIT_DEFAULT: u32 = 0; +pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME: u32 = 2; +pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES: u32 = 4; +pub const TRANSACTION_MANAGER_COMMIT_LOWEST: u32 = 8; +pub const TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY: u32 = 16; +pub const TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS: u32 = 32; +pub const TRANSACTION_MANAGER_MAXIMUM_OPTION: u32 = 63; +pub const TRANSACTION_DO_NOT_PROMOTE: u32 = 1; +pub const TRANSACTION_MAXIMUM_OPTION: u32 = 1; +pub const RESOURCE_MANAGER_VOLATILE: u32 = 1; +pub const RESOURCE_MANAGER_COMMUNICATION: u32 = 2; +pub const RESOURCE_MANAGER_MAXIMUM_OPTION: u32 = 3; +pub const CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY: u32 = 1; +pub const CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO: u32 = 2; +pub const CRM_PROTOCOL_MAXIMUM_OPTION: u32 = 3; +pub const ENLISTMENT_SUPERIOR: u32 = 1; +pub const ENLISTMENT_MAXIMUM_OPTION: u32 = 1; +pub const TRANSACTION_NOTIFY_MASK: u32 = 1073741823; +pub const TRANSACTION_NOTIFY_PREPREPARE: u32 = 1; +pub const TRANSACTION_NOTIFY_PREPARE: u32 = 2; +pub const TRANSACTION_NOTIFY_COMMIT: u32 = 4; +pub const TRANSACTION_NOTIFY_ROLLBACK: u32 = 8; +pub const TRANSACTION_NOTIFY_PREPREPARE_COMPLETE: u32 = 16; +pub const TRANSACTION_NOTIFY_PREPARE_COMPLETE: u32 = 32; +pub const TRANSACTION_NOTIFY_COMMIT_COMPLETE: u32 = 64; +pub const TRANSACTION_NOTIFY_ROLLBACK_COMPLETE: u32 = 128; +pub const TRANSACTION_NOTIFY_RECOVER: u32 = 256; +pub const TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT: u32 = 512; +pub const TRANSACTION_NOTIFY_DELEGATE_COMMIT: u32 = 1024; +pub const TRANSACTION_NOTIFY_RECOVER_QUERY: u32 = 2048; +pub const TRANSACTION_NOTIFY_ENLIST_PREPREPARE: u32 = 4096; +pub const TRANSACTION_NOTIFY_LAST_RECOVER: u32 = 8192; +pub const TRANSACTION_NOTIFY_INDOUBT: u32 = 16384; +pub const TRANSACTION_NOTIFY_PROPAGATE_PULL: u32 = 32768; +pub const TRANSACTION_NOTIFY_PROPAGATE_PUSH: u32 = 65536; +pub const TRANSACTION_NOTIFY_MARSHAL: u32 = 131072; +pub const TRANSACTION_NOTIFY_ENLIST_MASK: u32 = 262144; +pub const TRANSACTION_NOTIFY_RM_DISCONNECTED: u32 = 16777216; +pub const TRANSACTION_NOTIFY_TM_ONLINE: u32 = 33554432; +pub const TRANSACTION_NOTIFY_COMMIT_REQUEST: u32 = 67108864; +pub const TRANSACTION_NOTIFY_PROMOTE: u32 = 134217728; +pub const TRANSACTION_NOTIFY_PROMOTE_NEW: u32 = 268435456; +pub const TRANSACTION_NOTIFY_REQUEST_OUTCOME: u32 = 536870912; +pub const TRANSACTION_NOTIFY_COMMIT_FINALIZE: u32 = 1073741824; +pub const TRANSACTIONMANAGER_OBJECT_PATH: &[u8; 21usize] = b"\\TransactionManager\\\0"; +pub const TRANSACTION_OBJECT_PATH: &[u8; 14usize] = b"\\Transaction\\\0"; +pub const ENLISTMENT_OBJECT_PATH: &[u8; 13usize] = b"\\Enlistment\\\0"; +pub const RESOURCE_MANAGER_OBJECT_PATH: &[u8; 18usize] = b"\\ResourceManager\\\0"; +pub const TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED: u32 = 1; +pub const KTM_MARSHAL_BLOB_VERSION_MAJOR: u32 = 1; +pub const KTM_MARSHAL_BLOB_VERSION_MINOR: u32 = 1; +pub const MAX_TRANSACTION_DESCRIPTION_LENGTH: u32 = 64; +pub const MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH: u32 = 64; +pub const TRANSACTIONMANAGER_QUERY_INFORMATION: u32 = 1; +pub const TRANSACTIONMANAGER_SET_INFORMATION: u32 = 2; +pub const TRANSACTIONMANAGER_RECOVER: u32 = 4; +pub const TRANSACTIONMANAGER_RENAME: u32 = 8; +pub const TRANSACTIONMANAGER_CREATE_RM: u32 = 16; +pub const TRANSACTIONMANAGER_BIND_TRANSACTION: u32 = 32; +pub const TRANSACTIONMANAGER_GENERIC_READ: u32 = 131073; +pub const TRANSACTIONMANAGER_GENERIC_WRITE: u32 = 131102; +pub const TRANSACTIONMANAGER_GENERIC_EXECUTE: u32 = 131072; +pub const TRANSACTIONMANAGER_ALL_ACCESS: u32 = 983103; +pub const TRANSACTION_QUERY_INFORMATION: u32 = 1; +pub const TRANSACTION_SET_INFORMATION: u32 = 2; +pub const TRANSACTION_ENLIST: u32 = 4; +pub const TRANSACTION_COMMIT: u32 = 8; +pub const TRANSACTION_ROLLBACK: u32 = 16; +pub const TRANSACTION_PROPAGATE: u32 = 32; +pub const TRANSACTION_RIGHT_RESERVED1: u32 = 64; +pub const TRANSACTION_GENERIC_READ: u32 = 1179649; +pub const TRANSACTION_GENERIC_WRITE: u32 = 1179710; +pub const TRANSACTION_GENERIC_EXECUTE: u32 = 1179672; +pub const TRANSACTION_ALL_ACCESS: u32 = 2031679; +pub const TRANSACTION_RESOURCE_MANAGER_RIGHTS: u32 = 1179703; +pub const RESOURCEMANAGER_QUERY_INFORMATION: u32 = 1; +pub const RESOURCEMANAGER_SET_INFORMATION: u32 = 2; +pub const RESOURCEMANAGER_RECOVER: u32 = 4; +pub const RESOURCEMANAGER_ENLIST: u32 = 8; +pub const RESOURCEMANAGER_GET_NOTIFICATION: u32 = 16; +pub const RESOURCEMANAGER_REGISTER_PROTOCOL: u32 = 32; +pub const RESOURCEMANAGER_COMPLETE_PROPAGATION: u32 = 64; +pub const RESOURCEMANAGER_GENERIC_READ: u32 = 1179649; +pub const RESOURCEMANAGER_GENERIC_WRITE: u32 = 1179774; +pub const RESOURCEMANAGER_GENERIC_EXECUTE: u32 = 1179740; +pub const RESOURCEMANAGER_ALL_ACCESS: u32 = 2031743; +pub const ENLISTMENT_QUERY_INFORMATION: u32 = 1; +pub const ENLISTMENT_SET_INFORMATION: u32 = 2; +pub const ENLISTMENT_RECOVER: u32 = 4; +pub const ENLISTMENT_SUBORDINATE_RIGHTS: u32 = 8; +pub const ENLISTMENT_SUPERIOR_RIGHTS: u32 = 16; +pub const ENLISTMENT_GENERIC_READ: u32 = 131073; +pub const ENLISTMENT_GENERIC_WRITE: u32 = 131102; +pub const ENLISTMENT_GENERIC_EXECUTE: u32 = 131100; +pub const ENLISTMENT_ALL_ACCESS: u32 = 983071; +pub const ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION: u32 = 1; +pub const ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION: u32 = 2; +pub const ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION: u32 = 3; +pub const ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION: u32 = 4; +pub const ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION: u32 = 5; +pub const ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION: u32 = 6; +pub const ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION: u32 = 7; +pub const ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE: u32 = 8; +pub const ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES: u32 = 9; +pub const ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS: u32 = 10; +pub const ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO: u32 = 11; +pub const ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES: u32 = 12; +pub const APP_LOCAL_DEVICE_ID_SIZE: u32 = 32; +pub const DM_UPDATE: u32 = 1; +pub const DM_COPY: u32 = 2; +pub const DM_PROMPT: u32 = 4; +pub const DM_MODIFY: u32 = 8; +pub const DM_IN_BUFFER: u32 = 8; +pub const DM_IN_PROMPT: u32 = 4; +pub const DM_OUT_BUFFER: u32 = 2; +pub const DM_OUT_DEFAULT: u32 = 1; +pub const DC_FIELDS: u32 = 1; +pub const DC_PAPERS: u32 = 2; +pub const DC_PAPERSIZE: u32 = 3; +pub const DC_MINEXTENT: u32 = 4; +pub const DC_MAXEXTENT: u32 = 5; +pub const DC_BINS: u32 = 6; +pub const DC_DUPLEX: u32 = 7; +pub const DC_SIZE: u32 = 8; +pub const DC_EXTRA: u32 = 9; +pub const DC_VERSION: u32 = 10; +pub const DC_DRIVER: u32 = 11; +pub const DC_BINNAMES: u32 = 12; +pub const DC_ENUMRESOLUTIONS: u32 = 13; +pub const DC_FILEDEPENDENCIES: u32 = 14; +pub const DC_TRUETYPE: u32 = 15; +pub const DC_PAPERNAMES: u32 = 16; +pub const DC_ORIENTATION: u32 = 17; +pub const DC_COPIES: u32 = 18; +pub const FIND_FIRST_EX_CASE_SENSITIVE: u32 = 1; +pub const FIND_FIRST_EX_LARGE_FETCH: u32 = 2; +pub const FIND_FIRST_EX_ON_DISK_ENTRIES_ONLY: u32 = 4; +pub const LOCKFILE_FAIL_IMMEDIATELY: u32 = 1; +pub const LOCKFILE_EXCLUSIVE_LOCK: u32 = 2; +pub const PROCESS_HEAP_REGION: u32 = 1; +pub const PROCESS_HEAP_UNCOMMITTED_RANGE: u32 = 2; +pub const PROCESS_HEAP_ENTRY_BUSY: u32 = 4; +pub const PROCESS_HEAP_SEG_ALLOC: u32 = 8; +pub const PROCESS_HEAP_ENTRY_MOVEABLE: u32 = 16; +pub const PROCESS_HEAP_ENTRY_DDESHARE: u32 = 32; +pub const EXCEPTION_DEBUG_EVENT: u32 = 1; +pub const CREATE_THREAD_DEBUG_EVENT: u32 = 2; +pub const CREATE_PROCESS_DEBUG_EVENT: u32 = 3; +pub const EXIT_THREAD_DEBUG_EVENT: u32 = 4; +pub const EXIT_PROCESS_DEBUG_EVENT: u32 = 5; +pub const LOAD_DLL_DEBUG_EVENT: u32 = 6; +pub const UNLOAD_DLL_DEBUG_EVENT: u32 = 7; +pub const OUTPUT_DEBUG_STRING_EVENT: u32 = 8; +pub const RIP_EVENT: u32 = 9; +pub const LMEM_FIXED: u32 = 0; +pub const LMEM_MOVEABLE: u32 = 2; +pub const LMEM_NOCOMPACT: u32 = 16; +pub const LMEM_NODISCARD: u32 = 32; +pub const LMEM_ZEROINIT: u32 = 64; +pub const LMEM_MODIFY: u32 = 128; +pub const LMEM_DISCARDABLE: u32 = 3840; +pub const LMEM_VALID_FLAGS: u32 = 3954; +pub const LMEM_INVALID_HANDLE: u32 = 32768; +pub const LHND: u32 = 66; +pub const LPTR: u32 = 64; +pub const NONZEROLHND: u32 = 2; +pub const NONZEROLPTR: u32 = 0; +pub const LMEM_DISCARDED: u32 = 16384; +pub const LMEM_LOCKCOUNT: u32 = 255; +pub const CREATE_NEW: u32 = 1; +pub const CREATE_ALWAYS: u32 = 2; +pub const OPEN_EXISTING: u32 = 3; +pub const OPEN_ALWAYS: u32 = 4; +pub const TRUNCATE_EXISTING: u32 = 5; +pub const INIT_ONCE_CHECK_ONLY: u32 = 1; +pub const INIT_ONCE_ASYNC: u32 = 2; +pub const INIT_ONCE_INIT_FAILED: u32 = 4; +pub const INIT_ONCE_CTX_RESERVED_BITS: u32 = 2; +pub const CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1; +pub const MUTEX_MODIFY_STATE: u32 = 1; +pub const MUTEX_ALL_ACCESS: u32 = 2031617; +pub const CREATE_MUTEX_INITIAL_OWNER: u32 = 1; +pub const CREATE_EVENT_MANUAL_RESET: u32 = 1; +pub const CREATE_EVENT_INITIAL_SET: u32 = 2; +pub const CREATE_WAITABLE_TIMER_MANUAL_RESET: u32 = 1; +pub const CREATE_WAITABLE_TIMER_HIGH_RESOLUTION: u32 = 2; +pub const SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY: u32 = 1; +pub const SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY: u32 = 2; +pub const SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE: u32 = 4; +pub const PROC_THREAD_ATTRIBUTE_REPLACE_VALUE: u32 = 1; +pub const PROCESS_AFFINITY_ENABLE_AUTO_UPDATE: u32 = 1; +pub const THREAD_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; +pub const THREAD_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; +pub const THREAD_POWER_THROTTLING_VALID_FLAGS: u32 = 1; +pub const PME_CURRENT_VERSION: u32 = 1; +pub const PME_FAILFAST_ON_COMMIT_FAIL_DISABLE: u32 = 0; +pub const PME_FAILFAST_ON_COMMIT_FAIL_ENABLE: u32 = 1; +pub const PROCESS_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; +pub const PROCESS_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; +pub const PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION: u32 = 4; +pub const PROCESS_POWER_THROTTLING_VALID_FLAGS: u32 = 5; +pub const PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND: u32 = 1; +pub const PROCESS_LEAP_SECOND_INFO_VALID_FLAGS: u32 = 1; +pub const USER_CET_ENVIRONMENT_WIN32_PROCESS: u32 = 0; +pub const USER_CET_ENVIRONMENT_SGX2_ENCLAVE: u32 = 2; +pub const USER_CET_ENVIRONMENT_VBS_ENCLAVE: u32 = 16; +pub const USER_CET_ENVIRONMENT_VBS_BASIC_ENCLAVE: u32 = 17; +pub const SCEX2_ALT_NETBIOS_NAME: u32 = 1; +pub const FILE_MAP_WRITE: u32 = 2; +pub const FILE_MAP_READ: u32 = 4; +pub const FILE_MAP_ALL_ACCESS: u32 = 983071; +pub const FILE_MAP_EXECUTE: u32 = 32; +pub const FILE_MAP_COPY: u32 = 1; +pub const FILE_MAP_RESERVE: u32 = 2147483648; +pub const FILE_MAP_TARGETS_INVALID: u32 = 1073741824; +pub const FILE_MAP_LARGE_PAGES: u32 = 536870912; +pub const FILE_CACHE_MAX_HARD_ENABLE: u32 = 1; +pub const FILE_CACHE_MAX_HARD_DISABLE: u32 = 2; +pub const FILE_CACHE_MIN_HARD_ENABLE: u32 = 4; +pub const FILE_CACHE_MIN_HARD_DISABLE: u32 = 8; +pub const MEHC_PATROL_SCRUBBER_PRESENT: u32 = 1; +pub const FIND_RESOURCE_DIRECTORY_TYPES: u32 = 256; +pub const FIND_RESOURCE_DIRECTORY_NAMES: u32 = 512; +pub const FIND_RESOURCE_DIRECTORY_LANGUAGES: u32 = 1024; +pub const RESOURCE_ENUM_LN: u32 = 1; +pub const RESOURCE_ENUM_MUI: u32 = 2; +pub const RESOURCE_ENUM_MUI_SYSTEM: u32 = 4; +pub const RESOURCE_ENUM_VALIDATE: u32 = 8; +pub const RESOURCE_ENUM_MODULE_EXACT: u32 = 16; +pub const SUPPORT_LANG_NUMBER: u32 = 32; +pub const GET_MODULE_HANDLE_EX_FLAG_PIN: u32 = 1; +pub const GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT: u32 = 2; +pub const GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS: u32 = 4; +pub const CURRENT_IMPORT_REDIRECTION_VERSION: u32 = 1; +pub const DONT_RESOLVE_DLL_REFERENCES: u32 = 1; +pub const LOAD_LIBRARY_AS_DATAFILE: u32 = 2; +pub const LOAD_WITH_ALTERED_SEARCH_PATH: u32 = 8; +pub const LOAD_IGNORE_CODE_AUTHZ_LEVEL: u32 = 16; +pub const LOAD_LIBRARY_AS_IMAGE_RESOURCE: u32 = 32; +pub const LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE: u32 = 64; +pub const LOAD_LIBRARY_REQUIRE_SIGNED_TARGET: u32 = 128; +pub const LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR: u32 = 256; +pub const LOAD_LIBRARY_SEARCH_APPLICATION_DIR: u32 = 512; +pub const LOAD_LIBRARY_SEARCH_USER_DIRS: u32 = 1024; +pub const LOAD_LIBRARY_SEARCH_SYSTEM32: u32 = 2048; +pub const LOAD_LIBRARY_SEARCH_DEFAULT_DIRS: u32 = 4096; +pub const LOAD_LIBRARY_SAFE_CURRENT_DIRS: u32 = 8192; +pub const LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER: u32 = 16384; +pub const LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY: u32 = 32768; +pub const PRIVATE_NAMESPACE_FLAG_DESTROY: u32 = 1; +pub const FILE_BEGIN: u32 = 0; +pub const FILE_CURRENT: u32 = 1; +pub const FILE_END: u32 = 2; +pub const FILE_FLAG_WRITE_THROUGH: u32 = 2147483648; +pub const FILE_FLAG_OVERLAPPED: u32 = 1073741824; +pub const FILE_FLAG_NO_BUFFERING: u32 = 536870912; +pub const FILE_FLAG_RANDOM_ACCESS: u32 = 268435456; +pub const FILE_FLAG_SEQUENTIAL_SCAN: u32 = 134217728; +pub const FILE_FLAG_DELETE_ON_CLOSE: u32 = 67108864; +pub const FILE_FLAG_BACKUP_SEMANTICS: u32 = 33554432; +pub const FILE_FLAG_POSIX_SEMANTICS: u32 = 16777216; +pub const FILE_FLAG_SESSION_AWARE: u32 = 8388608; +pub const FILE_FLAG_OPEN_REPARSE_POINT: u32 = 2097152; +pub const FILE_FLAG_OPEN_NO_RECALL: u32 = 1048576; +pub const FILE_FLAG_FIRST_PIPE_INSTANCE: u32 = 524288; +pub const FILE_FLAG_OPEN_REQUIRING_OPLOCK: u32 = 262144; +pub const PROGRESS_CONTINUE: u32 = 0; +pub const PROGRESS_CANCEL: u32 = 1; +pub const PROGRESS_STOP: u32 = 2; +pub const PROGRESS_QUIET: u32 = 3; +pub const CALLBACK_CHUNK_FINISHED: u32 = 0; +pub const CALLBACK_STREAM_SWITCH: u32 = 1; +pub const COPY_FILE_FAIL_IF_EXISTS: u32 = 1; +pub const COPY_FILE_RESTARTABLE: u32 = 2; +pub const COPY_FILE_OPEN_SOURCE_FOR_WRITE: u32 = 4; +pub const COPY_FILE_ALLOW_DECRYPTED_DESTINATION: u32 = 8; +pub const COPY_FILE_COPY_SYMLINK: u32 = 2048; +pub const COPY_FILE_NO_BUFFERING: u32 = 4096; +pub const COPY_FILE_REQUEST_SECURITY_PRIVILEGES: u32 = 8192; +pub const COPY_FILE_RESUME_FROM_PAUSE: u32 = 16384; +pub const COPY_FILE_NO_OFFLOAD: u32 = 262144; +pub const COPY_FILE_IGNORE_EDP_BLOCK: u32 = 4194304; +pub const COPY_FILE_IGNORE_SOURCE_ENCRYPTION: u32 = 8388608; +pub const COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC: u32 = 33554432; +pub const COPY_FILE_REQUEST_COMPRESSED_TRAFFIC: u32 = 268435456; +pub const COPY_FILE_OPEN_AND_COPY_REPARSE_POINT: u32 = 2097152; +pub const COPY_FILE_DIRECTORY: u32 = 128; +pub const COPY_FILE_SKIP_ALTERNATE_STREAMS: u32 = 32768; +pub const COPY_FILE_DISABLE_PRE_ALLOCATION: u32 = 67108864; +pub const COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE: u32 = 134217728; +pub const REPLACEFILE_WRITE_THROUGH: u32 = 1; +pub const REPLACEFILE_IGNORE_MERGE_ERRORS: u32 = 2; +pub const REPLACEFILE_IGNORE_ACL_ERRORS: u32 = 4; +pub const PIPE_ACCESS_INBOUND: u32 = 1; +pub const PIPE_ACCESS_OUTBOUND: u32 = 2; +pub const PIPE_ACCESS_DUPLEX: u32 = 3; +pub const PIPE_CLIENT_END: u32 = 0; +pub const PIPE_SERVER_END: u32 = 1; +pub const PIPE_WAIT: u32 = 0; +pub const PIPE_NOWAIT: u32 = 1; +pub const PIPE_READMODE_BYTE: u32 = 0; +pub const PIPE_READMODE_MESSAGE: u32 = 2; +pub const PIPE_TYPE_BYTE: u32 = 0; +pub const PIPE_TYPE_MESSAGE: u32 = 4; +pub const PIPE_ACCEPT_REMOTE_CLIENTS: u32 = 0; +pub const PIPE_REJECT_REMOTE_CLIENTS: u32 = 8; +pub const PIPE_UNLIMITED_INSTANCES: u32 = 255; +pub const SECURITY_CONTEXT_TRACKING: u32 = 262144; +pub const SECURITY_EFFECTIVE_ONLY: u32 = 524288; +pub const SECURITY_SQOS_PRESENT: u32 = 1048576; +pub const SECURITY_VALID_SQOS_FLAGS: u32 = 2031616; +pub const FAIL_FAST_GENERATE_EXCEPTION_ADDRESS: u32 = 1; +pub const FAIL_FAST_NO_HARD_ERROR_DLG: u32 = 2; +pub const DTR_CONTROL_DISABLE: u32 = 0; +pub const DTR_CONTROL_ENABLE: u32 = 1; +pub const DTR_CONTROL_HANDSHAKE: u32 = 2; +pub const RTS_CONTROL_DISABLE: u32 = 0; +pub const RTS_CONTROL_ENABLE: u32 = 1; +pub const RTS_CONTROL_HANDSHAKE: u32 = 2; +pub const RTS_CONTROL_TOGGLE: u32 = 3; +pub const GMEM_FIXED: u32 = 0; +pub const GMEM_MOVEABLE: u32 = 2; +pub const GMEM_NOCOMPACT: u32 = 16; +pub const GMEM_NODISCARD: u32 = 32; +pub const GMEM_ZEROINIT: u32 = 64; +pub const GMEM_MODIFY: u32 = 128; +pub const GMEM_DISCARDABLE: u32 = 256; +pub const GMEM_NOT_BANKED: u32 = 4096; +pub const GMEM_SHARE: u32 = 8192; +pub const GMEM_DDESHARE: u32 = 8192; +pub const GMEM_NOTIFY: u32 = 16384; +pub const GMEM_LOWER: u32 = 4096; +pub const GMEM_VALID_FLAGS: u32 = 32626; +pub const GMEM_INVALID_HANDLE: u32 = 32768; +pub const GHND: u32 = 66; +pub const GPTR: u32 = 64; +pub const GMEM_DISCARDED: u32 = 16384; +pub const GMEM_LOCKCOUNT: u32 = 255; +pub const DEBUG_PROCESS: u32 = 1; +pub const DEBUG_ONLY_THIS_PROCESS: u32 = 2; +pub const CREATE_SUSPENDED: u32 = 4; +pub const DETACHED_PROCESS: u32 = 8; +pub const CREATE_NEW_CONSOLE: u32 = 16; +pub const NORMAL_PRIORITY_CLASS: u32 = 32; +pub const IDLE_PRIORITY_CLASS: u32 = 64; +pub const HIGH_PRIORITY_CLASS: u32 = 128; +pub const REALTIME_PRIORITY_CLASS: u32 = 256; +pub const CREATE_NEW_PROCESS_GROUP: u32 = 512; +pub const CREATE_UNICODE_ENVIRONMENT: u32 = 1024; +pub const CREATE_SEPARATE_WOW_VDM: u32 = 2048; +pub const CREATE_SHARED_WOW_VDM: u32 = 4096; +pub const CREATE_FORCEDOS: u32 = 8192; +pub const BELOW_NORMAL_PRIORITY_CLASS: u32 = 16384; +pub const ABOVE_NORMAL_PRIORITY_CLASS: u32 = 32768; +pub const INHERIT_PARENT_AFFINITY: u32 = 65536; +pub const INHERIT_CALLER_PRIORITY: u32 = 131072; +pub const CREATE_PROTECTED_PROCESS: u32 = 262144; +pub const EXTENDED_STARTUPINFO_PRESENT: u32 = 524288; +pub const PROCESS_MODE_BACKGROUND_BEGIN: u32 = 1048576; +pub const PROCESS_MODE_BACKGROUND_END: u32 = 2097152; +pub const CREATE_SECURE_PROCESS: u32 = 4194304; +pub const CREATE_BREAKAWAY_FROM_JOB: u32 = 16777216; +pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: u32 = 33554432; +pub const CREATE_DEFAULT_ERROR_MODE: u32 = 67108864; +pub const CREATE_NO_WINDOW: u32 = 134217728; +pub const PROFILE_USER: u32 = 268435456; +pub const PROFILE_KERNEL: u32 = 536870912; +pub const PROFILE_SERVER: u32 = 1073741824; +pub const CREATE_IGNORE_SYSTEM_DEFAULT: u32 = 2147483648; +pub const STACK_SIZE_PARAM_IS_A_RESERVATION: u32 = 65536; +pub const THREAD_PRIORITY_LOWEST: i32 = -2; +pub const THREAD_PRIORITY_BELOW_NORMAL: i32 = -1; +pub const THREAD_PRIORITY_NORMAL: u32 = 0; +pub const THREAD_PRIORITY_HIGHEST: u32 = 2; +pub const THREAD_PRIORITY_ABOVE_NORMAL: u32 = 1; +pub const THREAD_PRIORITY_ERROR_RETURN: u32 = 2147483647; +pub const THREAD_PRIORITY_TIME_CRITICAL: u32 = 15; +pub const THREAD_PRIORITY_IDLE: i32 = -15; +pub const THREAD_MODE_BACKGROUND_BEGIN: u32 = 65536; +pub const THREAD_MODE_BACKGROUND_END: u32 = 131072; +pub const VOLUME_NAME_DOS: u32 = 0; +pub const VOLUME_NAME_GUID: u32 = 1; +pub const VOLUME_NAME_NT: u32 = 2; +pub const VOLUME_NAME_NONE: u32 = 4; +pub const FILE_NAME_NORMALIZED: u32 = 0; +pub const FILE_NAME_OPENED: u32 = 8; +pub const DRIVE_UNKNOWN: u32 = 0; +pub const DRIVE_NO_ROOT_DIR: u32 = 1; +pub const DRIVE_REMOVABLE: u32 = 2; +pub const DRIVE_FIXED: u32 = 3; +pub const DRIVE_REMOTE: u32 = 4; +pub const DRIVE_CDROM: u32 = 5; +pub const DRIVE_RAMDISK: u32 = 6; +pub const FILE_TYPE_UNKNOWN: u32 = 0; +pub const FILE_TYPE_DISK: u32 = 1; +pub const FILE_TYPE_CHAR: u32 = 2; +pub const FILE_TYPE_PIPE: u32 = 3; +pub const FILE_TYPE_REMOTE: u32 = 32768; +pub const NOPARITY: u32 = 0; +pub const ODDPARITY: u32 = 1; +pub const EVENPARITY: u32 = 2; +pub const MARKPARITY: u32 = 3; +pub const SPACEPARITY: u32 = 4; +pub const ONESTOPBIT: u32 = 0; +pub const ONE5STOPBITS: u32 = 1; +pub const TWOSTOPBITS: u32 = 2; +pub const IGNORE: u32 = 0; +pub const INFINITE: u32 = 4294967295; +pub const CBR_110: u32 = 110; +pub const CBR_300: u32 = 300; +pub const CBR_600: u32 = 600; +pub const CBR_1200: u32 = 1200; +pub const CBR_2400: u32 = 2400; +pub const CBR_4800: u32 = 4800; +pub const CBR_9600: u32 = 9600; +pub const CBR_14400: u32 = 14400; +pub const CBR_19200: u32 = 19200; +pub const CBR_38400: u32 = 38400; +pub const CBR_56000: u32 = 56000; +pub const CBR_57600: u32 = 57600; +pub const CBR_115200: u32 = 115200; +pub const CBR_128000: u32 = 128000; +pub const CBR_256000: u32 = 256000; +pub const CE_RXOVER: u32 = 1; +pub const CE_OVERRUN: u32 = 2; +pub const CE_RXPARITY: u32 = 4; +pub const CE_FRAME: u32 = 8; +pub const CE_BREAK: u32 = 16; +pub const CE_TXFULL: u32 = 256; +pub const CE_PTO: u32 = 512; +pub const CE_IOE: u32 = 1024; +pub const CE_DNS: u32 = 2048; +pub const CE_OOP: u32 = 4096; +pub const CE_MODE: u32 = 32768; +pub const IE_BADID: i32 = -1; +pub const IE_OPEN: i32 = -2; +pub const IE_NOPEN: i32 = -3; +pub const IE_MEMORY: i32 = -4; +pub const IE_DEFAULT: i32 = -5; +pub const IE_HARDWARE: i32 = -10; +pub const IE_BYTESIZE: i32 = -11; +pub const IE_BAUDRATE: i32 = -12; +pub const EV_RXCHAR: u32 = 1; +pub const EV_RXFLAG: u32 = 2; +pub const EV_TXEMPTY: u32 = 4; +pub const EV_CTS: u32 = 8; +pub const EV_DSR: u32 = 16; +pub const EV_RLSD: u32 = 32; +pub const EV_BREAK: u32 = 64; +pub const EV_ERR: u32 = 128; +pub const EV_RING: u32 = 256; +pub const EV_PERR: u32 = 512; +pub const EV_RX80FULL: u32 = 1024; +pub const EV_EVENT1: u32 = 2048; +pub const EV_EVENT2: u32 = 4096; +pub const SETXOFF: u32 = 1; +pub const SETXON: u32 = 2; +pub const SETRTS: u32 = 3; +pub const CLRRTS: u32 = 4; +pub const SETDTR: u32 = 5; +pub const CLRDTR: u32 = 6; +pub const RESETDEV: u32 = 7; +pub const SETBREAK: u32 = 8; +pub const CLRBREAK: u32 = 9; +pub const PURGE_TXABORT: u32 = 1; +pub const PURGE_RXABORT: u32 = 2; +pub const PURGE_TXCLEAR: u32 = 4; +pub const PURGE_RXCLEAR: u32 = 8; +pub const LPTx: u32 = 128; +pub const S_QUEUEEMPTY: u32 = 0; +pub const S_THRESHOLD: u32 = 1; +pub const S_ALLTHRESHOLD: u32 = 2; +pub const S_NORMAL: u32 = 0; +pub const S_LEGATO: u32 = 1; +pub const S_STACCATO: u32 = 2; +pub const S_PERIOD512: u32 = 0; +pub const S_PERIOD1024: u32 = 1; +pub const S_PERIOD2048: u32 = 2; +pub const S_PERIODVOICE: u32 = 3; +pub const S_WHITE512: u32 = 4; +pub const S_WHITE1024: u32 = 5; +pub const S_WHITE2048: u32 = 6; +pub const S_WHITEVOICE: u32 = 7; +pub const S_SERDVNA: i32 = -1; +pub const S_SEROFM: i32 = -2; +pub const S_SERMACT: i32 = -3; +pub const S_SERQFUL: i32 = -4; +pub const S_SERBDNT: i32 = -5; +pub const S_SERDLN: i32 = -6; +pub const S_SERDCC: i32 = -7; +pub const S_SERDTP: i32 = -8; +pub const S_SERDVL: i32 = -9; +pub const S_SERDMD: i32 = -10; +pub const S_SERDSH: i32 = -11; +pub const S_SERDPT: i32 = -12; +pub const S_SERDFQ: i32 = -13; +pub const S_SERDDR: i32 = -14; +pub const S_SERDSR: i32 = -15; +pub const S_SERDST: i32 = -16; +pub const NMPWAIT_WAIT_FOREVER: u32 = 4294967295; +pub const NMPWAIT_NOWAIT: u32 = 1; +pub const NMPWAIT_USE_DEFAULT_WAIT: u32 = 0; +pub const FS_CASE_IS_PRESERVED: u32 = 2; +pub const FS_CASE_SENSITIVE: u32 = 1; +pub const FS_UNICODE_STORED_ON_DISK: u32 = 4; +pub const FS_PERSISTENT_ACLS: u32 = 8; +pub const FS_VOL_IS_COMPRESSED: u32 = 32768; +pub const FS_FILE_COMPRESSION: u32 = 16; +pub const FS_FILE_ENCRYPTION: u32 = 131072; +pub const OF_READ: u32 = 0; +pub const OF_WRITE: u32 = 1; +pub const OF_READWRITE: u32 = 2; +pub const OF_SHARE_COMPAT: u32 = 0; +pub const OF_SHARE_EXCLUSIVE: u32 = 16; +pub const OF_SHARE_DENY_WRITE: u32 = 32; +pub const OF_SHARE_DENY_READ: u32 = 48; +pub const OF_SHARE_DENY_NONE: u32 = 64; +pub const OF_PARSE: u32 = 256; +pub const OF_DELETE: u32 = 512; +pub const OF_VERIFY: u32 = 1024; +pub const OF_CANCEL: u32 = 2048; +pub const OF_CREATE: u32 = 4096; +pub const OF_PROMPT: u32 = 8192; +pub const OF_EXIST: u32 = 16384; +pub const OF_REOPEN: u32 = 32768; +pub const OFS_MAXPATHNAME: u32 = 128; +pub const MAXINTATOM: u32 = 49152; +pub const SCS_32BIT_BINARY: u32 = 0; +pub const SCS_DOS_BINARY: u32 = 1; +pub const SCS_WOW_BINARY: u32 = 2; +pub const SCS_PIF_BINARY: u32 = 3; +pub const SCS_POSIX_BINARY: u32 = 4; +pub const SCS_OS216_BINARY: u32 = 5; +pub const SCS_64BIT_BINARY: u32 = 6; +pub const SCS_THIS_PLATFORM_BINARY: u32 = 6; +pub const FIBER_FLAG_FLOAT_SWITCH: u32 = 1; +pub const UMS_VERSION: u32 = 256; +pub const PROCESS_DEP_ENABLE: u32 = 1; +pub const PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION: u32 = 2; +pub const FILE_SKIP_COMPLETION_PORT_ON_SUCCESS: u32 = 1; +pub const FILE_SKIP_SET_EVENT_ON_HANDLE: u32 = 2; +pub const SEM_FAILCRITICALERRORS: u32 = 1; +pub const SEM_NOGPFAULTERRORBOX: u32 = 2; +pub const SEM_NOALIGNMENTFAULTEXCEPT: u32 = 4; +pub const SEM_NOOPENFILEERRORBOX: u32 = 32768; +pub const CRITICAL_SECTION_NO_DEBUG_INFO: u32 = 16777216; +pub const HANDLE_FLAG_INHERIT: u32 = 1; +pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: u32 = 2; +pub const HINSTANCE_ERROR: u32 = 32; +pub const GET_TAPE_MEDIA_INFORMATION: u32 = 0; +pub const GET_TAPE_DRIVE_INFORMATION: u32 = 1; +pub const SET_TAPE_MEDIA_INFORMATION: u32 = 0; +pub const SET_TAPE_DRIVE_INFORMATION: u32 = 1; +pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: u32 = 256; +pub const FORMAT_MESSAGE_IGNORE_INSERTS: u32 = 512; +pub const FORMAT_MESSAGE_FROM_STRING: u32 = 1024; +pub const FORMAT_MESSAGE_FROM_HMODULE: u32 = 2048; +pub const FORMAT_MESSAGE_FROM_SYSTEM: u32 = 4096; +pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: u32 = 8192; +pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: u32 = 255; +pub const FILE_ENCRYPTABLE: u32 = 0; +pub const FILE_IS_ENCRYPTED: u32 = 1; +pub const FILE_SYSTEM_ATTR: u32 = 2; +pub const FILE_ROOT_DIR: u32 = 3; +pub const FILE_SYSTEM_DIR: u32 = 4; +pub const FILE_UNKNOWN: u32 = 5; +pub const FILE_SYSTEM_NOT_SUPPORT: u32 = 6; +pub const FILE_USER_DISALLOWED: u32 = 7; +pub const FILE_READ_ONLY: u32 = 8; +pub const FILE_DIR_DISALLOWED: u32 = 9; +pub const EFS_USE_RECOVERY_KEYS: u32 = 1; +pub const CREATE_FOR_IMPORT: u32 = 1; +pub const CREATE_FOR_DIR: u32 = 2; +pub const OVERWRITE_HIDDEN: u32 = 4; +pub const EFSRPC_SECURE_ONLY: u32 = 8; +pub const EFS_DROP_ALTERNATE_STREAMS: u32 = 16; +pub const BACKUP_INVALID: u32 = 0; +pub const BACKUP_DATA: u32 = 1; +pub const BACKUP_EA_DATA: u32 = 2; +pub const BACKUP_SECURITY_DATA: u32 = 3; +pub const BACKUP_ALTERNATE_DATA: u32 = 4; +pub const BACKUP_LINK: u32 = 5; +pub const BACKUP_PROPERTY_DATA: u32 = 6; +pub const BACKUP_OBJECT_ID: u32 = 7; +pub const BACKUP_REPARSE_DATA: u32 = 8; +pub const BACKUP_SPARSE_BLOCK: u32 = 9; +pub const BACKUP_TXFS_DATA: u32 = 10; +pub const BACKUP_GHOSTED_FILE_EXTENTS: u32 = 11; +pub const STREAM_NORMAL_ATTRIBUTE: u32 = 0; +pub const STREAM_MODIFIED_WHEN_READ: u32 = 1; +pub const STREAM_CONTAINS_SECURITY: u32 = 2; +pub const STREAM_CONTAINS_PROPERTIES: u32 = 4; +pub const STREAM_SPARSE_ATTRIBUTE: u32 = 8; +pub const STREAM_CONTAINS_GHOSTED_FILE_EXTENTS: u32 = 16; +pub const STARTF_USESHOWWINDOW: u32 = 1; +pub const STARTF_USESIZE: u32 = 2; +pub const STARTF_USEPOSITION: u32 = 4; +pub const STARTF_USECOUNTCHARS: u32 = 8; +pub const STARTF_USEFILLATTRIBUTE: u32 = 16; +pub const STARTF_RUNFULLSCREEN: u32 = 32; +pub const STARTF_FORCEONFEEDBACK: u32 = 64; +pub const STARTF_FORCEOFFFEEDBACK: u32 = 128; +pub const STARTF_USESTDHANDLES: u32 = 256; +pub const STARTF_USEHOTKEY: u32 = 512; +pub const STARTF_TITLEISLINKNAME: u32 = 2048; +pub const STARTF_TITLEISAPPID: u32 = 4096; +pub const STARTF_PREVENTPINNING: u32 = 8192; +pub const STARTF_UNTRUSTEDSOURCE: u32 = 32768; +pub const STARTF_HOLOGRAPHIC: u32 = 262144; +pub const SHUTDOWN_NORETRY: u32 = 1; +pub const PROTECTION_LEVEL_WINTCB_LIGHT: u32 = 0; +pub const PROTECTION_LEVEL_WINDOWS: u32 = 1; +pub const PROTECTION_LEVEL_WINDOWS_LIGHT: u32 = 2; +pub const PROTECTION_LEVEL_ANTIMALWARE_LIGHT: u32 = 3; +pub const PROTECTION_LEVEL_LSA_LIGHT: u32 = 4; +pub const PROTECTION_LEVEL_WINTCB: u32 = 5; +pub const PROTECTION_LEVEL_CODEGEN_LIGHT: u32 = 6; +pub const PROTECTION_LEVEL_AUTHENTICODE: u32 = 7; +pub const PROTECTION_LEVEL_PPL_APP: u32 = 8; +pub const PROTECTION_LEVEL_SAME: u32 = 4294967295; +pub const PROTECTION_LEVEL_NONE: u32 = 4294967294; +pub const PROCESS_NAME_NATIVE: u32 = 1; +pub const PROC_THREAD_ATTRIBUTE_NUMBER: u32 = 65535; +pub const PROC_THREAD_ATTRIBUTE_THREAD: u32 = 65536; +pub const PROC_THREAD_ATTRIBUTE_INPUT: u32 = 131072; +pub const PROC_THREAD_ATTRIBUTE_ADDITIVE: u32 = 262144; +pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE: u32 = 1; +pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE: u32 = 2; +pub const PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE: u32 = 4; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK: u32 = 768; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON: u32 = 256; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF: u32 = 512; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS: u32 = 768; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_MASK: u32 = 12288; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON: u32 = 4096; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF: u32 = 8192; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_RESERVED: u32 = 12288; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_MASK: u32 = 196608; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON: u32 = 65536; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF: u32 = 131072; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_RESERVED: u32 = 196608; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_MASK: u32 = 3145728; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON: u32 = 1048576; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF: u32 = 2097152; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_RESERVED: u32 = 3145728; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_MASK: u32 = 50331648; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON: u32 = 16777216; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF: u32 = 33554432; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_RESERVED: u32 = 50331648; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_MASK: u32 = 805306368; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON: u32 = 268435456; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF: u32 = 536870912; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_RESERVED: u32 = 805306368; +pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED: u32 = 1; +pub const PROCESS_CREATION_CHILD_PROCESS_OVERRIDE: u32 = 2; +pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE: u32 = 4; +pub const PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT: u32 = 1; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE: u32 = 1; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE: u32 = 2; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE: u32 = 4; +pub const ATOM_FLAG_GLOBAL: u32 = 2; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A: &[u8; 25usize] = b"GetSystemWow64DirectoryW\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W: &[u8; 25usize] = b"GetSystemWow64DirectoryW\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE: u32 = 1; +pub const BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE: u32 = 65536; +pub const BASE_SEARCH_PATH_PERMANENT: u32 = 32768; +pub const BASE_SEARCH_PATH_INVALID_FLAGS: i32 = -98306; +pub const DDD_RAW_TARGET_PATH: u32 = 1; +pub const DDD_REMOVE_DEFINITION: u32 = 2; +pub const DDD_EXACT_MATCH_ON_REMOVE: u32 = 4; +pub const DDD_NO_BROADCAST_SYSTEM: u32 = 8; +pub const DDD_LUID_BROADCAST_DRIVE: u32 = 16; +pub const COPYFILE2_MESSAGE_COPY_OFFLOAD: u32 = 1; +pub const COPYFILE2_IO_CYCLE_SIZE_MIN: u32 = 4096; +pub const COPYFILE2_IO_CYCLE_SIZE_MAX: u32 = 1073741824; +pub const COPYFILE2_IO_RATE_MIN: u32 = 512; +pub const MOVEFILE_REPLACE_EXISTING: u32 = 1; +pub const MOVEFILE_COPY_ALLOWED: u32 = 2; +pub const MOVEFILE_DELAY_UNTIL_REBOOT: u32 = 4; +pub const MOVEFILE_WRITE_THROUGH: u32 = 8; +pub const MOVEFILE_CREATE_HARDLINK: u32 = 16; +pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 = 32; +pub const EVENTLOG_FULL_INFO: u32 = 0; +pub const OPERATION_API_VERSION: u32 = 1; +pub const OPERATION_START_TRACE_CURRENT_THREAD: u32 = 1; +pub const OPERATION_END_DISCARD: u32 = 1; +pub const MAX_COMPUTERNAME_LENGTH: u32 = 15; +pub const LOGON32_LOGON_INTERACTIVE: u32 = 2; +pub const LOGON32_LOGON_NETWORK: u32 = 3; +pub const LOGON32_LOGON_BATCH: u32 = 4; +pub const LOGON32_LOGON_SERVICE: u32 = 5; +pub const LOGON32_LOGON_UNLOCK: u32 = 7; +pub const LOGON32_LOGON_NETWORK_CLEARTEXT: u32 = 8; +pub const LOGON32_LOGON_NEW_CREDENTIALS: u32 = 9; +pub const LOGON32_PROVIDER_DEFAULT: u32 = 0; +pub const LOGON32_PROVIDER_WINNT35: u32 = 1; +pub const LOGON32_PROVIDER_WINNT40: u32 = 2; +pub const LOGON32_PROVIDER_WINNT50: u32 = 3; +pub const LOGON32_PROVIDER_VIRTUAL: u32 = 4; +pub const LOGON_WITH_PROFILE: u32 = 1; +pub const LOGON_NETCREDENTIALS_ONLY: u32 = 2; +pub const LOGON_ZERO_PASSWORD_BUFFER: u32 = 2147483648; +pub const HW_PROFILE_GUIDLEN: u32 = 39; +pub const MAX_PROFILE_LEN: u32 = 80; +pub const DOCKINFO_UNDOCKED: u32 = 1; +pub const DOCKINFO_DOCKED: u32 = 2; +pub const DOCKINFO_USER_SUPPLIED: u32 = 4; +pub const DOCKINFO_USER_UNDOCKED: u32 = 5; +pub const DOCKINFO_USER_DOCKED: u32 = 6; +pub const FACILITY_NULL: u32 = 0; +pub const FACILITY_RPC: u32 = 1; +pub const FACILITY_DISPATCH: u32 = 2; +pub const FACILITY_STORAGE: u32 = 3; +pub const FACILITY_ITF: u32 = 4; +pub const FACILITY_WIN32: u32 = 7; +pub const FACILITY_WINDOWS: u32 = 8; +pub const FACILITY_SSPI: u32 = 9; +pub const FACILITY_SECURITY: u32 = 9; +pub const FACILITY_CONTROL: u32 = 10; +pub const FACILITY_CERT: u32 = 11; +pub const FACILITY_INTERNET: u32 = 12; +pub const FACILITY_MEDIASERVER: u32 = 13; +pub const FACILITY_MSMQ: u32 = 14; +pub const FACILITY_SETUPAPI: u32 = 15; +pub const FACILITY_SCARD: u32 = 16; +pub const FACILITY_COMPLUS: u32 = 17; +pub const FACILITY_AAF: u32 = 18; +pub const FACILITY_URT: u32 = 19; +pub const FACILITY_ACS: u32 = 20; +pub const FACILITY_DPLAY: u32 = 21; +pub const FACILITY_UMI: u32 = 22; +pub const FACILITY_SXS: u32 = 23; +pub const FACILITY_WINDOWS_CE: u32 = 24; +pub const FACILITY_HTTP: u32 = 25; +pub const FACILITY_USERMODE_COMMONLOG: u32 = 26; +pub const FACILITY_WER: u32 = 27; +pub const FACILITY_USERMODE_FILTER_MANAGER: u32 = 31; +pub const FACILITY_BACKGROUNDCOPY: u32 = 32; +pub const FACILITY_CONFIGURATION: u32 = 33; +pub const FACILITY_WIA: u32 = 33; +pub const FACILITY_STATE_MANAGEMENT: u32 = 34; +pub const FACILITY_METADIRECTORY: u32 = 35; +pub const FACILITY_WINDOWSUPDATE: u32 = 36; +pub const FACILITY_DIRECTORYSERVICE: u32 = 37; +pub const FACILITY_GRAPHICS: u32 = 38; +pub const FACILITY_SHELL: u32 = 39; +pub const FACILITY_NAP: u32 = 39; +pub const FACILITY_TPM_SERVICES: u32 = 40; +pub const FACILITY_TPM_SOFTWARE: u32 = 41; +pub const FACILITY_UI: u32 = 42; +pub const FACILITY_XAML: u32 = 43; +pub const FACILITY_ACTION_QUEUE: u32 = 44; +pub const FACILITY_PLA: u32 = 48; +pub const FACILITY_WINDOWS_SETUP: u32 = 48; +pub const FACILITY_FVE: u32 = 49; +pub const FACILITY_FWP: u32 = 50; +pub const FACILITY_WINRM: u32 = 51; +pub const FACILITY_NDIS: u32 = 52; +pub const FACILITY_USERMODE_HYPERVISOR: u32 = 53; +pub const FACILITY_CMI: u32 = 54; +pub const FACILITY_USERMODE_VIRTUALIZATION: u32 = 55; +pub const FACILITY_USERMODE_VOLMGR: u32 = 56; +pub const FACILITY_BCD: u32 = 57; +pub const FACILITY_USERMODE_VHD: u32 = 58; +pub const FACILITY_USERMODE_HNS: u32 = 59; +pub const FACILITY_SDIAG: u32 = 60; +pub const FACILITY_WEBSERVICES: u32 = 61; +pub const FACILITY_WINPE: u32 = 61; +pub const FACILITY_WPN: u32 = 62; +pub const FACILITY_WINDOWS_STORE: u32 = 63; +pub const FACILITY_INPUT: u32 = 64; +pub const FACILITY_QUIC: u32 = 65; +pub const FACILITY_EAP: u32 = 66; +pub const FACILITY_IORING: u32 = 70; +pub const FACILITY_WINDOWS_DEFENDER: u32 = 80; +pub const FACILITY_OPC: u32 = 81; +pub const FACILITY_XPS: u32 = 82; +pub const FACILITY_MBN: u32 = 84; +pub const FACILITY_POWERSHELL: u32 = 84; +pub const FACILITY_RAS: u32 = 83; +pub const FACILITY_P2P_INT: u32 = 98; +pub const FACILITY_P2P: u32 = 99; +pub const FACILITY_DAF: u32 = 100; +pub const FACILITY_BLUETOOTH_ATT: u32 = 101; +pub const FACILITY_AUDIO: u32 = 102; +pub const FACILITY_STATEREPOSITORY: u32 = 103; +pub const FACILITY_VISUALCPP: u32 = 109; +pub const FACILITY_SCRIPT: u32 = 112; +pub const FACILITY_PARSE: u32 = 113; +pub const FACILITY_BLB: u32 = 120; +pub const FACILITY_BLB_CLI: u32 = 121; +pub const FACILITY_WSBAPP: u32 = 122; +pub const FACILITY_BLBUI: u32 = 128; +pub const FACILITY_USN: u32 = 129; +pub const FACILITY_USERMODE_VOLSNAP: u32 = 130; +pub const FACILITY_TIERING: u32 = 131; +pub const FACILITY_WSB_ONLINE: u32 = 133; +pub const FACILITY_ONLINE_ID: u32 = 134; +pub const FACILITY_DEVICE_UPDATE_AGENT: u32 = 135; +pub const FACILITY_DRVSERVICING: u32 = 136; +pub const FACILITY_DLS: u32 = 153; +pub const FACILITY_DELIVERY_OPTIMIZATION: u32 = 208; +pub const FACILITY_USERMODE_SPACES: u32 = 231; +pub const FACILITY_USER_MODE_SECURITY_CORE: u32 = 232; +pub const FACILITY_USERMODE_LICENSING: u32 = 234; +pub const FACILITY_SOS: u32 = 160; +pub const FACILITY_OCP_UPDATE_AGENT: u32 = 173; +pub const FACILITY_DEBUGGERS: u32 = 176; +pub const FACILITY_SPP: u32 = 256; +pub const FACILITY_RESTORE: u32 = 256; +pub const FACILITY_DMSERVER: u32 = 256; +pub const FACILITY_DEPLOYMENT_SERVICES_SERVER: u32 = 257; +pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING: u32 = 258; +pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT: u32 = 259; +pub const FACILITY_DEPLOYMENT_SERVICES_UTIL: u32 = 260; +pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC: u32 = 261; +pub const FACILITY_DEPLOYMENT_SERVICES_PXE: u32 = 263; +pub const FACILITY_DEPLOYMENT_SERVICES_TFTP: u32 = 264; +pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT: u32 = 272; +pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING: u32 = 278; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER: u32 = 289; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT: u32 = 290; +pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER: u32 = 293; +pub const FACILITY_HSP_SERVICES: u32 = 296; +pub const FACILITY_HSP_SOFTWARE: u32 = 297; +pub const FACILITY_LINGUISTIC_SERVICES: u32 = 305; +pub const FACILITY_AUDIOSTREAMING: u32 = 1094; +pub const FACILITY_TTD: u32 = 1490; +pub const FACILITY_ACCELERATOR: u32 = 1536; +pub const FACILITY_WMAAECMA: u32 = 1996; +pub const FACILITY_DIRECTMUSIC: u32 = 2168; +pub const FACILITY_DIRECT3D10: u32 = 2169; +pub const FACILITY_DXGI: u32 = 2170; +pub const FACILITY_DXGI_DDI: u32 = 2171; +pub const FACILITY_DIRECT3D11: u32 = 2172; +pub const FACILITY_DIRECT3D11_DEBUG: u32 = 2173; +pub const FACILITY_DIRECT3D12: u32 = 2174; +pub const FACILITY_DIRECT3D12_DEBUG: u32 = 2175; +pub const FACILITY_DXCORE: u32 = 2176; +pub const FACILITY_PRESENTATION: u32 = 2177; +pub const FACILITY_LEAP: u32 = 2184; +pub const FACILITY_AUDCLNT: u32 = 2185; +pub const FACILITY_WINCODEC_DWRITE_DWM: u32 = 2200; +pub const FACILITY_WINML: u32 = 2192; +pub const FACILITY_DIRECT2D: u32 = 2201; +pub const FACILITY_DEFRAG: u32 = 2304; +pub const FACILITY_USERMODE_SDBUS: u32 = 2305; +pub const FACILITY_JSCRIPT: u32 = 2306; +pub const FACILITY_PIDGENX: u32 = 2561; +pub const FACILITY_EAS: u32 = 85; +pub const FACILITY_WEB: u32 = 885; +pub const FACILITY_WEB_SOCKET: u32 = 886; +pub const FACILITY_MOBILE: u32 = 1793; +pub const FACILITY_SQLITE: u32 = 1967; +pub const FACILITY_SERVICE_FABRIC: u32 = 1968; +pub const FACILITY_UTC: u32 = 1989; +pub const FACILITY_WEP: u32 = 2049; +pub const FACILITY_SYNCENGINE: u32 = 2050; +pub const FACILITY_XBOX: u32 = 2339; +pub const FACILITY_GAME: u32 = 2340; +pub const FACILITY_PIX: u32 = 2748; +pub const ERROR_SUCCESS: u32 = 0; +pub const NO_ERROR: u32 = 0; +pub const ERROR_INVALID_FUNCTION: u32 = 1; +pub const ERROR_FILE_NOT_FOUND: u32 = 2; +pub const ERROR_PATH_NOT_FOUND: u32 = 3; +pub const ERROR_TOO_MANY_OPEN_FILES: u32 = 4; +pub const ERROR_ACCESS_DENIED: u32 = 5; +pub const ERROR_INVALID_HANDLE: u32 = 6; +pub const ERROR_ARENA_TRASHED: u32 = 7; +pub const ERROR_NOT_ENOUGH_MEMORY: u32 = 8; +pub const ERROR_INVALID_BLOCK: u32 = 9; +pub const ERROR_BAD_ENVIRONMENT: u32 = 10; +pub const ERROR_BAD_FORMAT: u32 = 11; +pub const ERROR_INVALID_ACCESS: u32 = 12; +pub const ERROR_INVALID_DATA: u32 = 13; +pub const ERROR_OUTOFMEMORY: u32 = 14; +pub const ERROR_INVALID_DRIVE: u32 = 15; +pub const ERROR_CURRENT_DIRECTORY: u32 = 16; +pub const ERROR_NOT_SAME_DEVICE: u32 = 17; +pub const ERROR_NO_MORE_FILES: u32 = 18; +pub const ERROR_WRITE_PROTECT: u32 = 19; +pub const ERROR_BAD_UNIT: u32 = 20; +pub const ERROR_NOT_READY: u32 = 21; +pub const ERROR_BAD_COMMAND: u32 = 22; +pub const ERROR_CRC: u32 = 23; +pub const ERROR_BAD_LENGTH: u32 = 24; +pub const ERROR_SEEK: u32 = 25; +pub const ERROR_NOT_DOS_DISK: u32 = 26; +pub const ERROR_SECTOR_NOT_FOUND: u32 = 27; +pub const ERROR_OUT_OF_PAPER: u32 = 28; +pub const ERROR_WRITE_FAULT: u32 = 29; +pub const ERROR_READ_FAULT: u32 = 30; +pub const ERROR_GEN_FAILURE: u32 = 31; +pub const ERROR_SHARING_VIOLATION: u32 = 32; +pub const ERROR_LOCK_VIOLATION: u32 = 33; +pub const ERROR_WRONG_DISK: u32 = 34; +pub const ERROR_SHARING_BUFFER_EXCEEDED: u32 = 36; +pub const ERROR_HANDLE_EOF: u32 = 38; +pub const ERROR_HANDLE_DISK_FULL: u32 = 39; +pub const ERROR_NOT_SUPPORTED: u32 = 50; +pub const ERROR_REM_NOT_LIST: u32 = 51; +pub const ERROR_DUP_NAME: u32 = 52; +pub const ERROR_BAD_NETPATH: u32 = 53; +pub const ERROR_NETWORK_BUSY: u32 = 54; +pub const ERROR_DEV_NOT_EXIST: u32 = 55; +pub const ERROR_TOO_MANY_CMDS: u32 = 56; +pub const ERROR_ADAP_HDW_ERR: u32 = 57; +pub const ERROR_BAD_NET_RESP: u32 = 58; +pub const ERROR_UNEXP_NET_ERR: u32 = 59; +pub const ERROR_BAD_REM_ADAP: u32 = 60; +pub const ERROR_PRINTQ_FULL: u32 = 61; +pub const ERROR_NO_SPOOL_SPACE: u32 = 62; +pub const ERROR_PRINT_CANCELLED: u32 = 63; +pub const ERROR_NETNAME_DELETED: u32 = 64; +pub const ERROR_NETWORK_ACCESS_DENIED: u32 = 65; +pub const ERROR_BAD_DEV_TYPE: u32 = 66; +pub const ERROR_BAD_NET_NAME: u32 = 67; +pub const ERROR_TOO_MANY_NAMES: u32 = 68; +pub const ERROR_TOO_MANY_SESS: u32 = 69; +pub const ERROR_SHARING_PAUSED: u32 = 70; +pub const ERROR_REQ_NOT_ACCEP: u32 = 71; +pub const ERROR_REDIR_PAUSED: u32 = 72; +pub const ERROR_FILE_EXISTS: u32 = 80; +pub const ERROR_CANNOT_MAKE: u32 = 82; +pub const ERROR_FAIL_I24: u32 = 83; +pub const ERROR_OUT_OF_STRUCTURES: u32 = 84; +pub const ERROR_ALREADY_ASSIGNED: u32 = 85; +pub const ERROR_INVALID_PASSWORD: u32 = 86; +pub const ERROR_INVALID_PARAMETER: u32 = 87; +pub const ERROR_NET_WRITE_FAULT: u32 = 88; +pub const ERROR_NO_PROC_SLOTS: u32 = 89; +pub const ERROR_TOO_MANY_SEMAPHORES: u32 = 100; +pub const ERROR_EXCL_SEM_ALREADY_OWNED: u32 = 101; +pub const ERROR_SEM_IS_SET: u32 = 102; +pub const ERROR_TOO_MANY_SEM_REQUESTS: u32 = 103; +pub const ERROR_INVALID_AT_INTERRUPT_TIME: u32 = 104; +pub const ERROR_SEM_OWNER_DIED: u32 = 105; +pub const ERROR_SEM_USER_LIMIT: u32 = 106; +pub const ERROR_DISK_CHANGE: u32 = 107; +pub const ERROR_DRIVE_LOCKED: u32 = 108; +pub const ERROR_BROKEN_PIPE: u32 = 109; +pub const ERROR_OPEN_FAILED: u32 = 110; +pub const ERROR_BUFFER_OVERFLOW: u32 = 111; +pub const ERROR_DISK_FULL: u32 = 112; +pub const ERROR_NO_MORE_SEARCH_HANDLES: u32 = 113; +pub const ERROR_INVALID_TARGET_HANDLE: u32 = 114; +pub const ERROR_INVALID_CATEGORY: u32 = 117; +pub const ERROR_INVALID_VERIFY_SWITCH: u32 = 118; +pub const ERROR_BAD_DRIVER_LEVEL: u32 = 119; +pub const ERROR_CALL_NOT_IMPLEMENTED: u32 = 120; +pub const ERROR_SEM_TIMEOUT: u32 = 121; +pub const ERROR_INSUFFICIENT_BUFFER: u32 = 122; +pub const ERROR_INVALID_NAME: u32 = 123; +pub const ERROR_INVALID_LEVEL: u32 = 124; +pub const ERROR_NO_VOLUME_LABEL: u32 = 125; +pub const ERROR_MOD_NOT_FOUND: u32 = 126; +pub const ERROR_PROC_NOT_FOUND: u32 = 127; +pub const ERROR_WAIT_NO_CHILDREN: u32 = 128; +pub const ERROR_CHILD_NOT_COMPLETE: u32 = 129; +pub const ERROR_DIRECT_ACCESS_HANDLE: u32 = 130; +pub const ERROR_NEGATIVE_SEEK: u32 = 131; +pub const ERROR_SEEK_ON_DEVICE: u32 = 132; +pub const ERROR_IS_JOIN_TARGET: u32 = 133; +pub const ERROR_IS_JOINED: u32 = 134; +pub const ERROR_IS_SUBSTED: u32 = 135; +pub const ERROR_NOT_JOINED: u32 = 136; +pub const ERROR_NOT_SUBSTED: u32 = 137; +pub const ERROR_JOIN_TO_JOIN: u32 = 138; +pub const ERROR_SUBST_TO_SUBST: u32 = 139; +pub const ERROR_JOIN_TO_SUBST: u32 = 140; +pub const ERROR_SUBST_TO_JOIN: u32 = 141; +pub const ERROR_BUSY_DRIVE: u32 = 142; +pub const ERROR_SAME_DRIVE: u32 = 143; +pub const ERROR_DIR_NOT_ROOT: u32 = 144; +pub const ERROR_DIR_NOT_EMPTY: u32 = 145; +pub const ERROR_IS_SUBST_PATH: u32 = 146; +pub const ERROR_IS_JOIN_PATH: u32 = 147; +pub const ERROR_PATH_BUSY: u32 = 148; +pub const ERROR_IS_SUBST_TARGET: u32 = 149; +pub const ERROR_SYSTEM_TRACE: u32 = 150; +pub const ERROR_INVALID_EVENT_COUNT: u32 = 151; +pub const ERROR_TOO_MANY_MUXWAITERS: u32 = 152; +pub const ERROR_INVALID_LIST_FORMAT: u32 = 153; +pub const ERROR_LABEL_TOO_LONG: u32 = 154; +pub const ERROR_TOO_MANY_TCBS: u32 = 155; +pub const ERROR_SIGNAL_REFUSED: u32 = 156; +pub const ERROR_DISCARDED: u32 = 157; +pub const ERROR_NOT_LOCKED: u32 = 158; +pub const ERROR_BAD_THREADID_ADDR: u32 = 159; +pub const ERROR_BAD_ARGUMENTS: u32 = 160; +pub const ERROR_BAD_PATHNAME: u32 = 161; +pub const ERROR_SIGNAL_PENDING: u32 = 162; +pub const ERROR_MAX_THRDS_REACHED: u32 = 164; +pub const ERROR_LOCK_FAILED: u32 = 167; +pub const ERROR_BUSY: u32 = 170; +pub const ERROR_DEVICE_SUPPORT_IN_PROGRESS: u32 = 171; +pub const ERROR_CANCEL_VIOLATION: u32 = 173; +pub const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED: u32 = 174; +pub const ERROR_INVALID_SEGMENT_NUMBER: u32 = 180; +pub const ERROR_INVALID_ORDINAL: u32 = 182; +pub const ERROR_ALREADY_EXISTS: u32 = 183; +pub const ERROR_INVALID_FLAG_NUMBER: u32 = 186; +pub const ERROR_SEM_NOT_FOUND: u32 = 187; +pub const ERROR_INVALID_STARTING_CODESEG: u32 = 188; +pub const ERROR_INVALID_STACKSEG: u32 = 189; +pub const ERROR_INVALID_MODULETYPE: u32 = 190; +pub const ERROR_INVALID_EXE_SIGNATURE: u32 = 191; +pub const ERROR_EXE_MARKED_INVALID: u32 = 192; +pub const ERROR_BAD_EXE_FORMAT: u32 = 193; +pub const ERROR_ITERATED_DATA_EXCEEDS_64k: u32 = 194; +pub const ERROR_INVALID_MINALLOCSIZE: u32 = 195; +pub const ERROR_DYNLINK_FROM_INVALID_RING: u32 = 196; +pub const ERROR_IOPL_NOT_ENABLED: u32 = 197; +pub const ERROR_INVALID_SEGDPL: u32 = 198; +pub const ERROR_AUTODATASEG_EXCEEDS_64k: u32 = 199; +pub const ERROR_RING2SEG_MUST_BE_MOVABLE: u32 = 200; +pub const ERROR_RELOC_CHAIN_XEEDS_SEGLIM: u32 = 201; +pub const ERROR_INFLOOP_IN_RELOC_CHAIN: u32 = 202; +pub const ERROR_ENVVAR_NOT_FOUND: u32 = 203; +pub const ERROR_NO_SIGNAL_SENT: u32 = 205; +pub const ERROR_FILENAME_EXCED_RANGE: u32 = 206; +pub const ERROR_RING2_STACK_IN_USE: u32 = 207; +pub const ERROR_META_EXPANSION_TOO_LONG: u32 = 208; +pub const ERROR_INVALID_SIGNAL_NUMBER: u32 = 209; +pub const ERROR_THREAD_1_INACTIVE: u32 = 210; +pub const ERROR_LOCKED: u32 = 212; +pub const ERROR_TOO_MANY_MODULES: u32 = 214; +pub const ERROR_NESTING_NOT_ALLOWED: u32 = 215; +pub const ERROR_EXE_MACHINE_TYPE_MISMATCH: u32 = 216; +pub const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY: u32 = 217; +pub const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY: u32 = 218; +pub const ERROR_FILE_CHECKED_OUT: u32 = 220; +pub const ERROR_CHECKOUT_REQUIRED: u32 = 221; +pub const ERROR_BAD_FILE_TYPE: u32 = 222; +pub const ERROR_FILE_TOO_LARGE: u32 = 223; +pub const ERROR_FORMS_AUTH_REQUIRED: u32 = 224; +pub const ERROR_VIRUS_INFECTED: u32 = 225; +pub const ERROR_VIRUS_DELETED: u32 = 226; +pub const ERROR_PIPE_LOCAL: u32 = 229; +pub const ERROR_BAD_PIPE: u32 = 230; +pub const ERROR_PIPE_BUSY: u32 = 231; +pub const ERROR_NO_DATA: u32 = 232; +pub const ERROR_PIPE_NOT_CONNECTED: u32 = 233; +pub const ERROR_MORE_DATA: u32 = 234; +pub const ERROR_NO_WORK_DONE: u32 = 235; +pub const ERROR_VC_DISCONNECTED: u32 = 240; +pub const ERROR_INVALID_EA_NAME: u32 = 254; +pub const ERROR_EA_LIST_INCONSISTENT: u32 = 255; +pub const WAIT_TIMEOUT: u32 = 258; +pub const ERROR_NO_MORE_ITEMS: u32 = 259; +pub const ERROR_CANNOT_COPY: u32 = 266; +pub const ERROR_DIRECTORY: u32 = 267; +pub const ERROR_EAS_DIDNT_FIT: u32 = 275; +pub const ERROR_EA_FILE_CORRUPT: u32 = 276; +pub const ERROR_EA_TABLE_FULL: u32 = 277; +pub const ERROR_INVALID_EA_HANDLE: u32 = 278; +pub const ERROR_EAS_NOT_SUPPORTED: u32 = 282; +pub const ERROR_NOT_OWNER: u32 = 288; +pub const ERROR_TOO_MANY_POSTS: u32 = 298; +pub const ERROR_PARTIAL_COPY: u32 = 299; +pub const ERROR_OPLOCK_NOT_GRANTED: u32 = 300; +pub const ERROR_INVALID_OPLOCK_PROTOCOL: u32 = 301; +pub const ERROR_DISK_TOO_FRAGMENTED: u32 = 302; +pub const ERROR_DELETE_PENDING: u32 = 303; +pub const ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: u32 = 304; +pub const ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: u32 = 305; +pub const ERROR_SECURITY_STREAM_IS_INCONSISTENT: u32 = 306; +pub const ERROR_INVALID_LOCK_RANGE: u32 = 307; +pub const ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT: u32 = 308; +pub const ERROR_NOTIFICATION_GUID_ALREADY_DEFINED: u32 = 309; +pub const ERROR_INVALID_EXCEPTION_HANDLER: u32 = 310; +pub const ERROR_DUPLICATE_PRIVILEGES: u32 = 311; +pub const ERROR_NO_RANGES_PROCESSED: u32 = 312; +pub const ERROR_NOT_ALLOWED_ON_SYSTEM_FILE: u32 = 313; +pub const ERROR_DISK_RESOURCES_EXHAUSTED: u32 = 314; +pub const ERROR_INVALID_TOKEN: u32 = 315; +pub const ERROR_DEVICE_FEATURE_NOT_SUPPORTED: u32 = 316; +pub const ERROR_MR_MID_NOT_FOUND: u32 = 317; +pub const ERROR_SCOPE_NOT_FOUND: u32 = 318; +pub const ERROR_UNDEFINED_SCOPE: u32 = 319; +pub const ERROR_INVALID_CAP: u32 = 320; +pub const ERROR_DEVICE_UNREACHABLE: u32 = 321; +pub const ERROR_DEVICE_NO_RESOURCES: u32 = 322; +pub const ERROR_DATA_CHECKSUM_ERROR: u32 = 323; +pub const ERROR_INTERMIXED_KERNEL_EA_OPERATION: u32 = 324; +pub const ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED: u32 = 326; +pub const ERROR_OFFSET_ALIGNMENT_VIOLATION: u32 = 327; +pub const ERROR_INVALID_FIELD_IN_PARAMETER_LIST: u32 = 328; +pub const ERROR_OPERATION_IN_PROGRESS: u32 = 329; +pub const ERROR_BAD_DEVICE_PATH: u32 = 330; +pub const ERROR_TOO_MANY_DESCRIPTORS: u32 = 331; +pub const ERROR_SCRUB_DATA_DISABLED: u32 = 332; +pub const ERROR_NOT_REDUNDANT_STORAGE: u32 = 333; +pub const ERROR_RESIDENT_FILE_NOT_SUPPORTED: u32 = 334; +pub const ERROR_COMPRESSED_FILE_NOT_SUPPORTED: u32 = 335; +pub const ERROR_DIRECTORY_NOT_SUPPORTED: u32 = 336; +pub const ERROR_NOT_READ_FROM_COPY: u32 = 337; +pub const ERROR_FT_WRITE_FAILURE: u32 = 338; +pub const ERROR_FT_DI_SCAN_REQUIRED: u32 = 339; +pub const ERROR_INVALID_KERNEL_INFO_VERSION: u32 = 340; +pub const ERROR_INVALID_PEP_INFO_VERSION: u32 = 341; +pub const ERROR_OBJECT_NOT_EXTERNALLY_BACKED: u32 = 342; +pub const ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN: u32 = 343; +pub const ERROR_COMPRESSION_NOT_BENEFICIAL: u32 = 344; +pub const ERROR_STORAGE_TOPOLOGY_ID_MISMATCH: u32 = 345; +pub const ERROR_BLOCKED_BY_PARENTAL_CONTROLS: u32 = 346; +pub const ERROR_BLOCK_TOO_MANY_REFERENCES: u32 = 347; +pub const ERROR_MARKED_TO_DISALLOW_WRITES: u32 = 348; +pub const ERROR_ENCLAVE_FAILURE: u32 = 349; +pub const ERROR_FAIL_NOACTION_REBOOT: u32 = 350; +pub const ERROR_FAIL_SHUTDOWN: u32 = 351; +pub const ERROR_FAIL_RESTART: u32 = 352; +pub const ERROR_MAX_SESSIONS_REACHED: u32 = 353; +pub const ERROR_NETWORK_ACCESS_DENIED_EDP: u32 = 354; +pub const ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL: u32 = 355; +pub const ERROR_EDP_POLICY_DENIES_OPERATION: u32 = 356; +pub const ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED: u32 = 357; +pub const ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT: u32 = 358; +pub const ERROR_DEVICE_IN_MAINTENANCE: u32 = 359; +pub const ERROR_NOT_SUPPORTED_ON_DAX: u32 = 360; +pub const ERROR_DAX_MAPPING_EXISTS: u32 = 361; +pub const ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING: u32 = 362; +pub const ERROR_CLOUD_FILE_METADATA_CORRUPT: u32 = 363; +pub const ERROR_CLOUD_FILE_METADATA_TOO_LARGE: u32 = 364; +pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE: u32 = 365; +pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH: u32 = 366; +pub const ERROR_CHILD_PROCESS_BLOCKED: u32 = 367; +pub const ERROR_STORAGE_LOST_DATA_PERSISTENCE: u32 = 368; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE: u32 = 369; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT: u32 = 370; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY: u32 = 371; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN: u32 = 372; +pub const ERROR_GDI_HANDLE_LEAK: u32 = 373; +pub const ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS: u32 = 374; +pub const ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED: u32 = 375; +pub const ERROR_NOT_A_CLOUD_FILE: u32 = 376; +pub const ERROR_CLOUD_FILE_NOT_IN_SYNC: u32 = 377; +pub const ERROR_CLOUD_FILE_ALREADY_CONNECTED: u32 = 378; +pub const ERROR_CLOUD_FILE_NOT_SUPPORTED: u32 = 379; +pub const ERROR_CLOUD_FILE_INVALID_REQUEST: u32 = 380; +pub const ERROR_CLOUD_FILE_READ_ONLY_VOLUME: u32 = 381; +pub const ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY: u32 = 382; +pub const ERROR_CLOUD_FILE_VALIDATION_FAILED: u32 = 383; +pub const ERROR_SMB1_NOT_AVAILABLE: u32 = 384; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION: u32 = 385; +pub const ERROR_CLOUD_FILE_AUTHENTICATION_FAILED: u32 = 386; +pub const ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES: u32 = 387; +pub const ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE: u32 = 388; +pub const ERROR_CLOUD_FILE_UNSUCCESSFUL: u32 = 389; +pub const ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT: u32 = 390; +pub const ERROR_CLOUD_FILE_IN_USE: u32 = 391; +pub const ERROR_CLOUD_FILE_PINNED: u32 = 392; +pub const ERROR_CLOUD_FILE_REQUEST_ABORTED: u32 = 393; +pub const ERROR_CLOUD_FILE_PROPERTY_CORRUPT: u32 = 394; +pub const ERROR_CLOUD_FILE_ACCESS_DENIED: u32 = 395; +pub const ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS: u32 = 396; +pub const ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT: u32 = 397; +pub const ERROR_CLOUD_FILE_REQUEST_CANCELED: u32 = 398; +pub const ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED: u32 = 399; +pub const ERROR_THREAD_MODE_ALREADY_BACKGROUND: u32 = 400; +pub const ERROR_THREAD_MODE_NOT_BACKGROUND: u32 = 401; +pub const ERROR_PROCESS_MODE_ALREADY_BACKGROUND: u32 = 402; +pub const ERROR_PROCESS_MODE_NOT_BACKGROUND: u32 = 403; +pub const ERROR_CLOUD_FILE_PROVIDER_TERMINATED: u32 = 404; +pub const ERROR_NOT_A_CLOUD_SYNC_ROOT: u32 = 405; +pub const ERROR_FILE_PROTECTED_UNDER_DPL: u32 = 406; +pub const ERROR_VOLUME_NOT_CLUSTER_ALIGNED: u32 = 407; +pub const ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND: u32 = 408; +pub const ERROR_APPX_FILE_NOT_ENCRYPTED: u32 = 409; +pub const ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED: u32 = 410; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET: u32 = 411; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE: u32 = 412; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER: u32 = 413; +pub const ERROR_LINUX_SUBSYSTEM_NOT_PRESENT: u32 = 414; +pub const ERROR_FT_READ_FAILURE: u32 = 415; +pub const ERROR_STORAGE_RESERVE_ID_INVALID: u32 = 416; +pub const ERROR_STORAGE_RESERVE_DOES_NOT_EXIST: u32 = 417; +pub const ERROR_STORAGE_RESERVE_ALREADY_EXISTS: u32 = 418; +pub const ERROR_STORAGE_RESERVE_NOT_EMPTY: u32 = 419; +pub const ERROR_NOT_A_DAX_VOLUME: u32 = 420; +pub const ERROR_NOT_DAX_MAPPABLE: u32 = 421; +pub const ERROR_TIME_SENSITIVE_THREAD: u32 = 422; +pub const ERROR_DPL_NOT_SUPPORTED_FOR_USER: u32 = 423; +pub const ERROR_CASE_DIFFERING_NAMES_IN_DIR: u32 = 424; +pub const ERROR_FILE_NOT_SUPPORTED: u32 = 425; +pub const ERROR_CLOUD_FILE_REQUEST_TIMEOUT: u32 = 426; +pub const ERROR_NO_TASK_QUEUE: u32 = 427; +pub const ERROR_SRC_SRV_DLL_LOAD_FAILED: u32 = 428; +pub const ERROR_NOT_SUPPORTED_WITH_BTT: u32 = 429; +pub const ERROR_ENCRYPTION_DISABLED: u32 = 430; +pub const ERROR_ENCRYPTING_METADATA_DISALLOWED: u32 = 431; +pub const ERROR_CANT_CLEAR_ENCRYPTION_FLAG: u32 = 432; +pub const ERROR_NO_SUCH_DEVICE: u32 = 433; +pub const ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED: u32 = 434; +pub const ERROR_FILE_SNAP_IN_PROGRESS: u32 = 435; +pub const ERROR_FILE_SNAP_USER_SECTION_NOT_SUPPORTED: u32 = 436; +pub const ERROR_FILE_SNAP_MODIFY_NOT_SUPPORTED: u32 = 437; +pub const ERROR_FILE_SNAP_IO_NOT_COORDINATED: u32 = 438; +pub const ERROR_FILE_SNAP_UNEXPECTED_ERROR: u32 = 439; +pub const ERROR_FILE_SNAP_INVALID_PARAMETER: u32 = 440; +pub const ERROR_UNSATISFIED_DEPENDENCIES: u32 = 441; +pub const ERROR_CASE_SENSITIVE_PATH: u32 = 442; +pub const ERROR_UNEXPECTED_NTCACHEMANAGER_ERROR: u32 = 443; +pub const ERROR_LINUX_SUBSYSTEM_UPDATE_REQUIRED: u32 = 444; +pub const ERROR_DLP_POLICY_WARNS_AGAINST_OPERATION: u32 = 445; +pub const ERROR_DLP_POLICY_DENIES_OPERATION: u32 = 446; +pub const ERROR_SECURITY_DENIES_OPERATION: u32 = 447; +pub const ERROR_UNTRUSTED_MOUNT_POINT: u32 = 448; +pub const ERROR_DLP_POLICY_SILENTLY_FAIL: u32 = 449; +pub const ERROR_CAPAUTHZ_NOT_DEVUNLOCKED: u32 = 450; +pub const ERROR_CAPAUTHZ_CHANGE_TYPE: u32 = 451; +pub const ERROR_CAPAUTHZ_NOT_PROVISIONED: u32 = 452; +pub const ERROR_CAPAUTHZ_NOT_AUTHORIZED: u32 = 453; +pub const ERROR_CAPAUTHZ_NO_POLICY: u32 = 454; +pub const ERROR_CAPAUTHZ_DB_CORRUPTED: u32 = 455; +pub const ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG: u32 = 456; +pub const ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY: u32 = 457; +pub const ERROR_CAPAUTHZ_SCCD_PARSE_ERROR: u32 = 458; +pub const ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED: u32 = 459; +pub const ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH: u32 = 460; +pub const ERROR_CIMFS_IMAGE_CORRUPT: u32 = 470; +pub const ERROR_CIMFS_IMAGE_VERSION_NOT_SUPPORTED: u32 = 471; +pub const ERROR_STORAGE_STACK_ACCESS_DENIED: u32 = 472; +pub const ERROR_INSUFFICIENT_VIRTUAL_ADDR_RESOURCES: u32 = 473; +pub const ERROR_INDEX_OUT_OF_BOUNDS: u32 = 474; +pub const ERROR_CLOUD_FILE_US_MESSAGE_TIMEOUT: u32 = 475; +pub const ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT: u32 = 480; +pub const ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT: u32 = 481; +pub const ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT: u32 = 482; +pub const ERROR_DEVICE_HARDWARE_ERROR: u32 = 483; +pub const ERROR_INVALID_ADDRESS: u32 = 487; +pub const ERROR_HAS_SYSTEM_CRITICAL_FILES: u32 = 488; +pub const ERROR_ENCRYPTED_FILE_NOT_SUPPORTED: u32 = 489; +pub const ERROR_SPARSE_FILE_NOT_SUPPORTED: u32 = 490; +pub const ERROR_PAGEFILE_NOT_SUPPORTED: u32 = 491; +pub const ERROR_VOLUME_NOT_SUPPORTED: u32 = 492; +pub const ERROR_NOT_SUPPORTED_WITH_BYPASSIO: u32 = 493; +pub const ERROR_NO_BYPASSIO_DRIVER_SUPPORT: u32 = 494; +pub const ERROR_NOT_SUPPORTED_WITH_ENCRYPTION: u32 = 495; +pub const ERROR_NOT_SUPPORTED_WITH_COMPRESSION: u32 = 496; +pub const ERROR_NOT_SUPPORTED_WITH_REPLICATION: u32 = 497; +pub const ERROR_NOT_SUPPORTED_WITH_DEDUPLICATION: u32 = 498; +pub const ERROR_NOT_SUPPORTED_WITH_AUDITING: u32 = 499; +pub const ERROR_USER_PROFILE_LOAD: u32 = 500; +pub const ERROR_SESSION_KEY_TOO_SHORT: u32 = 501; +pub const ERROR_ACCESS_DENIED_APPDATA: u32 = 502; +pub const ERROR_NOT_SUPPORTED_WITH_MONITORING: u32 = 503; +pub const ERROR_NOT_SUPPORTED_WITH_SNAPSHOT: u32 = 504; +pub const ERROR_NOT_SUPPORTED_WITH_VIRTUALIZATION: u32 = 505; +pub const ERROR_BYPASSIO_FLT_NOT_SUPPORTED: u32 = 506; +pub const ERROR_DEVICE_RESET_REQUIRED: u32 = 507; +pub const ERROR_VOLUME_WRITE_ACCESS_DENIED: u32 = 508; +pub const ERROR_NOT_SUPPORTED_WITH_CACHED_HANDLE: u32 = 509; +pub const ERROR_FS_METADATA_INCONSISTENT: u32 = 510; +pub const ERROR_ARITHMETIC_OVERFLOW: u32 = 534; +pub const ERROR_PIPE_CONNECTED: u32 = 535; +pub const ERROR_PIPE_LISTENING: u32 = 536; +pub const ERROR_VERIFIER_STOP: u32 = 537; +pub const ERROR_ABIOS_ERROR: u32 = 538; +pub const ERROR_WX86_WARNING: u32 = 539; +pub const ERROR_WX86_ERROR: u32 = 540; +pub const ERROR_TIMER_NOT_CANCELED: u32 = 541; +pub const ERROR_UNWIND: u32 = 542; +pub const ERROR_BAD_STACK: u32 = 543; +pub const ERROR_INVALID_UNWIND_TARGET: u32 = 544; +pub const ERROR_INVALID_PORT_ATTRIBUTES: u32 = 545; +pub const ERROR_PORT_MESSAGE_TOO_LONG: u32 = 546; +pub const ERROR_INVALID_QUOTA_LOWER: u32 = 547; +pub const ERROR_DEVICE_ALREADY_ATTACHED: u32 = 548; +pub const ERROR_INSTRUCTION_MISALIGNMENT: u32 = 549; +pub const ERROR_PROFILING_NOT_STARTED: u32 = 550; +pub const ERROR_PROFILING_NOT_STOPPED: u32 = 551; +pub const ERROR_COULD_NOT_INTERPRET: u32 = 552; +pub const ERROR_PROFILING_AT_LIMIT: u32 = 553; +pub const ERROR_CANT_WAIT: u32 = 554; +pub const ERROR_CANT_TERMINATE_SELF: u32 = 555; +pub const ERROR_UNEXPECTED_MM_CREATE_ERR: u32 = 556; +pub const ERROR_UNEXPECTED_MM_MAP_ERROR: u32 = 557; +pub const ERROR_UNEXPECTED_MM_EXTEND_ERR: u32 = 558; +pub const ERROR_BAD_FUNCTION_TABLE: u32 = 559; +pub const ERROR_NO_GUID_TRANSLATION: u32 = 560; +pub const ERROR_INVALID_LDT_SIZE: u32 = 561; +pub const ERROR_INVALID_LDT_OFFSET: u32 = 563; +pub const ERROR_INVALID_LDT_DESCRIPTOR: u32 = 564; +pub const ERROR_TOO_MANY_THREADS: u32 = 565; +pub const ERROR_THREAD_NOT_IN_PROCESS: u32 = 566; +pub const ERROR_PAGEFILE_QUOTA_EXCEEDED: u32 = 567; +pub const ERROR_LOGON_SERVER_CONFLICT: u32 = 568; +pub const ERROR_SYNCHRONIZATION_REQUIRED: u32 = 569; +pub const ERROR_NET_OPEN_FAILED: u32 = 570; +pub const ERROR_IO_PRIVILEGE_FAILED: u32 = 571; +pub const ERROR_CONTROL_C_EXIT: u32 = 572; +pub const ERROR_MISSING_SYSTEMFILE: u32 = 573; +pub const ERROR_UNHANDLED_EXCEPTION: u32 = 574; +pub const ERROR_APP_INIT_FAILURE: u32 = 575; +pub const ERROR_PAGEFILE_CREATE_FAILED: u32 = 576; +pub const ERROR_INVALID_IMAGE_HASH: u32 = 577; +pub const ERROR_NO_PAGEFILE: u32 = 578; +pub const ERROR_ILLEGAL_FLOAT_CONTEXT: u32 = 579; +pub const ERROR_NO_EVENT_PAIR: u32 = 580; +pub const ERROR_DOMAIN_CTRLR_CONFIG_ERROR: u32 = 581; +pub const ERROR_ILLEGAL_CHARACTER: u32 = 582; +pub const ERROR_UNDEFINED_CHARACTER: u32 = 583; +pub const ERROR_FLOPPY_VOLUME: u32 = 584; +pub const ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT: u32 = 585; +pub const ERROR_BACKUP_CONTROLLER: u32 = 586; +pub const ERROR_MUTANT_LIMIT_EXCEEDED: u32 = 587; +pub const ERROR_FS_DRIVER_REQUIRED: u32 = 588; +pub const ERROR_CANNOT_LOAD_REGISTRY_FILE: u32 = 589; +pub const ERROR_DEBUG_ATTACH_FAILED: u32 = 590; +pub const ERROR_SYSTEM_PROCESS_TERMINATED: u32 = 591; +pub const ERROR_DATA_NOT_ACCEPTED: u32 = 592; +pub const ERROR_VDM_HARD_ERROR: u32 = 593; +pub const ERROR_DRIVER_CANCEL_TIMEOUT: u32 = 594; +pub const ERROR_REPLY_MESSAGE_MISMATCH: u32 = 595; +pub const ERROR_LOST_WRITEBEHIND_DATA: u32 = 596; +pub const ERROR_CLIENT_SERVER_PARAMETERS_INVALID: u32 = 597; +pub const ERROR_NOT_TINY_STREAM: u32 = 598; +pub const ERROR_STACK_OVERFLOW_READ: u32 = 599; +pub const ERROR_CONVERT_TO_LARGE: u32 = 600; +pub const ERROR_FOUND_OUT_OF_SCOPE: u32 = 601; +pub const ERROR_ALLOCATE_BUCKET: u32 = 602; +pub const ERROR_MARSHALL_OVERFLOW: u32 = 603; +pub const ERROR_INVALID_VARIANT: u32 = 604; +pub const ERROR_BAD_COMPRESSION_BUFFER: u32 = 605; +pub const ERROR_AUDIT_FAILED: u32 = 606; +pub const ERROR_TIMER_RESOLUTION_NOT_SET: u32 = 607; +pub const ERROR_INSUFFICIENT_LOGON_INFO: u32 = 608; +pub const ERROR_BAD_DLL_ENTRYPOINT: u32 = 609; +pub const ERROR_BAD_SERVICE_ENTRYPOINT: u32 = 610; +pub const ERROR_IP_ADDRESS_CONFLICT1: u32 = 611; +pub const ERROR_IP_ADDRESS_CONFLICT2: u32 = 612; +pub const ERROR_REGISTRY_QUOTA_LIMIT: u32 = 613; +pub const ERROR_NO_CALLBACK_ACTIVE: u32 = 614; +pub const ERROR_PWD_TOO_SHORT: u32 = 615; +pub const ERROR_PWD_TOO_RECENT: u32 = 616; +pub const ERROR_PWD_HISTORY_CONFLICT: u32 = 617; +pub const ERROR_UNSUPPORTED_COMPRESSION: u32 = 618; +pub const ERROR_INVALID_HW_PROFILE: u32 = 619; +pub const ERROR_INVALID_PLUGPLAY_DEVICE_PATH: u32 = 620; +pub const ERROR_QUOTA_LIST_INCONSISTENT: u32 = 621; +pub const ERROR_EVALUATION_EXPIRATION: u32 = 622; +pub const ERROR_ILLEGAL_DLL_RELOCATION: u32 = 623; +pub const ERROR_DLL_INIT_FAILED_LOGOFF: u32 = 624; +pub const ERROR_VALIDATE_CONTINUE: u32 = 625; +pub const ERROR_NO_MORE_MATCHES: u32 = 626; +pub const ERROR_RANGE_LIST_CONFLICT: u32 = 627; +pub const ERROR_SERVER_SID_MISMATCH: u32 = 628; +pub const ERROR_CANT_ENABLE_DENY_ONLY: u32 = 629; +pub const ERROR_FLOAT_MULTIPLE_FAULTS: u32 = 630; +pub const ERROR_FLOAT_MULTIPLE_TRAPS: u32 = 631; +pub const ERROR_NOINTERFACE: u32 = 632; +pub const ERROR_DRIVER_FAILED_SLEEP: u32 = 633; +pub const ERROR_CORRUPT_SYSTEM_FILE: u32 = 634; +pub const ERROR_COMMITMENT_MINIMUM: u32 = 635; +pub const ERROR_PNP_RESTART_ENUMERATION: u32 = 636; +pub const ERROR_SYSTEM_IMAGE_BAD_SIGNATURE: u32 = 637; +pub const ERROR_PNP_REBOOT_REQUIRED: u32 = 638; +pub const ERROR_INSUFFICIENT_POWER: u32 = 639; +pub const ERROR_MULTIPLE_FAULT_VIOLATION: u32 = 640; +pub const ERROR_SYSTEM_SHUTDOWN: u32 = 641; +pub const ERROR_PORT_NOT_SET: u32 = 642; +pub const ERROR_DS_VERSION_CHECK_FAILURE: u32 = 643; +pub const ERROR_RANGE_NOT_FOUND: u32 = 644; +pub const ERROR_NOT_SAFE_MODE_DRIVER: u32 = 646; +pub const ERROR_FAILED_DRIVER_ENTRY: u32 = 647; +pub const ERROR_DEVICE_ENUMERATION_ERROR: u32 = 648; +pub const ERROR_MOUNT_POINT_NOT_RESOLVED: u32 = 649; +pub const ERROR_INVALID_DEVICE_OBJECT_PARAMETER: u32 = 650; +pub const ERROR_MCA_OCCURED: u32 = 651; +pub const ERROR_DRIVER_DATABASE_ERROR: u32 = 652; +pub const ERROR_SYSTEM_HIVE_TOO_LARGE: u32 = 653; +pub const ERROR_DRIVER_FAILED_PRIOR_UNLOAD: u32 = 654; +pub const ERROR_VOLSNAP_PREPARE_HIBERNATE: u32 = 655; +pub const ERROR_HIBERNATION_FAILURE: u32 = 656; +pub const ERROR_PWD_TOO_LONG: u32 = 657; +pub const ERROR_FILE_SYSTEM_LIMITATION: u32 = 665; +pub const ERROR_ASSERTION_FAILURE: u32 = 668; +pub const ERROR_ACPI_ERROR: u32 = 669; +pub const ERROR_WOW_ASSERTION: u32 = 670; +pub const ERROR_PNP_BAD_MPS_TABLE: u32 = 671; +pub const ERROR_PNP_TRANSLATION_FAILED: u32 = 672; +pub const ERROR_PNP_IRQ_TRANSLATION_FAILED: u32 = 673; +pub const ERROR_PNP_INVALID_ID: u32 = 674; +pub const ERROR_WAKE_SYSTEM_DEBUGGER: u32 = 675; +pub const ERROR_HANDLES_CLOSED: u32 = 676; +pub const ERROR_EXTRANEOUS_INFORMATION: u32 = 677; +pub const ERROR_RXACT_COMMIT_NECESSARY: u32 = 678; +pub const ERROR_MEDIA_CHECK: u32 = 679; +pub const ERROR_GUID_SUBSTITUTION_MADE: u32 = 680; +pub const ERROR_STOPPED_ON_SYMLINK: u32 = 681; +pub const ERROR_LONGJUMP: u32 = 682; +pub const ERROR_PLUGPLAY_QUERY_VETOED: u32 = 683; +pub const ERROR_UNWIND_CONSOLIDATE: u32 = 684; +pub const ERROR_REGISTRY_HIVE_RECOVERED: u32 = 685; +pub const ERROR_DLL_MIGHT_BE_INSECURE: u32 = 686; +pub const ERROR_DLL_MIGHT_BE_INCOMPATIBLE: u32 = 687; +pub const ERROR_DBG_EXCEPTION_NOT_HANDLED: u32 = 688; +pub const ERROR_DBG_REPLY_LATER: u32 = 689; +pub const ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE: u32 = 690; +pub const ERROR_DBG_TERMINATE_THREAD: u32 = 691; +pub const ERROR_DBG_TERMINATE_PROCESS: u32 = 692; +pub const ERROR_DBG_CONTROL_C: u32 = 693; +pub const ERROR_DBG_PRINTEXCEPTION_C: u32 = 694; +pub const ERROR_DBG_RIPEXCEPTION: u32 = 695; +pub const ERROR_DBG_CONTROL_BREAK: u32 = 696; +pub const ERROR_DBG_COMMAND_EXCEPTION: u32 = 697; +pub const ERROR_OBJECT_NAME_EXISTS: u32 = 698; +pub const ERROR_THREAD_WAS_SUSPENDED: u32 = 699; +pub const ERROR_IMAGE_NOT_AT_BASE: u32 = 700; +pub const ERROR_RXACT_STATE_CREATED: u32 = 701; +pub const ERROR_SEGMENT_NOTIFICATION: u32 = 702; +pub const ERROR_BAD_CURRENT_DIRECTORY: u32 = 703; +pub const ERROR_FT_READ_RECOVERY_FROM_BACKUP: u32 = 704; +pub const ERROR_FT_WRITE_RECOVERY: u32 = 705; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH: u32 = 706; +pub const ERROR_RECEIVE_PARTIAL: u32 = 707; +pub const ERROR_RECEIVE_EXPEDITED: u32 = 708; +pub const ERROR_RECEIVE_PARTIAL_EXPEDITED: u32 = 709; +pub const ERROR_EVENT_DONE: u32 = 710; +pub const ERROR_EVENT_PENDING: u32 = 711; +pub const ERROR_CHECKING_FILE_SYSTEM: u32 = 712; +pub const ERROR_FATAL_APP_EXIT: u32 = 713; +pub const ERROR_PREDEFINED_HANDLE: u32 = 714; +pub const ERROR_WAS_UNLOCKED: u32 = 715; +pub const ERROR_SERVICE_NOTIFICATION: u32 = 716; +pub const ERROR_WAS_LOCKED: u32 = 717; +pub const ERROR_LOG_HARD_ERROR: u32 = 718; +pub const ERROR_ALREADY_WIN32: u32 = 719; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE: u32 = 720; +pub const ERROR_NO_YIELD_PERFORMED: u32 = 721; +pub const ERROR_TIMER_RESUME_IGNORED: u32 = 722; +pub const ERROR_ARBITRATION_UNHANDLED: u32 = 723; +pub const ERROR_CARDBUS_NOT_SUPPORTED: u32 = 724; +pub const ERROR_MP_PROCESSOR_MISMATCH: u32 = 725; +pub const ERROR_HIBERNATED: u32 = 726; +pub const ERROR_RESUME_HIBERNATION: u32 = 727; +pub const ERROR_FIRMWARE_UPDATED: u32 = 728; +pub const ERROR_DRIVERS_LEAKING_LOCKED_PAGES: u32 = 729; +pub const ERROR_WAKE_SYSTEM: u32 = 730; +pub const ERROR_WAIT_1: u32 = 731; +pub const ERROR_WAIT_2: u32 = 732; +pub const ERROR_WAIT_3: u32 = 733; +pub const ERROR_WAIT_63: u32 = 734; +pub const ERROR_ABANDONED_WAIT_0: u32 = 735; +pub const ERROR_ABANDONED_WAIT_63: u32 = 736; +pub const ERROR_USER_APC: u32 = 737; +pub const ERROR_KERNEL_APC: u32 = 738; +pub const ERROR_ALERTED: u32 = 739; +pub const ERROR_ELEVATION_REQUIRED: u32 = 740; +pub const ERROR_REPARSE: u32 = 741; +pub const ERROR_OPLOCK_BREAK_IN_PROGRESS: u32 = 742; +pub const ERROR_VOLUME_MOUNTED: u32 = 743; +pub const ERROR_RXACT_COMMITTED: u32 = 744; +pub const ERROR_NOTIFY_CLEANUP: u32 = 745; +pub const ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED: u32 = 746; +pub const ERROR_PAGE_FAULT_TRANSITION: u32 = 747; +pub const ERROR_PAGE_FAULT_DEMAND_ZERO: u32 = 748; +pub const ERROR_PAGE_FAULT_COPY_ON_WRITE: u32 = 749; +pub const ERROR_PAGE_FAULT_GUARD_PAGE: u32 = 750; +pub const ERROR_PAGE_FAULT_PAGING_FILE: u32 = 751; +pub const ERROR_CACHE_PAGE_LOCKED: u32 = 752; +pub const ERROR_CRASH_DUMP: u32 = 753; +pub const ERROR_BUFFER_ALL_ZEROS: u32 = 754; +pub const ERROR_REPARSE_OBJECT: u32 = 755; +pub const ERROR_RESOURCE_REQUIREMENTS_CHANGED: u32 = 756; +pub const ERROR_TRANSLATION_COMPLETE: u32 = 757; +pub const ERROR_NOTHING_TO_TERMINATE: u32 = 758; +pub const ERROR_PROCESS_NOT_IN_JOB: u32 = 759; +pub const ERROR_PROCESS_IN_JOB: u32 = 760; +pub const ERROR_VOLSNAP_HIBERNATE_READY: u32 = 761; +pub const ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY: u32 = 762; +pub const ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED: u32 = 763; +pub const ERROR_INTERRUPT_STILL_CONNECTED: u32 = 764; +pub const ERROR_WAIT_FOR_OPLOCK: u32 = 765; +pub const ERROR_DBG_EXCEPTION_HANDLED: u32 = 766; +pub const ERROR_DBG_CONTINUE: u32 = 767; +pub const ERROR_CALLBACK_POP_STACK: u32 = 768; +pub const ERROR_COMPRESSION_DISABLED: u32 = 769; +pub const ERROR_CANTFETCHBACKWARDS: u32 = 770; +pub const ERROR_CANTSCROLLBACKWARDS: u32 = 771; +pub const ERROR_ROWSNOTRELEASED: u32 = 772; +pub const ERROR_BAD_ACCESSOR_FLAGS: u32 = 773; +pub const ERROR_ERRORS_ENCOUNTERED: u32 = 774; +pub const ERROR_NOT_CAPABLE: u32 = 775; +pub const ERROR_REQUEST_OUT_OF_SEQUENCE: u32 = 776; +pub const ERROR_VERSION_PARSE_ERROR: u32 = 777; +pub const ERROR_BADSTARTPOSITION: u32 = 778; +pub const ERROR_MEMORY_HARDWARE: u32 = 779; +pub const ERROR_DISK_REPAIR_DISABLED: u32 = 780; +pub const ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: u32 = 781; +pub const ERROR_SYSTEM_POWERSTATE_TRANSITION: u32 = 782; +pub const ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: u32 = 783; +pub const ERROR_MCA_EXCEPTION: u32 = 784; +pub const ERROR_ACCESS_AUDIT_BY_POLICY: u32 = 785; +pub const ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: u32 = 786; +pub const ERROR_ABANDON_HIBERFILE: u32 = 787; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: u32 = 788; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: u32 = 789; +pub const ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: u32 = 790; +pub const ERROR_BAD_MCFG_TABLE: u32 = 791; +pub const ERROR_DISK_REPAIR_REDIRECTED: u32 = 792; +pub const ERROR_DISK_REPAIR_UNSUCCESSFUL: u32 = 793; +pub const ERROR_CORRUPT_LOG_OVERFULL: u32 = 794; +pub const ERROR_CORRUPT_LOG_CORRUPTED: u32 = 795; +pub const ERROR_CORRUPT_LOG_UNAVAILABLE: u32 = 796; +pub const ERROR_CORRUPT_LOG_DELETED_FULL: u32 = 797; +pub const ERROR_CORRUPT_LOG_CLEARED: u32 = 798; +pub const ERROR_ORPHAN_NAME_EXHAUSTED: u32 = 799; +pub const ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE: u32 = 800; +pub const ERROR_CANNOT_GRANT_REQUESTED_OPLOCK: u32 = 801; +pub const ERROR_CANNOT_BREAK_OPLOCK: u32 = 802; +pub const ERROR_OPLOCK_HANDLE_CLOSED: u32 = 803; +pub const ERROR_NO_ACE_CONDITION: u32 = 804; +pub const ERROR_INVALID_ACE_CONDITION: u32 = 805; +pub const ERROR_FILE_HANDLE_REVOKED: u32 = 806; +pub const ERROR_IMAGE_AT_DIFFERENT_BASE: u32 = 807; +pub const ERROR_ENCRYPTED_IO_NOT_POSSIBLE: u32 = 808; +pub const ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS: u32 = 809; +pub const ERROR_QUOTA_ACTIVITY: u32 = 810; +pub const ERROR_HANDLE_REVOKED: u32 = 811; +pub const ERROR_CALLBACK_INVOKE_INLINE: u32 = 812; +pub const ERROR_CPU_SET_INVALID: u32 = 813; +pub const ERROR_ENCLAVE_NOT_TERMINATED: u32 = 814; +pub const ERROR_ENCLAVE_VIOLATION: u32 = 815; +pub const ERROR_SERVER_TRANSPORT_CONFLICT: u32 = 816; +pub const ERROR_CERTIFICATE_VALIDATION_PREFERENCE_CONFLICT: u32 = 817; +pub const ERROR_FT_READ_FROM_COPY_FAILURE: u32 = 818; +pub const ERROR_SECTION_DIRECT_MAP_ONLY: u32 = 819; +pub const ERROR_EA_ACCESS_DENIED: u32 = 994; +pub const ERROR_OPERATION_ABORTED: u32 = 995; +pub const ERROR_IO_INCOMPLETE: u32 = 996; +pub const ERROR_IO_PENDING: u32 = 997; +pub const ERROR_NOACCESS: u32 = 998; +pub const ERROR_SWAPERROR: u32 = 999; +pub const ERROR_STACK_OVERFLOW: u32 = 1001; +pub const ERROR_INVALID_MESSAGE: u32 = 1002; +pub const ERROR_CAN_NOT_COMPLETE: u32 = 1003; +pub const ERROR_INVALID_FLAGS: u32 = 1004; +pub const ERROR_UNRECOGNIZED_VOLUME: u32 = 1005; +pub const ERROR_FILE_INVALID: u32 = 1006; +pub const ERROR_FULLSCREEN_MODE: u32 = 1007; +pub const ERROR_NO_TOKEN: u32 = 1008; +pub const ERROR_BADDB: u32 = 1009; +pub const ERROR_BADKEY: u32 = 1010; +pub const ERROR_CANTOPEN: u32 = 1011; +pub const ERROR_CANTREAD: u32 = 1012; +pub const ERROR_CANTWRITE: u32 = 1013; +pub const ERROR_REGISTRY_RECOVERED: u32 = 1014; +pub const ERROR_REGISTRY_CORRUPT: u32 = 1015; +pub const ERROR_REGISTRY_IO_FAILED: u32 = 1016; +pub const ERROR_NOT_REGISTRY_FILE: u32 = 1017; +pub const ERROR_KEY_DELETED: u32 = 1018; +pub const ERROR_NO_LOG_SPACE: u32 = 1019; +pub const ERROR_KEY_HAS_CHILDREN: u32 = 1020; +pub const ERROR_CHILD_MUST_BE_VOLATILE: u32 = 1021; +pub const ERROR_NOTIFY_ENUM_DIR: u32 = 1022; +pub const ERROR_DEPENDENT_SERVICES_RUNNING: u32 = 1051; +pub const ERROR_INVALID_SERVICE_CONTROL: u32 = 1052; +pub const ERROR_SERVICE_REQUEST_TIMEOUT: u32 = 1053; +pub const ERROR_SERVICE_NO_THREAD: u32 = 1054; +pub const ERROR_SERVICE_DATABASE_LOCKED: u32 = 1055; +pub const ERROR_SERVICE_ALREADY_RUNNING: u32 = 1056; +pub const ERROR_INVALID_SERVICE_ACCOUNT: u32 = 1057; +pub const ERROR_SERVICE_DISABLED: u32 = 1058; +pub const ERROR_CIRCULAR_DEPENDENCY: u32 = 1059; +pub const ERROR_SERVICE_DOES_NOT_EXIST: u32 = 1060; +pub const ERROR_SERVICE_CANNOT_ACCEPT_CTRL: u32 = 1061; +pub const ERROR_SERVICE_NOT_ACTIVE: u32 = 1062; +pub const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT: u32 = 1063; +pub const ERROR_EXCEPTION_IN_SERVICE: u32 = 1064; +pub const ERROR_DATABASE_DOES_NOT_EXIST: u32 = 1065; +pub const ERROR_SERVICE_SPECIFIC_ERROR: u32 = 1066; +pub const ERROR_PROCESS_ABORTED: u32 = 1067; +pub const ERROR_SERVICE_DEPENDENCY_FAIL: u32 = 1068; +pub const ERROR_SERVICE_LOGON_FAILED: u32 = 1069; +pub const ERROR_SERVICE_START_HANG: u32 = 1070; +pub const ERROR_INVALID_SERVICE_LOCK: u32 = 1071; +pub const ERROR_SERVICE_MARKED_FOR_DELETE: u32 = 1072; +pub const ERROR_SERVICE_EXISTS: u32 = 1073; +pub const ERROR_ALREADY_RUNNING_LKG: u32 = 1074; +pub const ERROR_SERVICE_DEPENDENCY_DELETED: u32 = 1075; +pub const ERROR_BOOT_ALREADY_ACCEPTED: u32 = 1076; +pub const ERROR_SERVICE_NEVER_STARTED: u32 = 1077; +pub const ERROR_DUPLICATE_SERVICE_NAME: u32 = 1078; +pub const ERROR_DIFFERENT_SERVICE_ACCOUNT: u32 = 1079; +pub const ERROR_CANNOT_DETECT_DRIVER_FAILURE: u32 = 1080; +pub const ERROR_CANNOT_DETECT_PROCESS_ABORT: u32 = 1081; +pub const ERROR_NO_RECOVERY_PROGRAM: u32 = 1082; +pub const ERROR_SERVICE_NOT_IN_EXE: u32 = 1083; +pub const ERROR_NOT_SAFEBOOT_SERVICE: u32 = 1084; +pub const ERROR_END_OF_MEDIA: u32 = 1100; +pub const ERROR_FILEMARK_DETECTED: u32 = 1101; +pub const ERROR_BEGINNING_OF_MEDIA: u32 = 1102; +pub const ERROR_SETMARK_DETECTED: u32 = 1103; +pub const ERROR_NO_DATA_DETECTED: u32 = 1104; +pub const ERROR_PARTITION_FAILURE: u32 = 1105; +pub const ERROR_INVALID_BLOCK_LENGTH: u32 = 1106; +pub const ERROR_DEVICE_NOT_PARTITIONED: u32 = 1107; +pub const ERROR_UNABLE_TO_LOCK_MEDIA: u32 = 1108; +pub const ERROR_UNABLE_TO_UNLOAD_MEDIA: u32 = 1109; +pub const ERROR_MEDIA_CHANGED: u32 = 1110; +pub const ERROR_BUS_RESET: u32 = 1111; +pub const ERROR_NO_MEDIA_IN_DRIVE: u32 = 1112; +pub const ERROR_NO_UNICODE_TRANSLATION: u32 = 1113; +pub const ERROR_DLL_INIT_FAILED: u32 = 1114; +pub const ERROR_SHUTDOWN_IN_PROGRESS: u32 = 1115; +pub const ERROR_NO_SHUTDOWN_IN_PROGRESS: u32 = 1116; +pub const ERROR_IO_DEVICE: u32 = 1117; +pub const ERROR_SERIAL_NO_DEVICE: u32 = 1118; +pub const ERROR_IRQ_BUSY: u32 = 1119; +pub const ERROR_MORE_WRITES: u32 = 1120; +pub const ERROR_COUNTER_TIMEOUT: u32 = 1121; +pub const ERROR_FLOPPY_ID_MARK_NOT_FOUND: u32 = 1122; +pub const ERROR_FLOPPY_WRONG_CYLINDER: u32 = 1123; +pub const ERROR_FLOPPY_UNKNOWN_ERROR: u32 = 1124; +pub const ERROR_FLOPPY_BAD_REGISTERS: u32 = 1125; +pub const ERROR_DISK_RECALIBRATE_FAILED: u32 = 1126; +pub const ERROR_DISK_OPERATION_FAILED: u32 = 1127; +pub const ERROR_DISK_RESET_FAILED: u32 = 1128; +pub const ERROR_EOM_OVERFLOW: u32 = 1129; +pub const ERROR_NOT_ENOUGH_SERVER_MEMORY: u32 = 1130; +pub const ERROR_POSSIBLE_DEADLOCK: u32 = 1131; +pub const ERROR_MAPPED_ALIGNMENT: u32 = 1132; +pub const ERROR_SET_POWER_STATE_VETOED: u32 = 1140; +pub const ERROR_SET_POWER_STATE_FAILED: u32 = 1141; +pub const ERROR_TOO_MANY_LINKS: u32 = 1142; +pub const ERROR_OLD_WIN_VERSION: u32 = 1150; +pub const ERROR_APP_WRONG_OS: u32 = 1151; +pub const ERROR_SINGLE_INSTANCE_APP: u32 = 1152; +pub const ERROR_RMODE_APP: u32 = 1153; +pub const ERROR_INVALID_DLL: u32 = 1154; +pub const ERROR_NO_ASSOCIATION: u32 = 1155; +pub const ERROR_DDE_FAIL: u32 = 1156; +pub const ERROR_DLL_NOT_FOUND: u32 = 1157; +pub const ERROR_NO_MORE_USER_HANDLES: u32 = 1158; +pub const ERROR_MESSAGE_SYNC_ONLY: u32 = 1159; +pub const ERROR_SOURCE_ELEMENT_EMPTY: u32 = 1160; +pub const ERROR_DESTINATION_ELEMENT_FULL: u32 = 1161; +pub const ERROR_ILLEGAL_ELEMENT_ADDRESS: u32 = 1162; +pub const ERROR_MAGAZINE_NOT_PRESENT: u32 = 1163; +pub const ERROR_DEVICE_REINITIALIZATION_NEEDED: u32 = 1164; +pub const ERROR_DEVICE_REQUIRES_CLEANING: u32 = 1165; +pub const ERROR_DEVICE_DOOR_OPEN: u32 = 1166; +pub const ERROR_DEVICE_NOT_CONNECTED: u32 = 1167; +pub const ERROR_NOT_FOUND: u32 = 1168; +pub const ERROR_NO_MATCH: u32 = 1169; +pub const ERROR_SET_NOT_FOUND: u32 = 1170; +pub const ERROR_POINT_NOT_FOUND: u32 = 1171; +pub const ERROR_NO_TRACKING_SERVICE: u32 = 1172; +pub const ERROR_NO_VOLUME_ID: u32 = 1173; +pub const ERROR_UNABLE_TO_REMOVE_REPLACED: u32 = 1175; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT: u32 = 1176; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2: u32 = 1177; +pub const ERROR_JOURNAL_DELETE_IN_PROGRESS: u32 = 1178; +pub const ERROR_JOURNAL_NOT_ACTIVE: u32 = 1179; +pub const ERROR_POTENTIAL_FILE_FOUND: u32 = 1180; +pub const ERROR_JOURNAL_ENTRY_DELETED: u32 = 1181; +pub const ERROR_PARTITION_TERMINATING: u32 = 1184; +pub const ERROR_SHUTDOWN_IS_SCHEDULED: u32 = 1190; +pub const ERROR_SHUTDOWN_USERS_LOGGED_ON: u32 = 1191; +pub const ERROR_SHUTDOWN_DISKS_NOT_IN_MAINTENANCE_MODE: u32 = 1192; +pub const ERROR_BAD_DEVICE: u32 = 1200; +pub const ERROR_CONNECTION_UNAVAIL: u32 = 1201; +pub const ERROR_DEVICE_ALREADY_REMEMBERED: u32 = 1202; +pub const ERROR_NO_NET_OR_BAD_PATH: u32 = 1203; +pub const ERROR_BAD_PROVIDER: u32 = 1204; +pub const ERROR_CANNOT_OPEN_PROFILE: u32 = 1205; +pub const ERROR_BAD_PROFILE: u32 = 1206; +pub const ERROR_NOT_CONTAINER: u32 = 1207; +pub const ERROR_EXTENDED_ERROR: u32 = 1208; +pub const ERROR_INVALID_GROUPNAME: u32 = 1209; +pub const ERROR_INVALID_COMPUTERNAME: u32 = 1210; +pub const ERROR_INVALID_EVENTNAME: u32 = 1211; +pub const ERROR_INVALID_DOMAINNAME: u32 = 1212; +pub const ERROR_INVALID_SERVICENAME: u32 = 1213; +pub const ERROR_INVALID_NETNAME: u32 = 1214; +pub const ERROR_INVALID_SHARENAME: u32 = 1215; +pub const ERROR_INVALID_PASSWORDNAME: u32 = 1216; +pub const ERROR_INVALID_MESSAGENAME: u32 = 1217; +pub const ERROR_INVALID_MESSAGEDEST: u32 = 1218; +pub const ERROR_SESSION_CREDENTIAL_CONFLICT: u32 = 1219; +pub const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED: u32 = 1220; +pub const ERROR_DUP_DOMAINNAME: u32 = 1221; +pub const ERROR_NO_NETWORK: u32 = 1222; +pub const ERROR_CANCELLED: u32 = 1223; +pub const ERROR_USER_MAPPED_FILE: u32 = 1224; +pub const ERROR_CONNECTION_REFUSED: u32 = 1225; +pub const ERROR_GRACEFUL_DISCONNECT: u32 = 1226; +pub const ERROR_ADDRESS_ALREADY_ASSOCIATED: u32 = 1227; +pub const ERROR_ADDRESS_NOT_ASSOCIATED: u32 = 1228; +pub const ERROR_CONNECTION_INVALID: u32 = 1229; +pub const ERROR_CONNECTION_ACTIVE: u32 = 1230; +pub const ERROR_NETWORK_UNREACHABLE: u32 = 1231; +pub const ERROR_HOST_UNREACHABLE: u32 = 1232; +pub const ERROR_PROTOCOL_UNREACHABLE: u32 = 1233; +pub const ERROR_PORT_UNREACHABLE: u32 = 1234; +pub const ERROR_REQUEST_ABORTED: u32 = 1235; +pub const ERROR_CONNECTION_ABORTED: u32 = 1236; +pub const ERROR_RETRY: u32 = 1237; +pub const ERROR_CONNECTION_COUNT_LIMIT: u32 = 1238; +pub const ERROR_LOGIN_TIME_RESTRICTION: u32 = 1239; +pub const ERROR_LOGIN_WKSTA_RESTRICTION: u32 = 1240; +pub const ERROR_INCORRECT_ADDRESS: u32 = 1241; +pub const ERROR_ALREADY_REGISTERED: u32 = 1242; +pub const ERROR_SERVICE_NOT_FOUND: u32 = 1243; +pub const ERROR_NOT_AUTHENTICATED: u32 = 1244; +pub const ERROR_NOT_LOGGED_ON: u32 = 1245; +pub const ERROR_CONTINUE: u32 = 1246; +pub const ERROR_ALREADY_INITIALIZED: u32 = 1247; +pub const ERROR_NO_MORE_DEVICES: u32 = 1248; +pub const ERROR_NO_SUCH_SITE: u32 = 1249; +pub const ERROR_DOMAIN_CONTROLLER_EXISTS: u32 = 1250; +pub const ERROR_ONLY_IF_CONNECTED: u32 = 1251; +pub const ERROR_OVERRIDE_NOCHANGES: u32 = 1252; +pub const ERROR_BAD_USER_PROFILE: u32 = 1253; +pub const ERROR_NOT_SUPPORTED_ON_SBS: u32 = 1254; +pub const ERROR_SERVER_SHUTDOWN_IN_PROGRESS: u32 = 1255; +pub const ERROR_HOST_DOWN: u32 = 1256; +pub const ERROR_NON_ACCOUNT_SID: u32 = 1257; +pub const ERROR_NON_DOMAIN_SID: u32 = 1258; +pub const ERROR_APPHELP_BLOCK: u32 = 1259; +pub const ERROR_ACCESS_DISABLED_BY_POLICY: u32 = 1260; +pub const ERROR_REG_NAT_CONSUMPTION: u32 = 1261; +pub const ERROR_CSCSHARE_OFFLINE: u32 = 1262; +pub const ERROR_PKINIT_FAILURE: u32 = 1263; +pub const ERROR_SMARTCARD_SUBSYSTEM_FAILURE: u32 = 1264; +pub const ERROR_DOWNGRADE_DETECTED: u32 = 1265; +pub const ERROR_MACHINE_LOCKED: u32 = 1271; +pub const ERROR_SMB_GUEST_LOGON_BLOCKED: u32 = 1272; +pub const ERROR_CALLBACK_SUPPLIED_INVALID_DATA: u32 = 1273; +pub const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED: u32 = 1274; +pub const ERROR_DRIVER_BLOCKED: u32 = 1275; +pub const ERROR_INVALID_IMPORT_OF_NON_DLL: u32 = 1276; +pub const ERROR_ACCESS_DISABLED_WEBBLADE: u32 = 1277; +pub const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER: u32 = 1278; +pub const ERROR_RECOVERY_FAILURE: u32 = 1279; +pub const ERROR_ALREADY_FIBER: u32 = 1280; +pub const ERROR_ALREADY_THREAD: u32 = 1281; +pub const ERROR_STACK_BUFFER_OVERRUN: u32 = 1282; +pub const ERROR_PARAMETER_QUOTA_EXCEEDED: u32 = 1283; +pub const ERROR_DEBUGGER_INACTIVE: u32 = 1284; +pub const ERROR_DELAY_LOAD_FAILED: u32 = 1285; +pub const ERROR_VDM_DISALLOWED: u32 = 1286; +pub const ERROR_UNIDENTIFIED_ERROR: u32 = 1287; +pub const ERROR_INVALID_CRUNTIME_PARAMETER: u32 = 1288; +pub const ERROR_BEYOND_VDL: u32 = 1289; +pub const ERROR_INCOMPATIBLE_SERVICE_SID_TYPE: u32 = 1290; +pub const ERROR_DRIVER_PROCESS_TERMINATED: u32 = 1291; +pub const ERROR_IMPLEMENTATION_LIMIT: u32 = 1292; +pub const ERROR_PROCESS_IS_PROTECTED: u32 = 1293; +pub const ERROR_SERVICE_NOTIFY_CLIENT_LAGGING: u32 = 1294; +pub const ERROR_DISK_QUOTA_EXCEEDED: u32 = 1295; +pub const ERROR_CONTENT_BLOCKED: u32 = 1296; +pub const ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE: u32 = 1297; +pub const ERROR_APP_HANG: u32 = 1298; +pub const ERROR_INVALID_LABEL: u32 = 1299; +pub const ERROR_NOT_ALL_ASSIGNED: u32 = 1300; +pub const ERROR_SOME_NOT_MAPPED: u32 = 1301; +pub const ERROR_NO_QUOTAS_FOR_ACCOUNT: u32 = 1302; +pub const ERROR_LOCAL_USER_SESSION_KEY: u32 = 1303; +pub const ERROR_NULL_LM_PASSWORD: u32 = 1304; +pub const ERROR_UNKNOWN_REVISION: u32 = 1305; +pub const ERROR_REVISION_MISMATCH: u32 = 1306; +pub const ERROR_INVALID_OWNER: u32 = 1307; +pub const ERROR_INVALID_PRIMARY_GROUP: u32 = 1308; +pub const ERROR_NO_IMPERSONATION_TOKEN: u32 = 1309; +pub const ERROR_CANT_DISABLE_MANDATORY: u32 = 1310; +pub const ERROR_NO_LOGON_SERVERS: u32 = 1311; +pub const ERROR_NO_SUCH_LOGON_SESSION: u32 = 1312; +pub const ERROR_NO_SUCH_PRIVILEGE: u32 = 1313; +pub const ERROR_PRIVILEGE_NOT_HELD: u32 = 1314; +pub const ERROR_INVALID_ACCOUNT_NAME: u32 = 1315; +pub const ERROR_USER_EXISTS: u32 = 1316; +pub const ERROR_NO_SUCH_USER: u32 = 1317; +pub const ERROR_GROUP_EXISTS: u32 = 1318; +pub const ERROR_NO_SUCH_GROUP: u32 = 1319; +pub const ERROR_MEMBER_IN_GROUP: u32 = 1320; +pub const ERROR_MEMBER_NOT_IN_GROUP: u32 = 1321; +pub const ERROR_LAST_ADMIN: u32 = 1322; +pub const ERROR_WRONG_PASSWORD: u32 = 1323; +pub const ERROR_ILL_FORMED_PASSWORD: u32 = 1324; +pub const ERROR_PASSWORD_RESTRICTION: u32 = 1325; +pub const ERROR_LOGON_FAILURE: u32 = 1326; +pub const ERROR_ACCOUNT_RESTRICTION: u32 = 1327; +pub const ERROR_INVALID_LOGON_HOURS: u32 = 1328; +pub const ERROR_INVALID_WORKSTATION: u32 = 1329; +pub const ERROR_PASSWORD_EXPIRED: u32 = 1330; +pub const ERROR_ACCOUNT_DISABLED: u32 = 1331; +pub const ERROR_NONE_MAPPED: u32 = 1332; +pub const ERROR_TOO_MANY_LUIDS_REQUESTED: u32 = 1333; +pub const ERROR_LUIDS_EXHAUSTED: u32 = 1334; +pub const ERROR_INVALID_SUB_AUTHORITY: u32 = 1335; +pub const ERROR_INVALID_ACL: u32 = 1336; +pub const ERROR_INVALID_SID: u32 = 1337; +pub const ERROR_INVALID_SECURITY_DESCR: u32 = 1338; +pub const ERROR_BAD_INHERITANCE_ACL: u32 = 1340; +pub const ERROR_SERVER_DISABLED: u32 = 1341; +pub const ERROR_SERVER_NOT_DISABLED: u32 = 1342; +pub const ERROR_INVALID_ID_AUTHORITY: u32 = 1343; +pub const ERROR_ALLOTTED_SPACE_EXCEEDED: u32 = 1344; +pub const ERROR_INVALID_GROUP_ATTRIBUTES: u32 = 1345; +pub const ERROR_BAD_IMPERSONATION_LEVEL: u32 = 1346; +pub const ERROR_CANT_OPEN_ANONYMOUS: u32 = 1347; +pub const ERROR_BAD_VALIDATION_CLASS: u32 = 1348; +pub const ERROR_BAD_TOKEN_TYPE: u32 = 1349; +pub const ERROR_NO_SECURITY_ON_OBJECT: u32 = 1350; +pub const ERROR_CANT_ACCESS_DOMAIN_INFO: u32 = 1351; +pub const ERROR_INVALID_SERVER_STATE: u32 = 1352; +pub const ERROR_INVALID_DOMAIN_STATE: u32 = 1353; +pub const ERROR_INVALID_DOMAIN_ROLE: u32 = 1354; +pub const ERROR_NO_SUCH_DOMAIN: u32 = 1355; +pub const ERROR_DOMAIN_EXISTS: u32 = 1356; +pub const ERROR_DOMAIN_LIMIT_EXCEEDED: u32 = 1357; +pub const ERROR_INTERNAL_DB_CORRUPTION: u32 = 1358; +pub const ERROR_INTERNAL_ERROR: u32 = 1359; +pub const ERROR_GENERIC_NOT_MAPPED: u32 = 1360; +pub const ERROR_BAD_DESCRIPTOR_FORMAT: u32 = 1361; +pub const ERROR_NOT_LOGON_PROCESS: u32 = 1362; +pub const ERROR_LOGON_SESSION_EXISTS: u32 = 1363; +pub const ERROR_NO_SUCH_PACKAGE: u32 = 1364; +pub const ERROR_BAD_LOGON_SESSION_STATE: u32 = 1365; +pub const ERROR_LOGON_SESSION_COLLISION: u32 = 1366; +pub const ERROR_INVALID_LOGON_TYPE: u32 = 1367; +pub const ERROR_CANNOT_IMPERSONATE: u32 = 1368; +pub const ERROR_RXACT_INVALID_STATE: u32 = 1369; +pub const ERROR_RXACT_COMMIT_FAILURE: u32 = 1370; +pub const ERROR_SPECIAL_ACCOUNT: u32 = 1371; +pub const ERROR_SPECIAL_GROUP: u32 = 1372; +pub const ERROR_SPECIAL_USER: u32 = 1373; +pub const ERROR_MEMBERS_PRIMARY_GROUP: u32 = 1374; +pub const ERROR_TOKEN_ALREADY_IN_USE: u32 = 1375; +pub const ERROR_NO_SUCH_ALIAS: u32 = 1376; +pub const ERROR_MEMBER_NOT_IN_ALIAS: u32 = 1377; +pub const ERROR_MEMBER_IN_ALIAS: u32 = 1378; +pub const ERROR_ALIAS_EXISTS: u32 = 1379; +pub const ERROR_LOGON_NOT_GRANTED: u32 = 1380; +pub const ERROR_TOO_MANY_SECRETS: u32 = 1381; +pub const ERROR_SECRET_TOO_LONG: u32 = 1382; +pub const ERROR_INTERNAL_DB_ERROR: u32 = 1383; +pub const ERROR_TOO_MANY_CONTEXT_IDS: u32 = 1384; +pub const ERROR_LOGON_TYPE_NOT_GRANTED: u32 = 1385; +pub const ERROR_NT_CROSS_ENCRYPTION_REQUIRED: u32 = 1386; +pub const ERROR_NO_SUCH_MEMBER: u32 = 1387; +pub const ERROR_INVALID_MEMBER: u32 = 1388; +pub const ERROR_TOO_MANY_SIDS: u32 = 1389; +pub const ERROR_LM_CROSS_ENCRYPTION_REQUIRED: u32 = 1390; +pub const ERROR_NO_INHERITANCE: u32 = 1391; +pub const ERROR_FILE_CORRUPT: u32 = 1392; +pub const ERROR_DISK_CORRUPT: u32 = 1393; +pub const ERROR_NO_USER_SESSION_KEY: u32 = 1394; +pub const ERROR_LICENSE_QUOTA_EXCEEDED: u32 = 1395; +pub const ERROR_WRONG_TARGET_NAME: u32 = 1396; +pub const ERROR_MUTUAL_AUTH_FAILED: u32 = 1397; +pub const ERROR_TIME_SKEW: u32 = 1398; +pub const ERROR_CURRENT_DOMAIN_NOT_ALLOWED: u32 = 1399; +pub const ERROR_INVALID_WINDOW_HANDLE: u32 = 1400; +pub const ERROR_INVALID_MENU_HANDLE: u32 = 1401; +pub const ERROR_INVALID_CURSOR_HANDLE: u32 = 1402; +pub const ERROR_INVALID_ACCEL_HANDLE: u32 = 1403; +pub const ERROR_INVALID_HOOK_HANDLE: u32 = 1404; +pub const ERROR_INVALID_DWP_HANDLE: u32 = 1405; +pub const ERROR_TLW_WITH_WSCHILD: u32 = 1406; +pub const ERROR_CANNOT_FIND_WND_CLASS: u32 = 1407; +pub const ERROR_WINDOW_OF_OTHER_THREAD: u32 = 1408; +pub const ERROR_HOTKEY_ALREADY_REGISTERED: u32 = 1409; +pub const ERROR_CLASS_ALREADY_EXISTS: u32 = 1410; +pub const ERROR_CLASS_DOES_NOT_EXIST: u32 = 1411; +pub const ERROR_CLASS_HAS_WINDOWS: u32 = 1412; +pub const ERROR_INVALID_INDEX: u32 = 1413; +pub const ERROR_INVALID_ICON_HANDLE: u32 = 1414; +pub const ERROR_PRIVATE_DIALOG_INDEX: u32 = 1415; +pub const ERROR_LISTBOX_ID_NOT_FOUND: u32 = 1416; +pub const ERROR_NO_WILDCARD_CHARACTERS: u32 = 1417; +pub const ERROR_CLIPBOARD_NOT_OPEN: u32 = 1418; +pub const ERROR_HOTKEY_NOT_REGISTERED: u32 = 1419; +pub const ERROR_WINDOW_NOT_DIALOG: u32 = 1420; +pub const ERROR_CONTROL_ID_NOT_FOUND: u32 = 1421; +pub const ERROR_INVALID_COMBOBOX_MESSAGE: u32 = 1422; +pub const ERROR_WINDOW_NOT_COMBOBOX: u32 = 1423; +pub const ERROR_INVALID_EDIT_HEIGHT: u32 = 1424; +pub const ERROR_DC_NOT_FOUND: u32 = 1425; +pub const ERROR_INVALID_HOOK_FILTER: u32 = 1426; +pub const ERROR_INVALID_FILTER_PROC: u32 = 1427; +pub const ERROR_HOOK_NEEDS_HMOD: u32 = 1428; +pub const ERROR_GLOBAL_ONLY_HOOK: u32 = 1429; +pub const ERROR_JOURNAL_HOOK_SET: u32 = 1430; +pub const ERROR_HOOK_NOT_INSTALLED: u32 = 1431; +pub const ERROR_INVALID_LB_MESSAGE: u32 = 1432; +pub const ERROR_SETCOUNT_ON_BAD_LB: u32 = 1433; +pub const ERROR_LB_WITHOUT_TABSTOPS: u32 = 1434; +pub const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD: u32 = 1435; +pub const ERROR_CHILD_WINDOW_MENU: u32 = 1436; +pub const ERROR_NO_SYSTEM_MENU: u32 = 1437; +pub const ERROR_INVALID_MSGBOX_STYLE: u32 = 1438; +pub const ERROR_INVALID_SPI_VALUE: u32 = 1439; +pub const ERROR_SCREEN_ALREADY_LOCKED: u32 = 1440; +pub const ERROR_HWNDS_HAVE_DIFF_PARENT: u32 = 1441; +pub const ERROR_NOT_CHILD_WINDOW: u32 = 1442; +pub const ERROR_INVALID_GW_COMMAND: u32 = 1443; +pub const ERROR_INVALID_THREAD_ID: u32 = 1444; +pub const ERROR_NON_MDICHILD_WINDOW: u32 = 1445; +pub const ERROR_POPUP_ALREADY_ACTIVE: u32 = 1446; +pub const ERROR_NO_SCROLLBARS: u32 = 1447; +pub const ERROR_INVALID_SCROLLBAR_RANGE: u32 = 1448; +pub const ERROR_INVALID_SHOWWIN_COMMAND: u32 = 1449; +pub const ERROR_NO_SYSTEM_RESOURCES: u32 = 1450; +pub const ERROR_NONPAGED_SYSTEM_RESOURCES: u32 = 1451; +pub const ERROR_PAGED_SYSTEM_RESOURCES: u32 = 1452; +pub const ERROR_WORKING_SET_QUOTA: u32 = 1453; +pub const ERROR_PAGEFILE_QUOTA: u32 = 1454; +pub const ERROR_COMMITMENT_LIMIT: u32 = 1455; +pub const ERROR_MENU_ITEM_NOT_FOUND: u32 = 1456; +pub const ERROR_INVALID_KEYBOARD_HANDLE: u32 = 1457; +pub const ERROR_HOOK_TYPE_NOT_ALLOWED: u32 = 1458; +pub const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION: u32 = 1459; +pub const ERROR_TIMEOUT: u32 = 1460; +pub const ERROR_INVALID_MONITOR_HANDLE: u32 = 1461; +pub const ERROR_INCORRECT_SIZE: u32 = 1462; +pub const ERROR_SYMLINK_CLASS_DISABLED: u32 = 1463; +pub const ERROR_SYMLINK_NOT_SUPPORTED: u32 = 1464; +pub const ERROR_XML_PARSE_ERROR: u32 = 1465; +pub const ERROR_XMLDSIG_ERROR: u32 = 1466; +pub const ERROR_RESTART_APPLICATION: u32 = 1467; +pub const ERROR_WRONG_COMPARTMENT: u32 = 1468; +pub const ERROR_AUTHIP_FAILURE: u32 = 1469; +pub const ERROR_NO_NVRAM_RESOURCES: u32 = 1470; +pub const ERROR_NOT_GUI_PROCESS: u32 = 1471; +pub const ERROR_EVENTLOG_FILE_CORRUPT: u32 = 1500; +pub const ERROR_EVENTLOG_CANT_START: u32 = 1501; +pub const ERROR_LOG_FILE_FULL: u32 = 1502; +pub const ERROR_EVENTLOG_FILE_CHANGED: u32 = 1503; +pub const ERROR_CONTAINER_ASSIGNED: u32 = 1504; +pub const ERROR_JOB_NO_CONTAINER: u32 = 1505; +pub const ERROR_INVALID_TASK_NAME: u32 = 1550; +pub const ERROR_INVALID_TASK_INDEX: u32 = 1551; +pub const ERROR_THREAD_ALREADY_IN_TASK: u32 = 1552; +pub const ERROR_INSTALL_SERVICE_FAILURE: u32 = 1601; +pub const ERROR_INSTALL_USEREXIT: u32 = 1602; +pub const ERROR_INSTALL_FAILURE: u32 = 1603; +pub const ERROR_INSTALL_SUSPEND: u32 = 1604; +pub const ERROR_UNKNOWN_PRODUCT: u32 = 1605; +pub const ERROR_UNKNOWN_FEATURE: u32 = 1606; +pub const ERROR_UNKNOWN_COMPONENT: u32 = 1607; +pub const ERROR_UNKNOWN_PROPERTY: u32 = 1608; +pub const ERROR_INVALID_HANDLE_STATE: u32 = 1609; +pub const ERROR_BAD_CONFIGURATION: u32 = 1610; +pub const ERROR_INDEX_ABSENT: u32 = 1611; +pub const ERROR_INSTALL_SOURCE_ABSENT: u32 = 1612; +pub const ERROR_INSTALL_PACKAGE_VERSION: u32 = 1613; +pub const ERROR_PRODUCT_UNINSTALLED: u32 = 1614; +pub const ERROR_BAD_QUERY_SYNTAX: u32 = 1615; +pub const ERROR_INVALID_FIELD: u32 = 1616; +pub const ERROR_DEVICE_REMOVED: u32 = 1617; +pub const ERROR_INSTALL_ALREADY_RUNNING: u32 = 1618; +pub const ERROR_INSTALL_PACKAGE_OPEN_FAILED: u32 = 1619; +pub const ERROR_INSTALL_PACKAGE_INVALID: u32 = 1620; +pub const ERROR_INSTALL_UI_FAILURE: u32 = 1621; +pub const ERROR_INSTALL_LOG_FAILURE: u32 = 1622; +pub const ERROR_INSTALL_LANGUAGE_UNSUPPORTED: u32 = 1623; +pub const ERROR_INSTALL_TRANSFORM_FAILURE: u32 = 1624; +pub const ERROR_INSTALL_PACKAGE_REJECTED: u32 = 1625; +pub const ERROR_FUNCTION_NOT_CALLED: u32 = 1626; +pub const ERROR_FUNCTION_FAILED: u32 = 1627; +pub const ERROR_INVALID_TABLE: u32 = 1628; +pub const ERROR_DATATYPE_MISMATCH: u32 = 1629; +pub const ERROR_UNSUPPORTED_TYPE: u32 = 1630; +pub const ERROR_CREATE_FAILED: u32 = 1631; +pub const ERROR_INSTALL_TEMP_UNWRITABLE: u32 = 1632; +pub const ERROR_INSTALL_PLATFORM_UNSUPPORTED: u32 = 1633; +pub const ERROR_INSTALL_NOTUSED: u32 = 1634; +pub const ERROR_PATCH_PACKAGE_OPEN_FAILED: u32 = 1635; +pub const ERROR_PATCH_PACKAGE_INVALID: u32 = 1636; +pub const ERROR_PATCH_PACKAGE_UNSUPPORTED: u32 = 1637; +pub const ERROR_PRODUCT_VERSION: u32 = 1638; +pub const ERROR_INVALID_COMMAND_LINE: u32 = 1639; +pub const ERROR_INSTALL_REMOTE_DISALLOWED: u32 = 1640; +pub const ERROR_SUCCESS_REBOOT_INITIATED: u32 = 1641; +pub const ERROR_PATCH_TARGET_NOT_FOUND: u32 = 1642; +pub const ERROR_PATCH_PACKAGE_REJECTED: u32 = 1643; +pub const ERROR_INSTALL_TRANSFORM_REJECTED: u32 = 1644; +pub const ERROR_INSTALL_REMOTE_PROHIBITED: u32 = 1645; +pub const ERROR_PATCH_REMOVAL_UNSUPPORTED: u32 = 1646; +pub const ERROR_UNKNOWN_PATCH: u32 = 1647; +pub const ERROR_PATCH_NO_SEQUENCE: u32 = 1648; +pub const ERROR_PATCH_REMOVAL_DISALLOWED: u32 = 1649; +pub const ERROR_INVALID_PATCH_XML: u32 = 1650; +pub const ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT: u32 = 1651; +pub const ERROR_INSTALL_SERVICE_SAFEBOOT: u32 = 1652; +pub const ERROR_FAIL_FAST_EXCEPTION: u32 = 1653; +pub const ERROR_INSTALL_REJECTED: u32 = 1654; +pub const ERROR_DYNAMIC_CODE_BLOCKED: u32 = 1655; +pub const ERROR_NOT_SAME_OBJECT: u32 = 1656; +pub const ERROR_STRICT_CFG_VIOLATION: u32 = 1657; +pub const ERROR_SET_CONTEXT_DENIED: u32 = 1660; +pub const ERROR_CROSS_PARTITION_VIOLATION: u32 = 1661; +pub const ERROR_RETURN_ADDRESS_HIJACK_ATTEMPT: u32 = 1662; +pub const RPC_S_INVALID_STRING_BINDING: u32 = 1700; +pub const RPC_S_WRONG_KIND_OF_BINDING: u32 = 1701; +pub const RPC_S_INVALID_BINDING: u32 = 1702; +pub const RPC_S_PROTSEQ_NOT_SUPPORTED: u32 = 1703; +pub const RPC_S_INVALID_RPC_PROTSEQ: u32 = 1704; +pub const RPC_S_INVALID_STRING_UUID: u32 = 1705; +pub const RPC_S_INVALID_ENDPOINT_FORMAT: u32 = 1706; +pub const RPC_S_INVALID_NET_ADDR: u32 = 1707; +pub const RPC_S_NO_ENDPOINT_FOUND: u32 = 1708; +pub const RPC_S_INVALID_TIMEOUT: u32 = 1709; +pub const RPC_S_OBJECT_NOT_FOUND: u32 = 1710; +pub const RPC_S_ALREADY_REGISTERED: u32 = 1711; +pub const RPC_S_TYPE_ALREADY_REGISTERED: u32 = 1712; +pub const RPC_S_ALREADY_LISTENING: u32 = 1713; +pub const RPC_S_NO_PROTSEQS_REGISTERED: u32 = 1714; +pub const RPC_S_NOT_LISTENING: u32 = 1715; +pub const RPC_S_UNKNOWN_MGR_TYPE: u32 = 1716; +pub const RPC_S_UNKNOWN_IF: u32 = 1717; +pub const RPC_S_NO_BINDINGS: u32 = 1718; +pub const RPC_S_NO_PROTSEQS: u32 = 1719; +pub const RPC_S_CANT_CREATE_ENDPOINT: u32 = 1720; +pub const RPC_S_OUT_OF_RESOURCES: u32 = 1721; +pub const RPC_S_SERVER_UNAVAILABLE: u32 = 1722; +pub const RPC_S_SERVER_TOO_BUSY: u32 = 1723; +pub const RPC_S_INVALID_NETWORK_OPTIONS: u32 = 1724; +pub const RPC_S_NO_CALL_ACTIVE: u32 = 1725; +pub const RPC_S_CALL_FAILED: u32 = 1726; +pub const RPC_S_CALL_FAILED_DNE: u32 = 1727; +pub const RPC_S_PROTOCOL_ERROR: u32 = 1728; +pub const RPC_S_PROXY_ACCESS_DENIED: u32 = 1729; +pub const RPC_S_UNSUPPORTED_TRANS_SYN: u32 = 1730; +pub const RPC_S_UNSUPPORTED_TYPE: u32 = 1732; +pub const RPC_S_INVALID_TAG: u32 = 1733; +pub const RPC_S_INVALID_BOUND: u32 = 1734; +pub const RPC_S_NO_ENTRY_NAME: u32 = 1735; +pub const RPC_S_INVALID_NAME_SYNTAX: u32 = 1736; +pub const RPC_S_UNSUPPORTED_NAME_SYNTAX: u32 = 1737; +pub const RPC_S_UUID_NO_ADDRESS: u32 = 1739; +pub const RPC_S_DUPLICATE_ENDPOINT: u32 = 1740; +pub const RPC_S_UNKNOWN_AUTHN_TYPE: u32 = 1741; +pub const RPC_S_MAX_CALLS_TOO_SMALL: u32 = 1742; +pub const RPC_S_STRING_TOO_LONG: u32 = 1743; +pub const RPC_S_PROTSEQ_NOT_FOUND: u32 = 1744; +pub const RPC_S_PROCNUM_OUT_OF_RANGE: u32 = 1745; +pub const RPC_S_BINDING_HAS_NO_AUTH: u32 = 1746; +pub const RPC_S_UNKNOWN_AUTHN_SERVICE: u32 = 1747; +pub const RPC_S_UNKNOWN_AUTHN_LEVEL: u32 = 1748; +pub const RPC_S_INVALID_AUTH_IDENTITY: u32 = 1749; +pub const RPC_S_UNKNOWN_AUTHZ_SERVICE: u32 = 1750; +pub const EPT_S_INVALID_ENTRY: u32 = 1751; +pub const EPT_S_CANT_PERFORM_OP: u32 = 1752; +pub const EPT_S_NOT_REGISTERED: u32 = 1753; +pub const RPC_S_NOTHING_TO_EXPORT: u32 = 1754; +pub const RPC_S_INCOMPLETE_NAME: u32 = 1755; +pub const RPC_S_INVALID_VERS_OPTION: u32 = 1756; +pub const RPC_S_NO_MORE_MEMBERS: u32 = 1757; +pub const RPC_S_NOT_ALL_OBJS_UNEXPORTED: u32 = 1758; +pub const RPC_S_INTERFACE_NOT_FOUND: u32 = 1759; +pub const RPC_S_ENTRY_ALREADY_EXISTS: u32 = 1760; +pub const RPC_S_ENTRY_NOT_FOUND: u32 = 1761; +pub const RPC_S_NAME_SERVICE_UNAVAILABLE: u32 = 1762; +pub const RPC_S_INVALID_NAF_ID: u32 = 1763; +pub const RPC_S_CANNOT_SUPPORT: u32 = 1764; +pub const RPC_S_NO_CONTEXT_AVAILABLE: u32 = 1765; +pub const RPC_S_INTERNAL_ERROR: u32 = 1766; +pub const RPC_S_ZERO_DIVIDE: u32 = 1767; +pub const RPC_S_ADDRESS_ERROR: u32 = 1768; +pub const RPC_S_FP_DIV_ZERO: u32 = 1769; +pub const RPC_S_FP_UNDERFLOW: u32 = 1770; +pub const RPC_S_FP_OVERFLOW: u32 = 1771; +pub const RPC_X_NO_MORE_ENTRIES: u32 = 1772; +pub const RPC_X_SS_CHAR_TRANS_OPEN_FAIL: u32 = 1773; +pub const RPC_X_SS_CHAR_TRANS_SHORT_FILE: u32 = 1774; +pub const RPC_X_SS_IN_NULL_CONTEXT: u32 = 1775; +pub const RPC_X_SS_CONTEXT_DAMAGED: u32 = 1777; +pub const RPC_X_SS_HANDLES_MISMATCH: u32 = 1778; +pub const RPC_X_SS_CANNOT_GET_CALL_HANDLE: u32 = 1779; +pub const RPC_X_NULL_REF_POINTER: u32 = 1780; +pub const RPC_X_ENUM_VALUE_OUT_OF_RANGE: u32 = 1781; +pub const RPC_X_BYTE_COUNT_TOO_SMALL: u32 = 1782; +pub const RPC_X_BAD_STUB_DATA: u32 = 1783; +pub const ERROR_INVALID_USER_BUFFER: u32 = 1784; +pub const ERROR_UNRECOGNIZED_MEDIA: u32 = 1785; +pub const ERROR_NO_TRUST_LSA_SECRET: u32 = 1786; +pub const ERROR_NO_TRUST_SAM_ACCOUNT: u32 = 1787; +pub const ERROR_TRUSTED_DOMAIN_FAILURE: u32 = 1788; +pub const ERROR_TRUSTED_RELATIONSHIP_FAILURE: u32 = 1789; +pub const ERROR_TRUST_FAILURE: u32 = 1790; +pub const RPC_S_CALL_IN_PROGRESS: u32 = 1791; +pub const ERROR_NETLOGON_NOT_STARTED: u32 = 1792; +pub const ERROR_ACCOUNT_EXPIRED: u32 = 1793; +pub const ERROR_REDIRECTOR_HAS_OPEN_HANDLES: u32 = 1794; +pub const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: u32 = 1795; +pub const ERROR_UNKNOWN_PORT: u32 = 1796; +pub const ERROR_UNKNOWN_PRINTER_DRIVER: u32 = 1797; +pub const ERROR_UNKNOWN_PRINTPROCESSOR: u32 = 1798; +pub const ERROR_INVALID_SEPARATOR_FILE: u32 = 1799; +pub const ERROR_INVALID_PRIORITY: u32 = 1800; +pub const ERROR_INVALID_PRINTER_NAME: u32 = 1801; +pub const ERROR_PRINTER_ALREADY_EXISTS: u32 = 1802; +pub const ERROR_INVALID_PRINTER_COMMAND: u32 = 1803; +pub const ERROR_INVALID_DATATYPE: u32 = 1804; +pub const ERROR_INVALID_ENVIRONMENT: u32 = 1805; +pub const RPC_S_NO_MORE_BINDINGS: u32 = 1806; +pub const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: u32 = 1807; +pub const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT: u32 = 1808; +pub const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT: u32 = 1809; +pub const ERROR_DOMAIN_TRUST_INCONSISTENT: u32 = 1810; +pub const ERROR_SERVER_HAS_OPEN_HANDLES: u32 = 1811; +pub const ERROR_RESOURCE_DATA_NOT_FOUND: u32 = 1812; +pub const ERROR_RESOURCE_TYPE_NOT_FOUND: u32 = 1813; +pub const ERROR_RESOURCE_NAME_NOT_FOUND: u32 = 1814; +pub const ERROR_RESOURCE_LANG_NOT_FOUND: u32 = 1815; +pub const ERROR_NOT_ENOUGH_QUOTA: u32 = 1816; +pub const RPC_S_NO_INTERFACES: u32 = 1817; +pub const RPC_S_CALL_CANCELLED: u32 = 1818; +pub const RPC_S_BINDING_INCOMPLETE: u32 = 1819; +pub const RPC_S_COMM_FAILURE: u32 = 1820; +pub const RPC_S_UNSUPPORTED_AUTHN_LEVEL: u32 = 1821; +pub const RPC_S_NO_PRINC_NAME: u32 = 1822; +pub const RPC_S_NOT_RPC_ERROR: u32 = 1823; +pub const RPC_S_UUID_LOCAL_ONLY: u32 = 1824; +pub const RPC_S_SEC_PKG_ERROR: u32 = 1825; +pub const RPC_S_NOT_CANCELLED: u32 = 1826; +pub const RPC_X_INVALID_ES_ACTION: u32 = 1827; +pub const RPC_X_WRONG_ES_VERSION: u32 = 1828; +pub const RPC_X_WRONG_STUB_VERSION: u32 = 1829; +pub const RPC_X_INVALID_PIPE_OBJECT: u32 = 1830; +pub const RPC_X_WRONG_PIPE_ORDER: u32 = 1831; +pub const RPC_X_WRONG_PIPE_VERSION: u32 = 1832; +pub const RPC_S_COOKIE_AUTH_FAILED: u32 = 1833; +pub const RPC_S_DO_NOT_DISTURB: u32 = 1834; +pub const RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED: u32 = 1835; +pub const RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH: u32 = 1836; +pub const RPC_S_GROUP_MEMBER_NOT_FOUND: u32 = 1898; +pub const EPT_S_CANT_CREATE: u32 = 1899; +pub const RPC_S_INVALID_OBJECT: u32 = 1900; +pub const ERROR_INVALID_TIME: u32 = 1901; +pub const ERROR_INVALID_FORM_NAME: u32 = 1902; +pub const ERROR_INVALID_FORM_SIZE: u32 = 1903; +pub const ERROR_ALREADY_WAITING: u32 = 1904; +pub const ERROR_PRINTER_DELETED: u32 = 1905; +pub const ERROR_INVALID_PRINTER_STATE: u32 = 1906; +pub const ERROR_PASSWORD_MUST_CHANGE: u32 = 1907; +pub const ERROR_DOMAIN_CONTROLLER_NOT_FOUND: u32 = 1908; +pub const ERROR_ACCOUNT_LOCKED_OUT: u32 = 1909; +pub const OR_INVALID_OXID: u32 = 1910; +pub const OR_INVALID_OID: u32 = 1911; +pub const OR_INVALID_SET: u32 = 1912; +pub const RPC_S_SEND_INCOMPLETE: u32 = 1913; +pub const RPC_S_INVALID_ASYNC_HANDLE: u32 = 1914; +pub const RPC_S_INVALID_ASYNC_CALL: u32 = 1915; +pub const RPC_X_PIPE_CLOSED: u32 = 1916; +pub const RPC_X_PIPE_DISCIPLINE_ERROR: u32 = 1917; +pub const RPC_X_PIPE_EMPTY: u32 = 1918; +pub const ERROR_NO_SITENAME: u32 = 1919; +pub const ERROR_CANT_ACCESS_FILE: u32 = 1920; +pub const ERROR_CANT_RESOLVE_FILENAME: u32 = 1921; +pub const RPC_S_ENTRY_TYPE_MISMATCH: u32 = 1922; +pub const RPC_S_NOT_ALL_OBJS_EXPORTED: u32 = 1923; +pub const RPC_S_INTERFACE_NOT_EXPORTED: u32 = 1924; +pub const RPC_S_PROFILE_NOT_ADDED: u32 = 1925; +pub const RPC_S_PRF_ELT_NOT_ADDED: u32 = 1926; +pub const RPC_S_PRF_ELT_NOT_REMOVED: u32 = 1927; +pub const RPC_S_GRP_ELT_NOT_ADDED: u32 = 1928; +pub const RPC_S_GRP_ELT_NOT_REMOVED: u32 = 1929; +pub const ERROR_KM_DRIVER_BLOCKED: u32 = 1930; +pub const ERROR_CONTEXT_EXPIRED: u32 = 1931; +pub const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED: u32 = 1932; +pub const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED: u32 = 1933; +pub const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED: u32 = 1934; +pub const ERROR_AUTHENTICATION_FIREWALL_FAILED: u32 = 1935; +pub const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED: u32 = 1936; +pub const ERROR_NTLM_BLOCKED: u32 = 1937; +pub const ERROR_PASSWORD_CHANGE_REQUIRED: u32 = 1938; +pub const ERROR_LOST_MODE_LOGON_RESTRICTION: u32 = 1939; +pub const ERROR_INVALID_PIXEL_FORMAT: u32 = 2000; +pub const ERROR_BAD_DRIVER: u32 = 2001; +pub const ERROR_INVALID_WINDOW_STYLE: u32 = 2002; +pub const ERROR_METAFILE_NOT_SUPPORTED: u32 = 2003; +pub const ERROR_TRANSFORM_NOT_SUPPORTED: u32 = 2004; +pub const ERROR_CLIPPING_NOT_SUPPORTED: u32 = 2005; +pub const ERROR_INVALID_CMM: u32 = 2010; +pub const ERROR_INVALID_PROFILE: u32 = 2011; +pub const ERROR_TAG_NOT_FOUND: u32 = 2012; +pub const ERROR_TAG_NOT_PRESENT: u32 = 2013; +pub const ERROR_DUPLICATE_TAG: u32 = 2014; +pub const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE: u32 = 2015; +pub const ERROR_PROFILE_NOT_FOUND: u32 = 2016; +pub const ERROR_INVALID_COLORSPACE: u32 = 2017; +pub const ERROR_ICM_NOT_ENABLED: u32 = 2018; +pub const ERROR_DELETING_ICM_XFORM: u32 = 2019; +pub const ERROR_INVALID_TRANSFORM: u32 = 2020; +pub const ERROR_COLORSPACE_MISMATCH: u32 = 2021; +pub const ERROR_INVALID_COLORINDEX: u32 = 2022; +pub const ERROR_PROFILE_DOES_NOT_MATCH_DEVICE: u32 = 2023; +pub const ERROR_CONNECTED_OTHER_PASSWORD: u32 = 2108; +pub const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT: u32 = 2109; +pub const ERROR_BAD_USERNAME: u32 = 2202; +pub const ERROR_NOT_CONNECTED: u32 = 2250; +pub const ERROR_OPEN_FILES: u32 = 2401; +pub const ERROR_ACTIVE_CONNECTIONS: u32 = 2402; +pub const ERROR_DEVICE_IN_USE: u32 = 2404; +pub const ERROR_UNKNOWN_PRINT_MONITOR: u32 = 3000; +pub const ERROR_PRINTER_DRIVER_IN_USE: u32 = 3001; +pub const ERROR_SPOOL_FILE_NOT_FOUND: u32 = 3002; +pub const ERROR_SPL_NO_STARTDOC: u32 = 3003; +pub const ERROR_SPL_NO_ADDJOB: u32 = 3004; +pub const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: u32 = 3005; +pub const ERROR_PRINT_MONITOR_ALREADY_INSTALLED: u32 = 3006; +pub const ERROR_INVALID_PRINT_MONITOR: u32 = 3007; +pub const ERROR_PRINT_MONITOR_IN_USE: u32 = 3008; +pub const ERROR_PRINTER_HAS_JOBS_QUEUED: u32 = 3009; +pub const ERROR_SUCCESS_REBOOT_REQUIRED: u32 = 3010; +pub const ERROR_SUCCESS_RESTART_REQUIRED: u32 = 3011; +pub const ERROR_PRINTER_NOT_FOUND: u32 = 3012; +pub const ERROR_PRINTER_DRIVER_WARNED: u32 = 3013; +pub const ERROR_PRINTER_DRIVER_BLOCKED: u32 = 3014; +pub const ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: u32 = 3015; +pub const ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: u32 = 3016; +pub const ERROR_FAIL_REBOOT_REQUIRED: u32 = 3017; +pub const ERROR_FAIL_REBOOT_INITIATED: u32 = 3018; +pub const ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: u32 = 3019; +pub const ERROR_PRINT_JOB_RESTART_REQUIRED: u32 = 3020; +pub const ERROR_INVALID_PRINTER_DRIVER_MANIFEST: u32 = 3021; +pub const ERROR_PRINTER_NOT_SHAREABLE: u32 = 3022; +pub const ERROR_REQUEST_PAUSED: u32 = 3050; +pub const ERROR_APPEXEC_CONDITION_NOT_SATISFIED: u32 = 3060; +pub const ERROR_APPEXEC_HANDLE_INVALIDATED: u32 = 3061; +pub const ERROR_APPEXEC_INVALID_HOST_GENERATION: u32 = 3062; +pub const ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION: u32 = 3063; +pub const ERROR_APPEXEC_INVALID_HOST_STATE: u32 = 3064; +pub const ERROR_APPEXEC_NO_DONOR: u32 = 3065; +pub const ERROR_APPEXEC_HOST_ID_MISMATCH: u32 = 3066; +pub const ERROR_APPEXEC_UNKNOWN_USER: u32 = 3067; +pub const ERROR_APPEXEC_APP_COMPAT_BLOCK: u32 = 3068; +pub const ERROR_APPEXEC_CALLER_WAIT_TIMEOUT: u32 = 3069; +pub const ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_TERMINATION: u32 = 3070; +pub const ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_LICENSING: u32 = 3071; +pub const ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_RESOURCES: u32 = 3072; +pub const ERROR_VRF_VOLATILE_CFG_AND_IO_ENABLED: u32 = 3080; +pub const ERROR_VRF_VOLATILE_NOT_STOPPABLE: u32 = 3081; +pub const ERROR_VRF_VOLATILE_SAFE_MODE: u32 = 3082; +pub const ERROR_VRF_VOLATILE_NOT_RUNNABLE_SYSTEM: u32 = 3083; +pub const ERROR_VRF_VOLATILE_NOT_SUPPORTED_RULECLASS: u32 = 3084; +pub const ERROR_VRF_VOLATILE_PROTECTED_DRIVER: u32 = 3085; +pub const ERROR_VRF_VOLATILE_NMI_REGISTERED: u32 = 3086; +pub const ERROR_VRF_VOLATILE_SETTINGS_CONFLICT: u32 = 3087; +pub const ERROR_DIF_IOCALLBACK_NOT_REPLACED: u32 = 3190; +pub const ERROR_DIF_LIVEDUMP_LIMIT_EXCEEDED: u32 = 3191; +pub const ERROR_DIF_VOLATILE_SECTION_NOT_LOCKED: u32 = 3192; +pub const ERROR_DIF_VOLATILE_DRIVER_HOTPATCHED: u32 = 3193; +pub const ERROR_DIF_VOLATILE_INVALID_INFO: u32 = 3194; +pub const ERROR_DIF_VOLATILE_DRIVER_IS_NOT_RUNNING: u32 = 3195; +pub const ERROR_DIF_VOLATILE_PLUGIN_IS_NOT_RUNNING: u32 = 3196; +pub const ERROR_DIF_VOLATILE_PLUGIN_CHANGE_NOT_ALLOWED: u32 = 3197; +pub const ERROR_DIF_VOLATILE_NOT_ALLOWED: u32 = 3198; +pub const ERROR_DIF_BINDING_API_NOT_FOUND: u32 = 3199; +pub const ERROR_IO_REISSUE_AS_CACHED: u32 = 3950; +pub const ERROR_WINS_INTERNAL: u32 = 4000; +pub const ERROR_CAN_NOT_DEL_LOCAL_WINS: u32 = 4001; +pub const ERROR_STATIC_INIT: u32 = 4002; +pub const ERROR_INC_BACKUP: u32 = 4003; +pub const ERROR_FULL_BACKUP: u32 = 4004; +pub const ERROR_REC_NON_EXISTENT: u32 = 4005; +pub const ERROR_RPL_NOT_ALLOWED: u32 = 4006; +pub const PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED: u32 = 4050; +pub const PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO: u32 = 4051; +pub const PEERDIST_ERROR_MISSING_DATA: u32 = 4052; +pub const PEERDIST_ERROR_NO_MORE: u32 = 4053; +pub const PEERDIST_ERROR_NOT_INITIALIZED: u32 = 4054; +pub const PEERDIST_ERROR_ALREADY_INITIALIZED: u32 = 4055; +pub const PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS: u32 = 4056; +pub const PEERDIST_ERROR_INVALIDATED: u32 = 4057; +pub const PEERDIST_ERROR_ALREADY_EXISTS: u32 = 4058; +pub const PEERDIST_ERROR_OPERATION_NOTFOUND: u32 = 4059; +pub const PEERDIST_ERROR_ALREADY_COMPLETED: u32 = 4060; +pub const PEERDIST_ERROR_OUT_OF_BOUNDS: u32 = 4061; +pub const PEERDIST_ERROR_VERSION_UNSUPPORTED: u32 = 4062; +pub const PEERDIST_ERROR_INVALID_CONFIGURATION: u32 = 4063; +pub const PEERDIST_ERROR_NOT_LICENSED: u32 = 4064; +pub const PEERDIST_ERROR_SERVICE_UNAVAILABLE: u32 = 4065; +pub const PEERDIST_ERROR_TRUST_FAILURE: u32 = 4066; +pub const ERROR_DHCP_ADDRESS_CONFLICT: u32 = 4100; +pub const ERROR_WMI_GUID_NOT_FOUND: u32 = 4200; +pub const ERROR_WMI_INSTANCE_NOT_FOUND: u32 = 4201; +pub const ERROR_WMI_ITEMID_NOT_FOUND: u32 = 4202; +pub const ERROR_WMI_TRY_AGAIN: u32 = 4203; +pub const ERROR_WMI_DP_NOT_FOUND: u32 = 4204; +pub const ERROR_WMI_UNRESOLVED_INSTANCE_REF: u32 = 4205; +pub const ERROR_WMI_ALREADY_ENABLED: u32 = 4206; +pub const ERROR_WMI_GUID_DISCONNECTED: u32 = 4207; +pub const ERROR_WMI_SERVER_UNAVAILABLE: u32 = 4208; +pub const ERROR_WMI_DP_FAILED: u32 = 4209; +pub const ERROR_WMI_INVALID_MOF: u32 = 4210; +pub const ERROR_WMI_INVALID_REGINFO: u32 = 4211; +pub const ERROR_WMI_ALREADY_DISABLED: u32 = 4212; +pub const ERROR_WMI_READ_ONLY: u32 = 4213; +pub const ERROR_WMI_SET_FAILURE: u32 = 4214; +pub const ERROR_NOT_APPCONTAINER: u32 = 4250; +pub const ERROR_APPCONTAINER_REQUIRED: u32 = 4251; +pub const ERROR_NOT_SUPPORTED_IN_APPCONTAINER: u32 = 4252; +pub const ERROR_INVALID_PACKAGE_SID_LENGTH: u32 = 4253; +pub const ERROR_INVALID_MEDIA: u32 = 4300; +pub const ERROR_INVALID_LIBRARY: u32 = 4301; +pub const ERROR_INVALID_MEDIA_POOL: u32 = 4302; +pub const ERROR_DRIVE_MEDIA_MISMATCH: u32 = 4303; +pub const ERROR_MEDIA_OFFLINE: u32 = 4304; +pub const ERROR_LIBRARY_OFFLINE: u32 = 4305; +pub const ERROR_EMPTY: u32 = 4306; +pub const ERROR_NOT_EMPTY: u32 = 4307; +pub const ERROR_MEDIA_UNAVAILABLE: u32 = 4308; +pub const ERROR_RESOURCE_DISABLED: u32 = 4309; +pub const ERROR_INVALID_CLEANER: u32 = 4310; +pub const ERROR_UNABLE_TO_CLEAN: u32 = 4311; +pub const ERROR_OBJECT_NOT_FOUND: u32 = 4312; +pub const ERROR_DATABASE_FAILURE: u32 = 4313; +pub const ERROR_DATABASE_FULL: u32 = 4314; +pub const ERROR_MEDIA_INCOMPATIBLE: u32 = 4315; +pub const ERROR_RESOURCE_NOT_PRESENT: u32 = 4316; +pub const ERROR_INVALID_OPERATION: u32 = 4317; +pub const ERROR_MEDIA_NOT_AVAILABLE: u32 = 4318; +pub const ERROR_DEVICE_NOT_AVAILABLE: u32 = 4319; +pub const ERROR_REQUEST_REFUSED: u32 = 4320; +pub const ERROR_INVALID_DRIVE_OBJECT: u32 = 4321; +pub const ERROR_LIBRARY_FULL: u32 = 4322; +pub const ERROR_MEDIUM_NOT_ACCESSIBLE: u32 = 4323; +pub const ERROR_UNABLE_TO_LOAD_MEDIUM: u32 = 4324; +pub const ERROR_UNABLE_TO_INVENTORY_DRIVE: u32 = 4325; +pub const ERROR_UNABLE_TO_INVENTORY_SLOT: u32 = 4326; +pub const ERROR_UNABLE_TO_INVENTORY_TRANSPORT: u32 = 4327; +pub const ERROR_TRANSPORT_FULL: u32 = 4328; +pub const ERROR_CONTROLLING_IEPORT: u32 = 4329; +pub const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA: u32 = 4330; +pub const ERROR_CLEANER_SLOT_SET: u32 = 4331; +pub const ERROR_CLEANER_SLOT_NOT_SET: u32 = 4332; +pub const ERROR_CLEANER_CARTRIDGE_SPENT: u32 = 4333; +pub const ERROR_UNEXPECTED_OMID: u32 = 4334; +pub const ERROR_CANT_DELETE_LAST_ITEM: u32 = 4335; +pub const ERROR_MESSAGE_EXCEEDS_MAX_SIZE: u32 = 4336; +pub const ERROR_VOLUME_CONTAINS_SYS_FILES: u32 = 4337; +pub const ERROR_INDIGENOUS_TYPE: u32 = 4338; +pub const ERROR_NO_SUPPORTING_DRIVES: u32 = 4339; +pub const ERROR_CLEANER_CARTRIDGE_INSTALLED: u32 = 4340; +pub const ERROR_IEPORT_FULL: u32 = 4341; +pub const ERROR_FILE_OFFLINE: u32 = 4350; +pub const ERROR_REMOTE_STORAGE_NOT_ACTIVE: u32 = 4351; +pub const ERROR_REMOTE_STORAGE_MEDIA_ERROR: u32 = 4352; +pub const ERROR_NOT_A_REPARSE_POINT: u32 = 4390; +pub const ERROR_REPARSE_ATTRIBUTE_CONFLICT: u32 = 4391; +pub const ERROR_INVALID_REPARSE_DATA: u32 = 4392; +pub const ERROR_REPARSE_TAG_INVALID: u32 = 4393; +pub const ERROR_REPARSE_TAG_MISMATCH: u32 = 4394; +pub const ERROR_REPARSE_POINT_ENCOUNTERED: u32 = 4395; +pub const ERROR_APP_DATA_NOT_FOUND: u32 = 4400; +pub const ERROR_APP_DATA_EXPIRED: u32 = 4401; +pub const ERROR_APP_DATA_CORRUPT: u32 = 4402; +pub const ERROR_APP_DATA_LIMIT_EXCEEDED: u32 = 4403; +pub const ERROR_APP_DATA_REBOOT_REQUIRED: u32 = 4404; +pub const ERROR_SECUREBOOT_ROLLBACK_DETECTED: u32 = 4420; +pub const ERROR_SECUREBOOT_POLICY_VIOLATION: u32 = 4421; +pub const ERROR_SECUREBOOT_INVALID_POLICY: u32 = 4422; +pub const ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: u32 = 4423; +pub const ERROR_SECUREBOOT_POLICY_NOT_SIGNED: u32 = 4424; +pub const ERROR_SECUREBOOT_NOT_ENABLED: u32 = 4425; +pub const ERROR_SECUREBOOT_FILE_REPLACED: u32 = 4426; +pub const ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED: u32 = 4427; +pub const ERROR_SECUREBOOT_POLICY_UNKNOWN: u32 = 4428; +pub const ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION: u32 = 4429; +pub const ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH: u32 = 4430; +pub const ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED: u32 = 4431; +pub const ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH: u32 = 4432; +pub const ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING: u32 = 4433; +pub const ERROR_SECUREBOOT_NOT_BASE_POLICY: u32 = 4434; +pub const ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY: u32 = 4435; +pub const ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED: u32 = 4440; +pub const ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: u32 = 4441; +pub const ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED: u32 = 4442; +pub const ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: u32 = 4443; +pub const ERROR_ALREADY_HAS_STREAM_ID: u32 = 4444; +pub const ERROR_SMR_GARBAGE_COLLECTION_REQUIRED: u32 = 4445; +pub const ERROR_WOF_WIM_HEADER_CORRUPT: u32 = 4446; +pub const ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT: u32 = 4447; +pub const ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT: u32 = 4448; +pub const ERROR_OBJECT_IS_IMMUTABLE: u32 = 4449; +pub const ERROR_VOLUME_NOT_SIS_ENABLED: u32 = 4500; +pub const ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED: u32 = 4550; +pub const ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION: u32 = 4551; +pub const ERROR_SYSTEM_INTEGRITY_INVALID_POLICY: u32 = 4552; +pub const ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED: u32 = 4553; +pub const ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES: u32 = 4554; +pub const ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED: u32 = 4555; +pub const ERROR_SYSTEM_INTEGRITY_REPUTATION_MALICIOUS: u32 = 4556; +pub const ERROR_SYSTEM_INTEGRITY_REPUTATION_PUA: u32 = 4557; +pub const ERROR_SYSTEM_INTEGRITY_REPUTATION_DANGEROUS_EXT: u32 = 4558; +pub const ERROR_SYSTEM_INTEGRITY_REPUTATION_OFFLINE: u32 = 4559; +pub const ERROR_VSM_NOT_INITIALIZED: u32 = 4560; +pub const ERROR_VSM_DMA_PROTECTION_NOT_IN_USE: u32 = 4561; +pub const ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED: u32 = 4570; +pub const ERROR_PLATFORM_MANIFEST_INVALID: u32 = 4571; +pub const ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED: u32 = 4572; +pub const ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED: u32 = 4573; +pub const ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND: u32 = 4574; +pub const ERROR_PLATFORM_MANIFEST_NOT_ACTIVE: u32 = 4575; +pub const ERROR_PLATFORM_MANIFEST_NOT_SIGNED: u32 = 4576; +pub const ERROR_DEPENDENT_RESOURCE_EXISTS: u32 = 5001; +pub const ERROR_DEPENDENCY_NOT_FOUND: u32 = 5002; +pub const ERROR_DEPENDENCY_ALREADY_EXISTS: u32 = 5003; +pub const ERROR_RESOURCE_NOT_ONLINE: u32 = 5004; +pub const ERROR_HOST_NODE_NOT_AVAILABLE: u32 = 5005; +pub const ERROR_RESOURCE_NOT_AVAILABLE: u32 = 5006; +pub const ERROR_RESOURCE_NOT_FOUND: u32 = 5007; +pub const ERROR_SHUTDOWN_CLUSTER: u32 = 5008; +pub const ERROR_CANT_EVICT_ACTIVE_NODE: u32 = 5009; +pub const ERROR_OBJECT_ALREADY_EXISTS: u32 = 5010; +pub const ERROR_OBJECT_IN_LIST: u32 = 5011; +pub const ERROR_GROUP_NOT_AVAILABLE: u32 = 5012; +pub const ERROR_GROUP_NOT_FOUND: u32 = 5013; +pub const ERROR_GROUP_NOT_ONLINE: u32 = 5014; +pub const ERROR_HOST_NODE_NOT_RESOURCE_OWNER: u32 = 5015; +pub const ERROR_HOST_NODE_NOT_GROUP_OWNER: u32 = 5016; +pub const ERROR_RESMON_CREATE_FAILED: u32 = 5017; +pub const ERROR_RESMON_ONLINE_FAILED: u32 = 5018; +pub const ERROR_RESOURCE_ONLINE: u32 = 5019; +pub const ERROR_QUORUM_RESOURCE: u32 = 5020; +pub const ERROR_NOT_QUORUM_CAPABLE: u32 = 5021; +pub const ERROR_CLUSTER_SHUTTING_DOWN: u32 = 5022; +pub const ERROR_INVALID_STATE: u32 = 5023; +pub const ERROR_RESOURCE_PROPERTIES_STORED: u32 = 5024; +pub const ERROR_NOT_QUORUM_CLASS: u32 = 5025; +pub const ERROR_CORE_RESOURCE: u32 = 5026; +pub const ERROR_QUORUM_RESOURCE_ONLINE_FAILED: u32 = 5027; +pub const ERROR_QUORUMLOG_OPEN_FAILED: u32 = 5028; +pub const ERROR_CLUSTERLOG_CORRUPT: u32 = 5029; +pub const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE: u32 = 5030; +pub const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE: u32 = 5031; +pub const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND: u32 = 5032; +pub const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE: u32 = 5033; +pub const ERROR_QUORUM_OWNER_ALIVE: u32 = 5034; +pub const ERROR_NETWORK_NOT_AVAILABLE: u32 = 5035; +pub const ERROR_NODE_NOT_AVAILABLE: u32 = 5036; +pub const ERROR_ALL_NODES_NOT_AVAILABLE: u32 = 5037; +pub const ERROR_RESOURCE_FAILED: u32 = 5038; +pub const ERROR_CLUSTER_INVALID_NODE: u32 = 5039; +pub const ERROR_CLUSTER_NODE_EXISTS: u32 = 5040; +pub const ERROR_CLUSTER_JOIN_IN_PROGRESS: u32 = 5041; +pub const ERROR_CLUSTER_NODE_NOT_FOUND: u32 = 5042; +pub const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND: u32 = 5043; +pub const ERROR_CLUSTER_NETWORK_EXISTS: u32 = 5044; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND: u32 = 5045; +pub const ERROR_CLUSTER_NETINTERFACE_EXISTS: u32 = 5046; +pub const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND: u32 = 5047; +pub const ERROR_CLUSTER_INVALID_REQUEST: u32 = 5048; +pub const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER: u32 = 5049; +pub const ERROR_CLUSTER_NODE_DOWN: u32 = 5050; +pub const ERROR_CLUSTER_NODE_UNREACHABLE: u32 = 5051; +pub const ERROR_CLUSTER_NODE_NOT_MEMBER: u32 = 5052; +pub const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS: u32 = 5053; +pub const ERROR_CLUSTER_INVALID_NETWORK: u32 = 5054; +pub const ERROR_CLUSTER_NODE_UP: u32 = 5056; +pub const ERROR_CLUSTER_IPADDR_IN_USE: u32 = 5057; +pub const ERROR_CLUSTER_NODE_NOT_PAUSED: u32 = 5058; +pub const ERROR_CLUSTER_NO_SECURITY_CONTEXT: u32 = 5059; +pub const ERROR_CLUSTER_NETWORK_NOT_INTERNAL: u32 = 5060; +pub const ERROR_CLUSTER_NODE_ALREADY_UP: u32 = 5061; +pub const ERROR_CLUSTER_NODE_ALREADY_DOWN: u32 = 5062; +pub const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE: u32 = 5063; +pub const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE: u32 = 5064; +pub const ERROR_CLUSTER_NODE_ALREADY_MEMBER: u32 = 5065; +pub const ERROR_CLUSTER_LAST_INTERNAL_NETWORK: u32 = 5066; +pub const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS: u32 = 5067; +pub const ERROR_INVALID_OPERATION_ON_QUORUM: u32 = 5068; +pub const ERROR_DEPENDENCY_NOT_ALLOWED: u32 = 5069; +pub const ERROR_CLUSTER_NODE_PAUSED: u32 = 5070; +pub const ERROR_NODE_CANT_HOST_RESOURCE: u32 = 5071; +pub const ERROR_CLUSTER_NODE_NOT_READY: u32 = 5072; +pub const ERROR_CLUSTER_NODE_SHUTTING_DOWN: u32 = 5073; +pub const ERROR_CLUSTER_JOIN_ABORTED: u32 = 5074; +pub const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS: u32 = 5075; +pub const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED: u32 = 5076; +pub const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED: u32 = 5077; +pub const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND: u32 = 5078; +pub const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED: u32 = 5079; +pub const ERROR_CLUSTER_RESNAME_NOT_FOUND: u32 = 5080; +pub const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED: u32 = 5081; +pub const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST: u32 = 5082; +pub const ERROR_CLUSTER_DATABASE_SEQMISMATCH: u32 = 5083; +pub const ERROR_RESMON_INVALID_STATE: u32 = 5084; +pub const ERROR_CLUSTER_GUM_NOT_LOCKER: u32 = 5085; +pub const ERROR_QUORUM_DISK_NOT_FOUND: u32 = 5086; +pub const ERROR_DATABASE_BACKUP_CORRUPT: u32 = 5087; +pub const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT: u32 = 5088; +pub const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE: u32 = 5089; +pub const ERROR_NO_ADMIN_ACCESS_POINT: u32 = 5090; +pub const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE: u32 = 5890; +pub const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND: u32 = 5891; +pub const ERROR_CLUSTER_MEMBERSHIP_HALT: u32 = 5892; +pub const ERROR_CLUSTER_INSTANCE_ID_MISMATCH: u32 = 5893; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP: u32 = 5894; +pub const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH: u32 = 5895; +pub const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP: u32 = 5896; +pub const ERROR_CLUSTER_PARAMETER_MISMATCH: u32 = 5897; +pub const ERROR_NODE_CANNOT_BE_CLUSTERED: u32 = 5898; +pub const ERROR_CLUSTER_WRONG_OS_VERSION: u32 = 5899; +pub const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME: u32 = 5900; +pub const ERROR_CLUSCFG_ALREADY_COMMITTED: u32 = 5901; +pub const ERROR_CLUSCFG_ROLLBACK_FAILED: u32 = 5902; +pub const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT: u32 = 5903; +pub const ERROR_CLUSTER_OLD_VERSION: u32 = 5904; +pub const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME: u32 = 5905; +pub const ERROR_CLUSTER_NO_NET_ADAPTERS: u32 = 5906; +pub const ERROR_CLUSTER_POISONED: u32 = 5907; +pub const ERROR_CLUSTER_GROUP_MOVING: u32 = 5908; +pub const ERROR_CLUSTER_RESOURCE_TYPE_BUSY: u32 = 5909; +pub const ERROR_RESOURCE_CALL_TIMED_OUT: u32 = 5910; +pub const ERROR_INVALID_CLUSTER_IPV6_ADDRESS: u32 = 5911; +pub const ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION: u32 = 5912; +pub const ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS: u32 = 5913; +pub const ERROR_CLUSTER_PARTIAL_SEND: u32 = 5914; +pub const ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION: u32 = 5915; +pub const ERROR_CLUSTER_INVALID_STRING_TERMINATION: u32 = 5916; +pub const ERROR_CLUSTER_INVALID_STRING_FORMAT: u32 = 5917; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS: u32 = 5918; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS: u32 = 5919; +pub const ERROR_CLUSTER_NULL_DATA: u32 = 5920; +pub const ERROR_CLUSTER_PARTIAL_READ: u32 = 5921; +pub const ERROR_CLUSTER_PARTIAL_WRITE: u32 = 5922; +pub const ERROR_CLUSTER_CANT_DESERIALIZE_DATA: u32 = 5923; +pub const ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT: u32 = 5924; +pub const ERROR_CLUSTER_NO_QUORUM: u32 = 5925; +pub const ERROR_CLUSTER_INVALID_IPV6_NETWORK: u32 = 5926; +pub const ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK: u32 = 5927; +pub const ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP: u32 = 5928; +pub const ERROR_DEPENDENCY_TREE_TOO_COMPLEX: u32 = 5929; +pub const ERROR_EXCEPTION_IN_RESOURCE_CALL: u32 = 5930; +pub const ERROR_CLUSTER_RHS_FAILED_INITIALIZATION: u32 = 5931; +pub const ERROR_CLUSTER_NOT_INSTALLED: u32 = 5932; +pub const ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE: u32 = 5933; +pub const ERROR_CLUSTER_MAX_NODES_IN_CLUSTER: u32 = 5934; +pub const ERROR_CLUSTER_TOO_MANY_NODES: u32 = 5935; +pub const ERROR_CLUSTER_OBJECT_ALREADY_USED: u32 = 5936; +pub const ERROR_NONCORE_GROUPS_FOUND: u32 = 5937; +pub const ERROR_FILE_SHARE_RESOURCE_CONFLICT: u32 = 5938; +pub const ERROR_CLUSTER_EVICT_INVALID_REQUEST: u32 = 5939; +pub const ERROR_CLUSTER_SINGLETON_RESOURCE: u32 = 5940; +pub const ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE: u32 = 5941; +pub const ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED: u32 = 5942; +pub const ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR: u32 = 5943; +pub const ERROR_CLUSTER_GROUP_BUSY: u32 = 5944; +pub const ERROR_CLUSTER_NOT_SHARED_VOLUME: u32 = 5945; +pub const ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR: u32 = 5946; +pub const ERROR_CLUSTER_SHARED_VOLUMES_IN_USE: u32 = 5947; +pub const ERROR_CLUSTER_USE_SHARED_VOLUMES_API: u32 = 5948; +pub const ERROR_CLUSTER_BACKUP_IN_PROGRESS: u32 = 5949; +pub const ERROR_NON_CSV_PATH: u32 = 5950; +pub const ERROR_CSV_VOLUME_NOT_LOCAL: u32 = 5951; +pub const ERROR_CLUSTER_WATCHDOG_TERMINATING: u32 = 5952; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES: u32 = 5953; +pub const ERROR_CLUSTER_INVALID_NODE_WEIGHT: u32 = 5954; +pub const ERROR_CLUSTER_RESOURCE_VETOED_CALL: u32 = 5955; +pub const ERROR_RESMON_SYSTEM_RESOURCES_LACKING: u32 = 5956; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION: u32 = 5957; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE: u32 = 5958; +pub const ERROR_CLUSTER_GROUP_QUEUED: u32 = 5959; +pub const ERROR_CLUSTER_RESOURCE_LOCKED_STATUS: u32 = 5960; +pub const ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED: u32 = 5961; +pub const ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS: u32 = 5962; +pub const ERROR_CLUSTER_DISK_NOT_CONNECTED: u32 = 5963; +pub const ERROR_DISK_NOT_CSV_CAPABLE: u32 = 5964; +pub const ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE: u32 = 5965; +pub const ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED: u32 = 5966; +pub const ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED: u32 = 5967; +pub const ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES: u32 = 5968; +pub const ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES: u32 = 5969; +pub const ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE: u32 = 5970; +pub const ERROR_CLUSTER_AFFINITY_CONFLICT: u32 = 5971; +pub const ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE: u32 = 5972; +pub const ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS: u32 = 5973; +pub const ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED: u32 = 5974; +pub const ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED: u32 = 5975; +pub const ERROR_CLUSTER_UPGRADE_IN_PROGRESS: u32 = 5976; +pub const ERROR_CLUSTER_UPGRADE_INCOMPLETE: u32 = 5977; +pub const ERROR_CLUSTER_NODE_IN_GRACE_PERIOD: u32 = 5978; +pub const ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT: u32 = 5979; +pub const ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER: u32 = 5980; +pub const ERROR_CLUSTER_RESOURCE_NOT_MONITORED: u32 = 5981; +pub const ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED: u32 = 5982; +pub const ERROR_CLUSTER_RESOURCE_IS_REPLICATED: u32 = 5983; +pub const ERROR_CLUSTER_NODE_ISOLATED: u32 = 5984; +pub const ERROR_CLUSTER_NODE_QUARANTINED: u32 = 5985; +pub const ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED: u32 = 5986; +pub const ERROR_CLUSTER_SPACE_DEGRADED: u32 = 5987; +pub const ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED: u32 = 5988; +pub const ERROR_CLUSTER_CSV_INVALID_HANDLE: u32 = 5989; +pub const ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR: u32 = 5990; +pub const ERROR_GROUPSET_NOT_AVAILABLE: u32 = 5991; +pub const ERROR_GROUPSET_NOT_FOUND: u32 = 5992; +pub const ERROR_GROUPSET_CANT_PROVIDE: u32 = 5993; +pub const ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND: u32 = 5994; +pub const ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY: u32 = 5995; +pub const ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION: u32 = 5996; +pub const ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS: u32 = 5997; +pub const ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME: u32 = 5998; +pub const ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE: u32 = 5999; +pub const ERROR_ENCRYPTION_FAILED: u32 = 6000; +pub const ERROR_DECRYPTION_FAILED: u32 = 6001; +pub const ERROR_FILE_ENCRYPTED: u32 = 6002; +pub const ERROR_NO_RECOVERY_POLICY: u32 = 6003; +pub const ERROR_NO_EFS: u32 = 6004; +pub const ERROR_WRONG_EFS: u32 = 6005; +pub const ERROR_NO_USER_KEYS: u32 = 6006; +pub const ERROR_FILE_NOT_ENCRYPTED: u32 = 6007; +pub const ERROR_NOT_EXPORT_FORMAT: u32 = 6008; +pub const ERROR_FILE_READ_ONLY: u32 = 6009; +pub const ERROR_DIR_EFS_DISALLOWED: u32 = 6010; +pub const ERROR_EFS_SERVER_NOT_TRUSTED: u32 = 6011; +pub const ERROR_BAD_RECOVERY_POLICY: u32 = 6012; +pub const ERROR_EFS_ALG_BLOB_TOO_BIG: u32 = 6013; +pub const ERROR_VOLUME_NOT_SUPPORT_EFS: u32 = 6014; +pub const ERROR_EFS_DISABLED: u32 = 6015; +pub const ERROR_EFS_VERSION_NOT_SUPPORT: u32 = 6016; +pub const ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: u32 = 6017; +pub const ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER: u32 = 6018; +pub const ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: u32 = 6019; +pub const ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: u32 = 6020; +pub const ERROR_CS_ENCRYPTION_FILE_NOT_CSE: u32 = 6021; +pub const ERROR_ENCRYPTION_POLICY_DENIES_OPERATION: u32 = 6022; +pub const ERROR_WIP_ENCRYPTION_FAILED: u32 = 6023; +pub const ERROR_NO_BROWSER_SERVERS_FOUND: u32 = 6118; +pub const SCHED_E_SERVICE_NOT_LOCALSYSTEM: u32 = 6200; +pub const ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM: u32 = 6250; +pub const ERROR_LOG_SECTOR_INVALID: u32 = 6600; +pub const ERROR_LOG_SECTOR_PARITY_INVALID: u32 = 6601; +pub const ERROR_LOG_SECTOR_REMAPPED: u32 = 6602; +pub const ERROR_LOG_BLOCK_INCOMPLETE: u32 = 6603; +pub const ERROR_LOG_INVALID_RANGE: u32 = 6604; +pub const ERROR_LOG_BLOCKS_EXHAUSTED: u32 = 6605; +pub const ERROR_LOG_READ_CONTEXT_INVALID: u32 = 6606; +pub const ERROR_LOG_RESTART_INVALID: u32 = 6607; +pub const ERROR_LOG_BLOCK_VERSION: u32 = 6608; +pub const ERROR_LOG_BLOCK_INVALID: u32 = 6609; +pub const ERROR_LOG_READ_MODE_INVALID: u32 = 6610; +pub const ERROR_LOG_NO_RESTART: u32 = 6611; +pub const ERROR_LOG_METADATA_CORRUPT: u32 = 6612; +pub const ERROR_LOG_METADATA_INVALID: u32 = 6613; +pub const ERROR_LOG_METADATA_INCONSISTENT: u32 = 6614; +pub const ERROR_LOG_RESERVATION_INVALID: u32 = 6615; +pub const ERROR_LOG_CANT_DELETE: u32 = 6616; +pub const ERROR_LOG_CONTAINER_LIMIT_EXCEEDED: u32 = 6617; +pub const ERROR_LOG_START_OF_LOG: u32 = 6618; +pub const ERROR_LOG_POLICY_ALREADY_INSTALLED: u32 = 6619; +pub const ERROR_LOG_POLICY_NOT_INSTALLED: u32 = 6620; +pub const ERROR_LOG_POLICY_INVALID: u32 = 6621; +pub const ERROR_LOG_POLICY_CONFLICT: u32 = 6622; +pub const ERROR_LOG_PINNED_ARCHIVE_TAIL: u32 = 6623; +pub const ERROR_LOG_RECORD_NONEXISTENT: u32 = 6624; +pub const ERROR_LOG_RECORDS_RESERVED_INVALID: u32 = 6625; +pub const ERROR_LOG_SPACE_RESERVED_INVALID: u32 = 6626; +pub const ERROR_LOG_TAIL_INVALID: u32 = 6627; +pub const ERROR_LOG_FULL: u32 = 6628; +pub const ERROR_COULD_NOT_RESIZE_LOG: u32 = 6629; +pub const ERROR_LOG_MULTIPLEXED: u32 = 6630; +pub const ERROR_LOG_DEDICATED: u32 = 6631; +pub const ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS: u32 = 6632; +pub const ERROR_LOG_ARCHIVE_IN_PROGRESS: u32 = 6633; +pub const ERROR_LOG_EPHEMERAL: u32 = 6634; +pub const ERROR_LOG_NOT_ENOUGH_CONTAINERS: u32 = 6635; +pub const ERROR_LOG_CLIENT_ALREADY_REGISTERED: u32 = 6636; +pub const ERROR_LOG_CLIENT_NOT_REGISTERED: u32 = 6637; +pub const ERROR_LOG_FULL_HANDLER_IN_PROGRESS: u32 = 6638; +pub const ERROR_LOG_CONTAINER_READ_FAILED: u32 = 6639; +pub const ERROR_LOG_CONTAINER_WRITE_FAILED: u32 = 6640; +pub const ERROR_LOG_CONTAINER_OPEN_FAILED: u32 = 6641; +pub const ERROR_LOG_CONTAINER_STATE_INVALID: u32 = 6642; +pub const ERROR_LOG_STATE_INVALID: u32 = 6643; +pub const ERROR_LOG_PINNED: u32 = 6644; +pub const ERROR_LOG_METADATA_FLUSH_FAILED: u32 = 6645; +pub const ERROR_LOG_INCONSISTENT_SECURITY: u32 = 6646; +pub const ERROR_LOG_APPENDED_FLUSH_FAILED: u32 = 6647; +pub const ERROR_LOG_PINNED_RESERVATION: u32 = 6648; +pub const ERROR_INVALID_TRANSACTION: u32 = 6700; +pub const ERROR_TRANSACTION_NOT_ACTIVE: u32 = 6701; +pub const ERROR_TRANSACTION_REQUEST_NOT_VALID: u32 = 6702; +pub const ERROR_TRANSACTION_NOT_REQUESTED: u32 = 6703; +pub const ERROR_TRANSACTION_ALREADY_ABORTED: u32 = 6704; +pub const ERROR_TRANSACTION_ALREADY_COMMITTED: u32 = 6705; +pub const ERROR_TM_INITIALIZATION_FAILED: u32 = 6706; +pub const ERROR_RESOURCEMANAGER_READ_ONLY: u32 = 6707; +pub const ERROR_TRANSACTION_NOT_JOINED: u32 = 6708; +pub const ERROR_TRANSACTION_SUPERIOR_EXISTS: u32 = 6709; +pub const ERROR_CRM_PROTOCOL_ALREADY_EXISTS: u32 = 6710; +pub const ERROR_TRANSACTION_PROPAGATION_FAILED: u32 = 6711; +pub const ERROR_CRM_PROTOCOL_NOT_FOUND: u32 = 6712; +pub const ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER: u32 = 6713; +pub const ERROR_CURRENT_TRANSACTION_NOT_VALID: u32 = 6714; +pub const ERROR_TRANSACTION_NOT_FOUND: u32 = 6715; +pub const ERROR_RESOURCEMANAGER_NOT_FOUND: u32 = 6716; +pub const ERROR_ENLISTMENT_NOT_FOUND: u32 = 6717; +pub const ERROR_TRANSACTIONMANAGER_NOT_FOUND: u32 = 6718; +pub const ERROR_TRANSACTIONMANAGER_NOT_ONLINE: u32 = 6719; +pub const ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: u32 = 6720; +pub const ERROR_TRANSACTION_NOT_ROOT: u32 = 6721; +pub const ERROR_TRANSACTION_OBJECT_EXPIRED: u32 = 6722; +pub const ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED: u32 = 6723; +pub const ERROR_TRANSACTION_RECORD_TOO_LONG: u32 = 6724; +pub const ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED: u32 = 6725; +pub const ERROR_TRANSACTION_INTEGRITY_VIOLATED: u32 = 6726; +pub const ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH: u32 = 6727; +pub const ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: u32 = 6728; +pub const ERROR_TRANSACTION_MUST_WRITETHROUGH: u32 = 6729; +pub const ERROR_TRANSACTION_NO_SUPERIOR: u32 = 6730; +pub const ERROR_HEURISTIC_DAMAGE_POSSIBLE: u32 = 6731; +pub const ERROR_TRANSACTIONAL_CONFLICT: u32 = 6800; +pub const ERROR_RM_NOT_ACTIVE: u32 = 6801; +pub const ERROR_RM_METADATA_CORRUPT: u32 = 6802; +pub const ERROR_DIRECTORY_NOT_RM: u32 = 6803; +pub const ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE: u32 = 6805; +pub const ERROR_LOG_RESIZE_INVALID_SIZE: u32 = 6806; +pub const ERROR_OBJECT_NO_LONGER_EXISTS: u32 = 6807; +pub const ERROR_STREAM_MINIVERSION_NOT_FOUND: u32 = 6808; +pub const ERROR_STREAM_MINIVERSION_NOT_VALID: u32 = 6809; +pub const ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: u32 = 6810; +pub const ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: u32 = 6811; +pub const ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS: u32 = 6812; +pub const ERROR_REMOTE_FILE_VERSION_MISMATCH: u32 = 6814; +pub const ERROR_HANDLE_NO_LONGER_VALID: u32 = 6815; +pub const ERROR_NO_TXF_METADATA: u32 = 6816; +pub const ERROR_LOG_CORRUPTION_DETECTED: u32 = 6817; +pub const ERROR_CANT_RECOVER_WITH_HANDLE_OPEN: u32 = 6818; +pub const ERROR_RM_DISCONNECTED: u32 = 6819; +pub const ERROR_ENLISTMENT_NOT_SUPERIOR: u32 = 6820; +pub const ERROR_RECOVERY_NOT_NEEDED: u32 = 6821; +pub const ERROR_RM_ALREADY_STARTED: u32 = 6822; +pub const ERROR_FILE_IDENTITY_NOT_PERSISTENT: u32 = 6823; +pub const ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: u32 = 6824; +pub const ERROR_CANT_CROSS_RM_BOUNDARY: u32 = 6825; +pub const ERROR_TXF_DIR_NOT_EMPTY: u32 = 6826; +pub const ERROR_INDOUBT_TRANSACTIONS_EXIST: u32 = 6827; +pub const ERROR_TM_VOLATILE: u32 = 6828; +pub const ERROR_ROLLBACK_TIMER_EXPIRED: u32 = 6829; +pub const ERROR_TXF_ATTRIBUTE_CORRUPT: u32 = 6830; +pub const ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION: u32 = 6831; +pub const ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED: u32 = 6832; +pub const ERROR_LOG_GROWTH_FAILED: u32 = 6833; +pub const ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: u32 = 6834; +pub const ERROR_TXF_METADATA_ALREADY_PRESENT: u32 = 6835; +pub const ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: u32 = 6836; +pub const ERROR_TRANSACTION_REQUIRED_PROMOTION: u32 = 6837; +pub const ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION: u32 = 6838; +pub const ERROR_TRANSACTIONS_NOT_FROZEN: u32 = 6839; +pub const ERROR_TRANSACTION_FREEZE_IN_PROGRESS: u32 = 6840; +pub const ERROR_NOT_SNAPSHOT_VOLUME: u32 = 6841; +pub const ERROR_NO_SAVEPOINT_WITH_OPEN_FILES: u32 = 6842; +pub const ERROR_DATA_LOST_REPAIR: u32 = 6843; +pub const ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION: u32 = 6844; +pub const ERROR_TM_IDENTITY_MISMATCH: u32 = 6845; +pub const ERROR_FLOATED_SECTION: u32 = 6846; +pub const ERROR_CANNOT_ACCEPT_TRANSACTED_WORK: u32 = 6847; +pub const ERROR_CANNOT_ABORT_TRANSACTIONS: u32 = 6848; +pub const ERROR_BAD_CLUSTERS: u32 = 6849; +pub const ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: u32 = 6850; +pub const ERROR_VOLUME_DIRTY: u32 = 6851; +pub const ERROR_NO_LINK_TRACKING_IN_TRANSACTION: u32 = 6852; +pub const ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: u32 = 6853; +pub const ERROR_EXPIRED_HANDLE: u32 = 6854; +pub const ERROR_TRANSACTION_NOT_ENLISTED: u32 = 6855; +pub const ERROR_CTX_WINSTATION_NAME_INVALID: u32 = 7001; +pub const ERROR_CTX_INVALID_PD: u32 = 7002; +pub const ERROR_CTX_PD_NOT_FOUND: u32 = 7003; +pub const ERROR_CTX_WD_NOT_FOUND: u32 = 7004; +pub const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY: u32 = 7005; +pub const ERROR_CTX_SERVICE_NAME_COLLISION: u32 = 7006; +pub const ERROR_CTX_CLOSE_PENDING: u32 = 7007; +pub const ERROR_CTX_NO_OUTBUF: u32 = 7008; +pub const ERROR_CTX_MODEM_INF_NOT_FOUND: u32 = 7009; +pub const ERROR_CTX_INVALID_MODEMNAME: u32 = 7010; +pub const ERROR_CTX_MODEM_RESPONSE_ERROR: u32 = 7011; +pub const ERROR_CTX_MODEM_RESPONSE_TIMEOUT: u32 = 7012; +pub const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER: u32 = 7013; +pub const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE: u32 = 7014; +pub const ERROR_CTX_MODEM_RESPONSE_BUSY: u32 = 7015; +pub const ERROR_CTX_MODEM_RESPONSE_VOICE: u32 = 7016; +pub const ERROR_CTX_TD_ERROR: u32 = 7017; +pub const ERROR_CTX_WINSTATION_NOT_FOUND: u32 = 7022; +pub const ERROR_CTX_WINSTATION_ALREADY_EXISTS: u32 = 7023; +pub const ERROR_CTX_WINSTATION_BUSY: u32 = 7024; +pub const ERROR_CTX_BAD_VIDEO_MODE: u32 = 7025; +pub const ERROR_CTX_GRAPHICS_INVALID: u32 = 7035; +pub const ERROR_CTX_LOGON_DISABLED: u32 = 7037; +pub const ERROR_CTX_NOT_CONSOLE: u32 = 7038; +pub const ERROR_CTX_CLIENT_QUERY_TIMEOUT: u32 = 7040; +pub const ERROR_CTX_CONSOLE_DISCONNECT: u32 = 7041; +pub const ERROR_CTX_CONSOLE_CONNECT: u32 = 7042; +pub const ERROR_CTX_SHADOW_DENIED: u32 = 7044; +pub const ERROR_CTX_WINSTATION_ACCESS_DENIED: u32 = 7045; +pub const ERROR_CTX_INVALID_WD: u32 = 7049; +pub const ERROR_CTX_SHADOW_INVALID: u32 = 7050; +pub const ERROR_CTX_SHADOW_DISABLED: u32 = 7051; +pub const ERROR_CTX_CLIENT_LICENSE_IN_USE: u32 = 7052; +pub const ERROR_CTX_CLIENT_LICENSE_NOT_SET: u32 = 7053; +pub const ERROR_CTX_LICENSE_NOT_AVAILABLE: u32 = 7054; +pub const ERROR_CTX_LICENSE_CLIENT_INVALID: u32 = 7055; +pub const ERROR_CTX_LICENSE_EXPIRED: u32 = 7056; +pub const ERROR_CTX_SHADOW_NOT_RUNNING: u32 = 7057; +pub const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE: u32 = 7058; +pub const ERROR_ACTIVATION_COUNT_EXCEEDED: u32 = 7059; +pub const ERROR_CTX_WINSTATIONS_DISABLED: u32 = 7060; +pub const ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED: u32 = 7061; +pub const ERROR_CTX_SESSION_IN_USE: u32 = 7062; +pub const ERROR_CTX_NO_FORCE_LOGOFF: u32 = 7063; +pub const ERROR_CTX_ACCOUNT_RESTRICTION: u32 = 7064; +pub const ERROR_RDP_PROTOCOL_ERROR: u32 = 7065; +pub const ERROR_CTX_CDM_CONNECT: u32 = 7066; +pub const ERROR_CTX_CDM_DISCONNECT: u32 = 7067; +pub const ERROR_CTX_SECURITY_LAYER_ERROR: u32 = 7068; +pub const ERROR_TS_INCOMPATIBLE_SESSIONS: u32 = 7069; +pub const ERROR_TS_VIDEO_SUBSYSTEM_ERROR: u32 = 7070; +pub const FRS_ERR_INVALID_API_SEQUENCE: u32 = 8001; +pub const FRS_ERR_STARTING_SERVICE: u32 = 8002; +pub const FRS_ERR_STOPPING_SERVICE: u32 = 8003; +pub const FRS_ERR_INTERNAL_API: u32 = 8004; +pub const FRS_ERR_INTERNAL: u32 = 8005; +pub const FRS_ERR_SERVICE_COMM: u32 = 8006; +pub const FRS_ERR_INSUFFICIENT_PRIV: u32 = 8007; +pub const FRS_ERR_AUTHENTICATION: u32 = 8008; +pub const FRS_ERR_PARENT_INSUFFICIENT_PRIV: u32 = 8009; +pub const FRS_ERR_PARENT_AUTHENTICATION: u32 = 8010; +pub const FRS_ERR_CHILD_TO_PARENT_COMM: u32 = 8011; +pub const FRS_ERR_PARENT_TO_CHILD_COMM: u32 = 8012; +pub const FRS_ERR_SYSVOL_POPULATE: u32 = 8013; +pub const FRS_ERR_SYSVOL_POPULATE_TIMEOUT: u32 = 8014; +pub const FRS_ERR_SYSVOL_IS_BUSY: u32 = 8015; +pub const FRS_ERR_SYSVOL_DEMOTE: u32 = 8016; +pub const FRS_ERR_INVALID_SERVICE_PARAMETER: u32 = 8017; +pub const DS_S_SUCCESS: u32 = 0; +pub const ERROR_DS_NOT_INSTALLED: u32 = 8200; +pub const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY: u32 = 8201; +pub const ERROR_DS_NO_ATTRIBUTE_OR_VALUE: u32 = 8202; +pub const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX: u32 = 8203; +pub const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED: u32 = 8204; +pub const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS: u32 = 8205; +pub const ERROR_DS_BUSY: u32 = 8206; +pub const ERROR_DS_UNAVAILABLE: u32 = 8207; +pub const ERROR_DS_NO_RIDS_ALLOCATED: u32 = 8208; +pub const ERROR_DS_NO_MORE_RIDS: u32 = 8209; +pub const ERROR_DS_INCORRECT_ROLE_OWNER: u32 = 8210; +pub const ERROR_DS_RIDMGR_INIT_ERROR: u32 = 8211; +pub const ERROR_DS_OBJ_CLASS_VIOLATION: u32 = 8212; +pub const ERROR_DS_CANT_ON_NON_LEAF: u32 = 8213; +pub const ERROR_DS_CANT_ON_RDN: u32 = 8214; +pub const ERROR_DS_CANT_MOD_OBJ_CLASS: u32 = 8215; +pub const ERROR_DS_CROSS_DOM_MOVE_ERROR: u32 = 8216; +pub const ERROR_DS_GC_NOT_AVAILABLE: u32 = 8217; +pub const ERROR_SHARED_POLICY: u32 = 8218; +pub const ERROR_POLICY_OBJECT_NOT_FOUND: u32 = 8219; +pub const ERROR_POLICY_ONLY_IN_DS: u32 = 8220; +pub const ERROR_PROMOTION_ACTIVE: u32 = 8221; +pub const ERROR_NO_PROMOTION_ACTIVE: u32 = 8222; +pub const ERROR_DS_OPERATIONS_ERROR: u32 = 8224; +pub const ERROR_DS_PROTOCOL_ERROR: u32 = 8225; +pub const ERROR_DS_TIMELIMIT_EXCEEDED: u32 = 8226; +pub const ERROR_DS_SIZELIMIT_EXCEEDED: u32 = 8227; +pub const ERROR_DS_ADMIN_LIMIT_EXCEEDED: u32 = 8228; +pub const ERROR_DS_COMPARE_FALSE: u32 = 8229; +pub const ERROR_DS_COMPARE_TRUE: u32 = 8230; +pub const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED: u32 = 8231; +pub const ERROR_DS_STRONG_AUTH_REQUIRED: u32 = 8232; +pub const ERROR_DS_INAPPROPRIATE_AUTH: u32 = 8233; +pub const ERROR_DS_AUTH_UNKNOWN: u32 = 8234; +pub const ERROR_DS_REFERRAL: u32 = 8235; +pub const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION: u32 = 8236; +pub const ERROR_DS_CONFIDENTIALITY_REQUIRED: u32 = 8237; +pub const ERROR_DS_INAPPROPRIATE_MATCHING: u32 = 8238; +pub const ERROR_DS_CONSTRAINT_VIOLATION: u32 = 8239; +pub const ERROR_DS_NO_SUCH_OBJECT: u32 = 8240; +pub const ERROR_DS_ALIAS_PROBLEM: u32 = 8241; +pub const ERROR_DS_INVALID_DN_SYNTAX: u32 = 8242; +pub const ERROR_DS_IS_LEAF: u32 = 8243; +pub const ERROR_DS_ALIAS_DEREF_PROBLEM: u32 = 8244; +pub const ERROR_DS_UNWILLING_TO_PERFORM: u32 = 8245; +pub const ERROR_DS_LOOP_DETECT: u32 = 8246; +pub const ERROR_DS_NAMING_VIOLATION: u32 = 8247; +pub const ERROR_DS_OBJECT_RESULTS_TOO_LARGE: u32 = 8248; +pub const ERROR_DS_AFFECTS_MULTIPLE_DSAS: u32 = 8249; +pub const ERROR_DS_SERVER_DOWN: u32 = 8250; +pub const ERROR_DS_LOCAL_ERROR: u32 = 8251; +pub const ERROR_DS_ENCODING_ERROR: u32 = 8252; +pub const ERROR_DS_DECODING_ERROR: u32 = 8253; +pub const ERROR_DS_FILTER_UNKNOWN: u32 = 8254; +pub const ERROR_DS_PARAM_ERROR: u32 = 8255; +pub const ERROR_DS_NOT_SUPPORTED: u32 = 8256; +pub const ERROR_DS_NO_RESULTS_RETURNED: u32 = 8257; +pub const ERROR_DS_CONTROL_NOT_FOUND: u32 = 8258; +pub const ERROR_DS_CLIENT_LOOP: u32 = 8259; +pub const ERROR_DS_REFERRAL_LIMIT_EXCEEDED: u32 = 8260; +pub const ERROR_DS_SORT_CONTROL_MISSING: u32 = 8261; +pub const ERROR_DS_OFFSET_RANGE_ERROR: u32 = 8262; +pub const ERROR_DS_RIDMGR_DISABLED: u32 = 8263; +pub const ERROR_DS_ROOT_MUST_BE_NC: u32 = 8301; +pub const ERROR_DS_ADD_REPLICA_INHIBITED: u32 = 8302; +pub const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA: u32 = 8303; +pub const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED: u32 = 8304; +pub const ERROR_DS_OBJ_STRING_NAME_EXISTS: u32 = 8305; +pub const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA: u32 = 8306; +pub const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA: u32 = 8307; +pub const ERROR_DS_NO_REQUESTED_ATTS_FOUND: u32 = 8308; +pub const ERROR_DS_USER_BUFFER_TO_SMALL: u32 = 8309; +pub const ERROR_DS_ATT_IS_NOT_ON_OBJ: u32 = 8310; +pub const ERROR_DS_ILLEGAL_MOD_OPERATION: u32 = 8311; +pub const ERROR_DS_OBJ_TOO_LARGE: u32 = 8312; +pub const ERROR_DS_BAD_INSTANCE_TYPE: u32 = 8313; +pub const ERROR_DS_MASTERDSA_REQUIRED: u32 = 8314; +pub const ERROR_DS_OBJECT_CLASS_REQUIRED: u32 = 8315; +pub const ERROR_DS_MISSING_REQUIRED_ATT: u32 = 8316; +pub const ERROR_DS_ATT_NOT_DEF_FOR_CLASS: u32 = 8317; +pub const ERROR_DS_ATT_ALREADY_EXISTS: u32 = 8318; +pub const ERROR_DS_CANT_ADD_ATT_VALUES: u32 = 8320; +pub const ERROR_DS_SINGLE_VALUE_CONSTRAINT: u32 = 8321; +pub const ERROR_DS_RANGE_CONSTRAINT: u32 = 8322; +pub const ERROR_DS_ATT_VAL_ALREADY_EXISTS: u32 = 8323; +pub const ERROR_DS_CANT_REM_MISSING_ATT: u32 = 8324; +pub const ERROR_DS_CANT_REM_MISSING_ATT_VAL: u32 = 8325; +pub const ERROR_DS_ROOT_CANT_BE_SUBREF: u32 = 8326; +pub const ERROR_DS_NO_CHAINING: u32 = 8327; +pub const ERROR_DS_NO_CHAINED_EVAL: u32 = 8328; +pub const ERROR_DS_NO_PARENT_OBJECT: u32 = 8329; +pub const ERROR_DS_PARENT_IS_AN_ALIAS: u32 = 8330; +pub const ERROR_DS_CANT_MIX_MASTER_AND_REPS: u32 = 8331; +pub const ERROR_DS_CHILDREN_EXIST: u32 = 8332; +pub const ERROR_DS_OBJ_NOT_FOUND: u32 = 8333; +pub const ERROR_DS_ALIASED_OBJ_MISSING: u32 = 8334; +pub const ERROR_DS_BAD_NAME_SYNTAX: u32 = 8335; +pub const ERROR_DS_ALIAS_POINTS_TO_ALIAS: u32 = 8336; +pub const ERROR_DS_CANT_DEREF_ALIAS: u32 = 8337; +pub const ERROR_DS_OUT_OF_SCOPE: u32 = 8338; +pub const ERROR_DS_OBJECT_BEING_REMOVED: u32 = 8339; +pub const ERROR_DS_CANT_DELETE_DSA_OBJ: u32 = 8340; +pub const ERROR_DS_GENERIC_ERROR: u32 = 8341; +pub const ERROR_DS_DSA_MUST_BE_INT_MASTER: u32 = 8342; +pub const ERROR_DS_CLASS_NOT_DSA: u32 = 8343; +pub const ERROR_DS_INSUFF_ACCESS_RIGHTS: u32 = 8344; +pub const ERROR_DS_ILLEGAL_SUPERIOR: u32 = 8345; +pub const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM: u32 = 8346; +pub const ERROR_DS_NAME_TOO_MANY_PARTS: u32 = 8347; +pub const ERROR_DS_NAME_TOO_LONG: u32 = 8348; +pub const ERROR_DS_NAME_VALUE_TOO_LONG: u32 = 8349; +pub const ERROR_DS_NAME_UNPARSEABLE: u32 = 8350; +pub const ERROR_DS_NAME_TYPE_UNKNOWN: u32 = 8351; +pub const ERROR_DS_NOT_AN_OBJECT: u32 = 8352; +pub const ERROR_DS_SEC_DESC_TOO_SHORT: u32 = 8353; +pub const ERROR_DS_SEC_DESC_INVALID: u32 = 8354; +pub const ERROR_DS_NO_DELETED_NAME: u32 = 8355; +pub const ERROR_DS_SUBREF_MUST_HAVE_PARENT: u32 = 8356; +pub const ERROR_DS_NCNAME_MUST_BE_NC: u32 = 8357; +pub const ERROR_DS_CANT_ADD_SYSTEM_ONLY: u32 = 8358; +pub const ERROR_DS_CLASS_MUST_BE_CONCRETE: u32 = 8359; +pub const ERROR_DS_INVALID_DMD: u32 = 8360; +pub const ERROR_DS_OBJ_GUID_EXISTS: u32 = 8361; +pub const ERROR_DS_NOT_ON_BACKLINK: u32 = 8362; +pub const ERROR_DS_NO_CROSSREF_FOR_NC: u32 = 8363; +pub const ERROR_DS_SHUTTING_DOWN: u32 = 8364; +pub const ERROR_DS_UNKNOWN_OPERATION: u32 = 8365; +pub const ERROR_DS_INVALID_ROLE_OWNER: u32 = 8366; +pub const ERROR_DS_COULDNT_CONTACT_FSMO: u32 = 8367; +pub const ERROR_DS_CROSS_NC_DN_RENAME: u32 = 8368; +pub const ERROR_DS_CANT_MOD_SYSTEM_ONLY: u32 = 8369; +pub const ERROR_DS_REPLICATOR_ONLY: u32 = 8370; +pub const ERROR_DS_OBJ_CLASS_NOT_DEFINED: u32 = 8371; +pub const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS: u32 = 8372; +pub const ERROR_DS_NAME_REFERENCE_INVALID: u32 = 8373; +pub const ERROR_DS_CROSS_REF_EXISTS: u32 = 8374; +pub const ERROR_DS_CANT_DEL_MASTER_CROSSREF: u32 = 8375; +pub const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD: u32 = 8376; +pub const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX: u32 = 8377; +pub const ERROR_DS_DUP_RDN: u32 = 8378; +pub const ERROR_DS_DUP_OID: u32 = 8379; +pub const ERROR_DS_DUP_MAPI_ID: u32 = 8380; +pub const ERROR_DS_DUP_SCHEMA_ID_GUID: u32 = 8381; +pub const ERROR_DS_DUP_LDAP_DISPLAY_NAME: u32 = 8382; +pub const ERROR_DS_SEMANTIC_ATT_TEST: u32 = 8383; +pub const ERROR_DS_SYNTAX_MISMATCH: u32 = 8384; +pub const ERROR_DS_EXISTS_IN_MUST_HAVE: u32 = 8385; +pub const ERROR_DS_EXISTS_IN_MAY_HAVE: u32 = 8386; +pub const ERROR_DS_NONEXISTENT_MAY_HAVE: u32 = 8387; +pub const ERROR_DS_NONEXISTENT_MUST_HAVE: u32 = 8388; +pub const ERROR_DS_AUX_CLS_TEST_FAIL: u32 = 8389; +pub const ERROR_DS_NONEXISTENT_POSS_SUP: u32 = 8390; +pub const ERROR_DS_SUB_CLS_TEST_FAIL: u32 = 8391; +pub const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX: u32 = 8392; +pub const ERROR_DS_EXISTS_IN_AUX_CLS: u32 = 8393; +pub const ERROR_DS_EXISTS_IN_SUB_CLS: u32 = 8394; +pub const ERROR_DS_EXISTS_IN_POSS_SUP: u32 = 8395; +pub const ERROR_DS_RECALCSCHEMA_FAILED: u32 = 8396; +pub const ERROR_DS_TREE_DELETE_NOT_FINISHED: u32 = 8397; +pub const ERROR_DS_CANT_DELETE: u32 = 8398; +pub const ERROR_DS_ATT_SCHEMA_REQ_ID: u32 = 8399; +pub const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX: u32 = 8400; +pub const ERROR_DS_CANT_CACHE_ATT: u32 = 8401; +pub const ERROR_DS_CANT_CACHE_CLASS: u32 = 8402; +pub const ERROR_DS_CANT_REMOVE_ATT_CACHE: u32 = 8403; +pub const ERROR_DS_CANT_REMOVE_CLASS_CACHE: u32 = 8404; +pub const ERROR_DS_CANT_RETRIEVE_DN: u32 = 8405; +pub const ERROR_DS_MISSING_SUPREF: u32 = 8406; +pub const ERROR_DS_CANT_RETRIEVE_INSTANCE: u32 = 8407; +pub const ERROR_DS_CODE_INCONSISTENCY: u32 = 8408; +pub const ERROR_DS_DATABASE_ERROR: u32 = 8409; +pub const ERROR_DS_GOVERNSID_MISSING: u32 = 8410; +pub const ERROR_DS_MISSING_EXPECTED_ATT: u32 = 8411; +pub const ERROR_DS_NCNAME_MISSING_CR_REF: u32 = 8412; +pub const ERROR_DS_SECURITY_CHECKING_ERROR: u32 = 8413; +pub const ERROR_DS_SCHEMA_NOT_LOADED: u32 = 8414; +pub const ERROR_DS_SCHEMA_ALLOC_FAILED: u32 = 8415; +pub const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX: u32 = 8416; +pub const ERROR_DS_GCVERIFY_ERROR: u32 = 8417; +pub const ERROR_DS_DRA_SCHEMA_MISMATCH: u32 = 8418; +pub const ERROR_DS_CANT_FIND_DSA_OBJ: u32 = 8419; +pub const ERROR_DS_CANT_FIND_EXPECTED_NC: u32 = 8420; +pub const ERROR_DS_CANT_FIND_NC_IN_CACHE: u32 = 8421; +pub const ERROR_DS_CANT_RETRIEVE_CHILD: u32 = 8422; +pub const ERROR_DS_SECURITY_ILLEGAL_MODIFY: u32 = 8423; +pub const ERROR_DS_CANT_REPLACE_HIDDEN_REC: u32 = 8424; +pub const ERROR_DS_BAD_HIERARCHY_FILE: u32 = 8425; +pub const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED: u32 = 8426; +pub const ERROR_DS_CONFIG_PARAM_MISSING: u32 = 8427; +pub const ERROR_DS_COUNTING_AB_INDICES_FAILED: u32 = 8428; +pub const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED: u32 = 8429; +pub const ERROR_DS_INTERNAL_FAILURE: u32 = 8430; +pub const ERROR_DS_UNKNOWN_ERROR: u32 = 8431; +pub const ERROR_DS_ROOT_REQUIRES_CLASS_TOP: u32 = 8432; +pub const ERROR_DS_REFUSING_FSMO_ROLES: u32 = 8433; +pub const ERROR_DS_MISSING_FSMO_SETTINGS: u32 = 8434; +pub const ERROR_DS_UNABLE_TO_SURRENDER_ROLES: u32 = 8435; +pub const ERROR_DS_DRA_GENERIC: u32 = 8436; +pub const ERROR_DS_DRA_INVALID_PARAMETER: u32 = 8437; +pub const ERROR_DS_DRA_BUSY: u32 = 8438; +pub const ERROR_DS_DRA_BAD_DN: u32 = 8439; +pub const ERROR_DS_DRA_BAD_NC: u32 = 8440; +pub const ERROR_DS_DRA_DN_EXISTS: u32 = 8441; +pub const ERROR_DS_DRA_INTERNAL_ERROR: u32 = 8442; +pub const ERROR_DS_DRA_INCONSISTENT_DIT: u32 = 8443; +pub const ERROR_DS_DRA_CONNECTION_FAILED: u32 = 8444; +pub const ERROR_DS_DRA_BAD_INSTANCE_TYPE: u32 = 8445; +pub const ERROR_DS_DRA_OUT_OF_MEM: u32 = 8446; +pub const ERROR_DS_DRA_MAIL_PROBLEM: u32 = 8447; +pub const ERROR_DS_DRA_REF_ALREADY_EXISTS: u32 = 8448; +pub const ERROR_DS_DRA_REF_NOT_FOUND: u32 = 8449; +pub const ERROR_DS_DRA_OBJ_IS_REP_SOURCE: u32 = 8450; +pub const ERROR_DS_DRA_DB_ERROR: u32 = 8451; +pub const ERROR_DS_DRA_NO_REPLICA: u32 = 8452; +pub const ERROR_DS_DRA_ACCESS_DENIED: u32 = 8453; +pub const ERROR_DS_DRA_NOT_SUPPORTED: u32 = 8454; +pub const ERROR_DS_DRA_RPC_CANCELLED: u32 = 8455; +pub const ERROR_DS_DRA_SOURCE_DISABLED: u32 = 8456; +pub const ERROR_DS_DRA_SINK_DISABLED: u32 = 8457; +pub const ERROR_DS_DRA_NAME_COLLISION: u32 = 8458; +pub const ERROR_DS_DRA_SOURCE_REINSTALLED: u32 = 8459; +pub const ERROR_DS_DRA_MISSING_PARENT: u32 = 8460; +pub const ERROR_DS_DRA_PREEMPTED: u32 = 8461; +pub const ERROR_DS_DRA_ABANDON_SYNC: u32 = 8462; +pub const ERROR_DS_DRA_SHUTDOWN: u32 = 8463; +pub const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET: u32 = 8464; +pub const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA: u32 = 8465; +pub const ERROR_DS_DRA_EXTN_CONNECTION_FAILED: u32 = 8466; +pub const ERROR_DS_INSTALL_SCHEMA_MISMATCH: u32 = 8467; +pub const ERROR_DS_DUP_LINK_ID: u32 = 8468; +pub const ERROR_DS_NAME_ERROR_RESOLVING: u32 = 8469; +pub const ERROR_DS_NAME_ERROR_NOT_FOUND: u32 = 8470; +pub const ERROR_DS_NAME_ERROR_NOT_UNIQUE: u32 = 8471; +pub const ERROR_DS_NAME_ERROR_NO_MAPPING: u32 = 8472; +pub const ERROR_DS_NAME_ERROR_DOMAIN_ONLY: u32 = 8473; +pub const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: u32 = 8474; +pub const ERROR_DS_CONSTRUCTED_ATT_MOD: u32 = 8475; +pub const ERROR_DS_WRONG_OM_OBJ_CLASS: u32 = 8476; +pub const ERROR_DS_DRA_REPL_PENDING: u32 = 8477; +pub const ERROR_DS_DS_REQUIRED: u32 = 8478; +pub const ERROR_DS_INVALID_LDAP_DISPLAY_NAME: u32 = 8479; +pub const ERROR_DS_NON_BASE_SEARCH: u32 = 8480; +pub const ERROR_DS_CANT_RETRIEVE_ATTS: u32 = 8481; +pub const ERROR_DS_BACKLINK_WITHOUT_LINK: u32 = 8482; +pub const ERROR_DS_EPOCH_MISMATCH: u32 = 8483; +pub const ERROR_DS_SRC_NAME_MISMATCH: u32 = 8484; +pub const ERROR_DS_SRC_AND_DST_NC_IDENTICAL: u32 = 8485; +pub const ERROR_DS_DST_NC_MISMATCH: u32 = 8486; +pub const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC: u32 = 8487; +pub const ERROR_DS_SRC_GUID_MISMATCH: u32 = 8488; +pub const ERROR_DS_CANT_MOVE_DELETED_OBJECT: u32 = 8489; +pub const ERROR_DS_PDC_OPERATION_IN_PROGRESS: u32 = 8490; +pub const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD: u32 = 8491; +pub const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION: u32 = 8492; +pub const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS: u32 = 8493; +pub const ERROR_DS_NC_MUST_HAVE_NC_PARENT: u32 = 8494; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE: u32 = 8495; +pub const ERROR_DS_DST_DOMAIN_NOT_NATIVE: u32 = 8496; +pub const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER: u32 = 8497; +pub const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP: u32 = 8498; +pub const ERROR_DS_CANT_MOVE_RESOURCE_GROUP: u32 = 8499; +pub const ERROR_DS_INVALID_SEARCH_FLAG: u32 = 8500; +pub const ERROR_DS_NO_TREE_DELETE_ABOVE_NC: u32 = 8501; +pub const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE: u32 = 8502; +pub const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE: u32 = 8503; +pub const ERROR_DS_SAM_INIT_FAILURE: u32 = 8504; +pub const ERROR_DS_SENSITIVE_GROUP_VIOLATION: u32 = 8505; +pub const ERROR_DS_CANT_MOD_PRIMARYGROUPID: u32 = 8506; +pub const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD: u32 = 8507; +pub const ERROR_DS_NONSAFE_SCHEMA_CHANGE: u32 = 8508; +pub const ERROR_DS_SCHEMA_UPDATE_DISALLOWED: u32 = 8509; +pub const ERROR_DS_CANT_CREATE_UNDER_SCHEMA: u32 = 8510; +pub const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION: u32 = 8511; +pub const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE: u32 = 8512; +pub const ERROR_DS_INVALID_GROUP_TYPE: u32 = 8513; +pub const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: u32 = 8514; +pub const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: u32 = 8515; +pub const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8516; +pub const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8517; +pub const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8518; +pub const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: u32 = 8519; +pub const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: u32 = 8520; +pub const ERROR_DS_HAVE_PRIMARY_MEMBERS: u32 = 8521; +pub const ERROR_DS_STRING_SD_CONVERSION_FAILED: u32 = 8522; +pub const ERROR_DS_NAMING_MASTER_GC: u32 = 8523; +pub const ERROR_DS_DNS_LOOKUP_FAILURE: u32 = 8524; +pub const ERROR_DS_COULDNT_UPDATE_SPNS: u32 = 8525; +pub const ERROR_DS_CANT_RETRIEVE_SD: u32 = 8526; +pub const ERROR_DS_KEY_NOT_UNIQUE: u32 = 8527; +pub const ERROR_DS_WRONG_LINKED_ATT_SYNTAX: u32 = 8528; +pub const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD: u32 = 8529; +pub const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY: u32 = 8530; +pub const ERROR_DS_CANT_START: u32 = 8531; +pub const ERROR_DS_INIT_FAILURE: u32 = 8532; +pub const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION: u32 = 8533; +pub const ERROR_DS_SOURCE_DOMAIN_IN_FOREST: u32 = 8534; +pub const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST: u32 = 8535; +pub const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED: u32 = 8536; +pub const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN: u32 = 8537; +pub const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER: u32 = 8538; +pub const ERROR_DS_SRC_SID_EXISTS_IN_FOREST: u32 = 8539; +pub const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH: u32 = 8540; +pub const ERROR_SAM_INIT_FAILURE: u32 = 8541; +pub const ERROR_DS_DRA_SCHEMA_INFO_SHIP: u32 = 8542; +pub const ERROR_DS_DRA_SCHEMA_CONFLICT: u32 = 8543; +pub const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT: u32 = 8544; +pub const ERROR_DS_DRA_OBJ_NC_MISMATCH: u32 = 8545; +pub const ERROR_DS_NC_STILL_HAS_DSAS: u32 = 8546; +pub const ERROR_DS_GC_REQUIRED: u32 = 8547; +pub const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: u32 = 8548; +pub const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS: u32 = 8549; +pub const ERROR_DS_CANT_ADD_TO_GC: u32 = 8550; +pub const ERROR_DS_NO_CHECKPOINT_WITH_PDC: u32 = 8551; +pub const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED: u32 = 8552; +pub const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC: u32 = 8553; +pub const ERROR_DS_INVALID_NAME_FOR_SPN: u32 = 8554; +pub const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS: u32 = 8555; +pub const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES: u32 = 8556; +pub const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: u32 = 8557; +pub const ERROR_DS_MUST_BE_RUN_ON_DST_DC: u32 = 8558; +pub const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER: u32 = 8559; +pub const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ: u32 = 8560; +pub const ERROR_DS_INIT_FAILURE_CONSOLE: u32 = 8561; +pub const ERROR_DS_SAM_INIT_FAILURE_CONSOLE: u32 = 8562; +pub const ERROR_DS_FOREST_VERSION_TOO_HIGH: u32 = 8563; +pub const ERROR_DS_DOMAIN_VERSION_TOO_HIGH: u32 = 8564; +pub const ERROR_DS_FOREST_VERSION_TOO_LOW: u32 = 8565; +pub const ERROR_DS_DOMAIN_VERSION_TOO_LOW: u32 = 8566; +pub const ERROR_DS_INCOMPATIBLE_VERSION: u32 = 8567; +pub const ERROR_DS_LOW_DSA_VERSION: u32 = 8568; +pub const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN: u32 = 8569; +pub const ERROR_DS_NOT_SUPPORTED_SORT_ORDER: u32 = 8570; +pub const ERROR_DS_NAME_NOT_UNIQUE: u32 = 8571; +pub const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4: u32 = 8572; +pub const ERROR_DS_OUT_OF_VERSION_STORE: u32 = 8573; +pub const ERROR_DS_INCOMPATIBLE_CONTROLS_USED: u32 = 8574; +pub const ERROR_DS_NO_REF_DOMAIN: u32 = 8575; +pub const ERROR_DS_RESERVED_LINK_ID: u32 = 8576; +pub const ERROR_DS_LINK_ID_NOT_AVAILABLE: u32 = 8577; +pub const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8578; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE: u32 = 8579; +pub const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC: u32 = 8580; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG: u32 = 8581; +pub const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT: u32 = 8582; +pub const ERROR_DS_NAME_ERROR_TRUST_REFERRAL: u32 = 8583; +pub const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER: u32 = 8584; +pub const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD: u32 = 8585; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2: u32 = 8586; +pub const ERROR_DS_THREAD_LIMIT_EXCEEDED: u32 = 8587; +pub const ERROR_DS_NOT_CLOSEST: u32 = 8588; +pub const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: u32 = 8589; +pub const ERROR_DS_SINGLE_USER_MODE_FAILED: u32 = 8590; +pub const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR: u32 = 8591; +pub const ERROR_DS_NTDSCRIPT_PROCESS_ERROR: u32 = 8592; +pub const ERROR_DS_DIFFERENT_REPL_EPOCHS: u32 = 8593; +pub const ERROR_DS_DRS_EXTENSIONS_CHANGED: u32 = 8594; +pub const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR: u32 = 8595; +pub const ERROR_DS_NO_MSDS_INTID: u32 = 8596; +pub const ERROR_DS_DUP_MSDS_INTID: u32 = 8597; +pub const ERROR_DS_EXISTS_IN_RDNATTID: u32 = 8598; +pub const ERROR_DS_AUTHORIZATION_FAILED: u32 = 8599; +pub const ERROR_DS_INVALID_SCRIPT: u32 = 8600; +pub const ERROR_DS_REMOTE_CROSSREF_OP_FAILED: u32 = 8601; +pub const ERROR_DS_CROSS_REF_BUSY: u32 = 8602; +pub const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN: u32 = 8603; +pub const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC: u32 = 8604; +pub const ERROR_DS_DUPLICATE_ID_FOUND: u32 = 8605; +pub const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT: u32 = 8606; +pub const ERROR_DS_GROUP_CONVERSION_ERROR: u32 = 8607; +pub const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP: u32 = 8608; +pub const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP: u32 = 8609; +pub const ERROR_DS_ROLE_NOT_VERIFIED: u32 = 8610; +pub const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL: u32 = 8611; +pub const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS: u32 = 8612; +pub const ERROR_DS_EXISTING_AD_CHILD_NC: u32 = 8613; +pub const ERROR_DS_REPL_LIFETIME_EXCEEDED: u32 = 8614; +pub const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER: u32 = 8615; +pub const ERROR_DS_LDAP_SEND_QUEUE_FULL: u32 = 8616; +pub const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW: u32 = 8617; +pub const ERROR_DS_POLICY_NOT_KNOWN: u32 = 8618; +pub const ERROR_NO_SITE_SETTINGS_OBJECT: u32 = 8619; +pub const ERROR_NO_SECRETS: u32 = 8620; +pub const ERROR_NO_WRITABLE_DC_FOUND: u32 = 8621; +pub const ERROR_DS_NO_SERVER_OBJECT: u32 = 8622; +pub const ERROR_DS_NO_NTDSA_OBJECT: u32 = 8623; +pub const ERROR_DS_NON_ASQ_SEARCH: u32 = 8624; +pub const ERROR_DS_AUDIT_FAILURE: u32 = 8625; +pub const ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE: u32 = 8626; +pub const ERROR_DS_INVALID_SEARCH_FLAG_TUPLE: u32 = 8627; +pub const ERROR_DS_HIERARCHY_TABLE_TOO_DEEP: u32 = 8628; +pub const ERROR_DS_DRA_CORRUPT_UTD_VECTOR: u32 = 8629; +pub const ERROR_DS_DRA_SECRETS_DENIED: u32 = 8630; +pub const ERROR_DS_RESERVED_MAPI_ID: u32 = 8631; +pub const ERROR_DS_MAPI_ID_NOT_AVAILABLE: u32 = 8632; +pub const ERROR_DS_DRA_MISSING_KRBTGT_SECRET: u32 = 8633; +pub const ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST: u32 = 8634; +pub const ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST: u32 = 8635; +pub const ERROR_INVALID_USER_PRINCIPAL_NAME: u32 = 8636; +pub const ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: u32 = 8637; +pub const ERROR_DS_OID_NOT_FOUND: u32 = 8638; +pub const ERROR_DS_DRA_RECYCLED_TARGET: u32 = 8639; +pub const ERROR_DS_DISALLOWED_NC_REDIRECT: u32 = 8640; +pub const ERROR_DS_HIGH_ADLDS_FFL: u32 = 8641; +pub const ERROR_DS_HIGH_DSA_VERSION: u32 = 8642; +pub const ERROR_DS_LOW_ADLDS_FFL: u32 = 8643; +pub const ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION: u32 = 8644; +pub const ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED: u32 = 8645; +pub const ERROR_INCORRECT_ACCOUNT_TYPE: u32 = 8646; +pub const ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8647; +pub const ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8648; +pub const ERROR_DS_MISSING_FOREST_TRUST: u32 = 8649; +pub const ERROR_DS_VALUE_KEY_NOT_UNIQUE: u32 = 8650; +pub const ERROR_WEAK_WHFBKEY_BLOCKED: u32 = 8651; +pub const ERROR_DS_PER_ATTRIBUTE_AUTHZ_FAILED_DURING_ADD: u32 = 8652; +pub const ERROR_LOCAL_POLICY_MODIFICATION_NOT_SUPPORTED: u32 = 8653; +pub const DNS_ERROR_RESPONSE_CODES_BASE: u32 = 9000; +pub const DNS_ERROR_RCODE_NO_ERROR: u32 = 0; +pub const DNS_ERROR_MASK: u32 = 9000; +pub const DNS_ERROR_RCODE_FORMAT_ERROR: u32 = 9001; +pub const DNS_ERROR_RCODE_SERVER_FAILURE: u32 = 9002; +pub const DNS_ERROR_RCODE_NAME_ERROR: u32 = 9003; +pub const DNS_ERROR_RCODE_NOT_IMPLEMENTED: u32 = 9004; +pub const DNS_ERROR_RCODE_REFUSED: u32 = 9005; +pub const DNS_ERROR_RCODE_YXDOMAIN: u32 = 9006; +pub const DNS_ERROR_RCODE_YXRRSET: u32 = 9007; +pub const DNS_ERROR_RCODE_NXRRSET: u32 = 9008; +pub const DNS_ERROR_RCODE_NOTAUTH: u32 = 9009; +pub const DNS_ERROR_RCODE_NOTZONE: u32 = 9010; +pub const DNS_ERROR_RCODE_BADSIG: u32 = 9016; +pub const DNS_ERROR_RCODE_BADKEY: u32 = 9017; +pub const DNS_ERROR_RCODE_BADTIME: u32 = 9018; +pub const DNS_ERROR_RCODE_LAST: u32 = 9018; +pub const DNS_ERROR_DNSSEC_BASE: u32 = 9100; +pub const DNS_ERROR_KEYMASTER_REQUIRED: u32 = 9101; +pub const DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE: u32 = 9102; +pub const DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1: u32 = 9103; +pub const DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS: u32 = 9104; +pub const DNS_ERROR_UNSUPPORTED_ALGORITHM: u32 = 9105; +pub const DNS_ERROR_INVALID_KEY_SIZE: u32 = 9106; +pub const DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE: u32 = 9107; +pub const DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION: u32 = 9108; +pub const DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR: u32 = 9109; +pub const DNS_ERROR_UNEXPECTED_CNG_ERROR: u32 = 9110; +pub const DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION: u32 = 9111; +pub const DNS_ERROR_KSP_NOT_ACCESSIBLE: u32 = 9112; +pub const DNS_ERROR_TOO_MANY_SKDS: u32 = 9113; +pub const DNS_ERROR_INVALID_ROLLOVER_PERIOD: u32 = 9114; +pub const DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET: u32 = 9115; +pub const DNS_ERROR_ROLLOVER_IN_PROGRESS: u32 = 9116; +pub const DNS_ERROR_STANDBY_KEY_NOT_PRESENT: u32 = 9117; +pub const DNS_ERROR_NOT_ALLOWED_ON_ZSK: u32 = 9118; +pub const DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD: u32 = 9119; +pub const DNS_ERROR_ROLLOVER_ALREADY_QUEUED: u32 = 9120; +pub const DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE: u32 = 9121; +pub const DNS_ERROR_BAD_KEYMASTER: u32 = 9122; +pub const DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD: u32 = 9123; +pub const DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT: u32 = 9124; +pub const DNS_ERROR_DNSSEC_IS_DISABLED: u32 = 9125; +pub const DNS_ERROR_INVALID_XML: u32 = 9126; +pub const DNS_ERROR_NO_VALID_TRUST_ANCHORS: u32 = 9127; +pub const DNS_ERROR_ROLLOVER_NOT_POKEABLE: u32 = 9128; +pub const DNS_ERROR_NSEC3_NAME_COLLISION: u32 = 9129; +pub const DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1: u32 = 9130; +pub const DNS_ERROR_PACKET_FMT_BASE: u32 = 9500; +pub const DNS_INFO_NO_RECORDS: u32 = 9501; +pub const DNS_ERROR_BAD_PACKET: u32 = 9502; +pub const DNS_ERROR_NO_PACKET: u32 = 9503; +pub const DNS_ERROR_RCODE: u32 = 9504; +pub const DNS_ERROR_UNSECURE_PACKET: u32 = 9505; +pub const DNS_STATUS_PACKET_UNSECURE: u32 = 9505; +pub const DNS_REQUEST_PENDING: u32 = 9506; +pub const DNS_ERROR_NO_MEMORY: u32 = 14; +pub const DNS_ERROR_INVALID_NAME: u32 = 123; +pub const DNS_ERROR_INVALID_DATA: u32 = 13; +pub const DNS_ERROR_GENERAL_API_BASE: u32 = 9550; +pub const DNS_ERROR_INVALID_TYPE: u32 = 9551; +pub const DNS_ERROR_INVALID_IP_ADDRESS: u32 = 9552; +pub const DNS_ERROR_INVALID_PROPERTY: u32 = 9553; +pub const DNS_ERROR_TRY_AGAIN_LATER: u32 = 9554; +pub const DNS_ERROR_NOT_UNIQUE: u32 = 9555; +pub const DNS_ERROR_NON_RFC_NAME: u32 = 9556; +pub const DNS_STATUS_FQDN: u32 = 9557; +pub const DNS_STATUS_DOTTED_NAME: u32 = 9558; +pub const DNS_STATUS_SINGLE_PART_NAME: u32 = 9559; +pub const DNS_ERROR_INVALID_NAME_CHAR: u32 = 9560; +pub const DNS_ERROR_NUMERIC_NAME: u32 = 9561; +pub const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER: u32 = 9562; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION: u32 = 9563; +pub const DNS_ERROR_CANNOT_FIND_ROOT_HINTS: u32 = 9564; +pub const DNS_ERROR_INCONSISTENT_ROOT_HINTS: u32 = 9565; +pub const DNS_ERROR_DWORD_VALUE_TOO_SMALL: u32 = 9566; +pub const DNS_ERROR_DWORD_VALUE_TOO_LARGE: u32 = 9567; +pub const DNS_ERROR_BACKGROUND_LOADING: u32 = 9568; +pub const DNS_ERROR_NOT_ALLOWED_ON_RODC: u32 = 9569; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DNAME: u32 = 9570; +pub const DNS_ERROR_DELEGATION_REQUIRED: u32 = 9571; +pub const DNS_ERROR_INVALID_POLICY_TABLE: u32 = 9572; +pub const DNS_ERROR_ADDRESS_REQUIRED: u32 = 9573; +pub const DNS_ERROR_ZONE_BASE: u32 = 9600; +pub const DNS_ERROR_ZONE_DOES_NOT_EXIST: u32 = 9601; +pub const DNS_ERROR_NO_ZONE_INFO: u32 = 9602; +pub const DNS_ERROR_INVALID_ZONE_OPERATION: u32 = 9603; +pub const DNS_ERROR_ZONE_CONFIGURATION_ERROR: u32 = 9604; +pub const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD: u32 = 9605; +pub const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS: u32 = 9606; +pub const DNS_ERROR_ZONE_LOCKED: u32 = 9607; +pub const DNS_ERROR_ZONE_CREATION_FAILED: u32 = 9608; +pub const DNS_ERROR_ZONE_ALREADY_EXISTS: u32 = 9609; +pub const DNS_ERROR_AUTOZONE_ALREADY_EXISTS: u32 = 9610; +pub const DNS_ERROR_INVALID_ZONE_TYPE: u32 = 9611; +pub const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP: u32 = 9612; +pub const DNS_ERROR_ZONE_NOT_SECONDARY: u32 = 9613; +pub const DNS_ERROR_NEED_SECONDARY_ADDRESSES: u32 = 9614; +pub const DNS_ERROR_WINS_INIT_FAILED: u32 = 9615; +pub const DNS_ERROR_NEED_WINS_SERVERS: u32 = 9616; +pub const DNS_ERROR_NBSTAT_INIT_FAILED: u32 = 9617; +pub const DNS_ERROR_SOA_DELETE_INVALID: u32 = 9618; +pub const DNS_ERROR_FORWARDER_ALREADY_EXISTS: u32 = 9619; +pub const DNS_ERROR_ZONE_REQUIRES_MASTER_IP: u32 = 9620; +pub const DNS_ERROR_ZONE_IS_SHUTDOWN: u32 = 9621; +pub const DNS_ERROR_ZONE_LOCKED_FOR_SIGNING: u32 = 9622; +pub const DNS_ERROR_DATAFILE_BASE: u32 = 9650; +pub const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE: u32 = 9651; +pub const DNS_ERROR_INVALID_DATAFILE_NAME: u32 = 9652; +pub const DNS_ERROR_DATAFILE_OPEN_FAILURE: u32 = 9653; +pub const DNS_ERROR_FILE_WRITEBACK_FAILED: u32 = 9654; +pub const DNS_ERROR_DATAFILE_PARSING: u32 = 9655; +pub const DNS_ERROR_DATABASE_BASE: u32 = 9700; +pub const DNS_ERROR_RECORD_DOES_NOT_EXIST: u32 = 9701; +pub const DNS_ERROR_RECORD_FORMAT: u32 = 9702; +pub const DNS_ERROR_NODE_CREATION_FAILED: u32 = 9703; +pub const DNS_ERROR_UNKNOWN_RECORD_TYPE: u32 = 9704; +pub const DNS_ERROR_RECORD_TIMED_OUT: u32 = 9705; +pub const DNS_ERROR_NAME_NOT_IN_ZONE: u32 = 9706; +pub const DNS_ERROR_CNAME_LOOP: u32 = 9707; +pub const DNS_ERROR_NODE_IS_CNAME: u32 = 9708; +pub const DNS_ERROR_CNAME_COLLISION: u32 = 9709; +pub const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT: u32 = 9710; +pub const DNS_ERROR_RECORD_ALREADY_EXISTS: u32 = 9711; +pub const DNS_ERROR_SECONDARY_DATA: u32 = 9712; +pub const DNS_ERROR_NO_CREATE_CACHE_DATA: u32 = 9713; +pub const DNS_ERROR_NAME_DOES_NOT_EXIST: u32 = 9714; +pub const DNS_WARNING_PTR_CREATE_FAILED: u32 = 9715; +pub const DNS_WARNING_DOMAIN_UNDELETED: u32 = 9716; +pub const DNS_ERROR_DS_UNAVAILABLE: u32 = 9717; +pub const DNS_ERROR_DS_ZONE_ALREADY_EXISTS: u32 = 9718; +pub const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE: u32 = 9719; +pub const DNS_ERROR_NODE_IS_DNAME: u32 = 9720; +pub const DNS_ERROR_DNAME_COLLISION: u32 = 9721; +pub const DNS_ERROR_ALIAS_LOOP: u32 = 9722; +pub const DNS_ERROR_OPERATION_BASE: u32 = 9750; +pub const DNS_INFO_AXFR_COMPLETE: u32 = 9751; +pub const DNS_ERROR_AXFR: u32 = 9752; +pub const DNS_INFO_ADDED_LOCAL_WINS: u32 = 9753; +pub const DNS_ERROR_SECURE_BASE: u32 = 9800; +pub const DNS_STATUS_CONTINUE_NEEDED: u32 = 9801; +pub const DNS_ERROR_SETUP_BASE: u32 = 9850; +pub const DNS_ERROR_NO_TCPIP: u32 = 9851; +pub const DNS_ERROR_NO_DNS_SERVERS: u32 = 9852; +pub const DNS_ERROR_DP_BASE: u32 = 9900; +pub const DNS_ERROR_DP_DOES_NOT_EXIST: u32 = 9901; +pub const DNS_ERROR_DP_ALREADY_EXISTS: u32 = 9902; +pub const DNS_ERROR_DP_NOT_ENLISTED: u32 = 9903; +pub const DNS_ERROR_DP_ALREADY_ENLISTED: u32 = 9904; +pub const DNS_ERROR_DP_NOT_AVAILABLE: u32 = 9905; +pub const DNS_ERROR_DP_FSMO_ERROR: u32 = 9906; +pub const DNS_ERROR_RRL_NOT_ENABLED: u32 = 9911; +pub const DNS_ERROR_RRL_INVALID_WINDOW_SIZE: u32 = 9912; +pub const DNS_ERROR_RRL_INVALID_IPV4_PREFIX: u32 = 9913; +pub const DNS_ERROR_RRL_INVALID_IPV6_PREFIX: u32 = 9914; +pub const DNS_ERROR_RRL_INVALID_TC_RATE: u32 = 9915; +pub const DNS_ERROR_RRL_INVALID_LEAK_RATE: u32 = 9916; +pub const DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE: u32 = 9917; +pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS: u32 = 9921; +pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST: u32 = 9922; +pub const DNS_ERROR_VIRTUALIZATION_TREE_LOCKED: u32 = 9923; +pub const DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME: u32 = 9924; +pub const DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE: u32 = 9925; +pub const DNS_ERROR_ZONESCOPE_ALREADY_EXISTS: u32 = 9951; +pub const DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST: u32 = 9952; +pub const DNS_ERROR_DEFAULT_ZONESCOPE: u32 = 9953; +pub const DNS_ERROR_INVALID_ZONESCOPE_NAME: u32 = 9954; +pub const DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES: u32 = 9955; +pub const DNS_ERROR_LOAD_ZONESCOPE_FAILED: u32 = 9956; +pub const DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED: u32 = 9957; +pub const DNS_ERROR_INVALID_SCOPE_NAME: u32 = 9958; +pub const DNS_ERROR_SCOPE_DOES_NOT_EXIST: u32 = 9959; +pub const DNS_ERROR_DEFAULT_SCOPE: u32 = 9960; +pub const DNS_ERROR_INVALID_SCOPE_OPERATION: u32 = 9961; +pub const DNS_ERROR_SCOPE_LOCKED: u32 = 9962; +pub const DNS_ERROR_SCOPE_ALREADY_EXISTS: u32 = 9963; +pub const DNS_ERROR_POLICY_ALREADY_EXISTS: u32 = 9971; +pub const DNS_ERROR_POLICY_DOES_NOT_EXIST: u32 = 9972; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA: u32 = 9973; +pub const DNS_ERROR_POLICY_INVALID_SETTINGS: u32 = 9974; +pub const DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED: u32 = 9975; +pub const DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST: u32 = 9976; +pub const DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS: u32 = 9977; +pub const DNS_ERROR_SUBNET_DOES_NOT_EXIST: u32 = 9978; +pub const DNS_ERROR_SUBNET_ALREADY_EXISTS: u32 = 9979; +pub const DNS_ERROR_POLICY_LOCKED: u32 = 9980; +pub const DNS_ERROR_POLICY_INVALID_WEIGHT: u32 = 9981; +pub const DNS_ERROR_POLICY_INVALID_NAME: u32 = 9982; +pub const DNS_ERROR_POLICY_MISSING_CRITERIA: u32 = 9983; +pub const DNS_ERROR_INVALID_CLIENT_SUBNET_NAME: u32 = 9984; +pub const DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID: u32 = 9985; +pub const DNS_ERROR_POLICY_SCOPE_MISSING: u32 = 9986; +pub const DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED: u32 = 9987; +pub const DNS_ERROR_SERVERSCOPE_IS_REFERENCED: u32 = 9988; +pub const DNS_ERROR_ZONESCOPE_IS_REFERENCED: u32 = 9989; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET: u32 = 9990; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL: u32 = 9991; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL: u32 = 9992; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE: u32 = 9993; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN: u32 = 9994; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE: u32 = 9995; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY: u32 = 9996; +pub const WSABASEERR: u32 = 10000; +pub const WSAEINTR: u32 = 10004; +pub const WSAEBADF: u32 = 10009; +pub const WSAEACCES: u32 = 10013; +pub const WSAEFAULT: u32 = 10014; +pub const WSAEINVAL: u32 = 10022; +pub const WSAEMFILE: u32 = 10024; +pub const WSAEWOULDBLOCK: u32 = 10035; +pub const WSAEINPROGRESS: u32 = 10036; +pub const WSAEALREADY: u32 = 10037; +pub const WSAENOTSOCK: u32 = 10038; +pub const WSAEDESTADDRREQ: u32 = 10039; +pub const WSAEMSGSIZE: u32 = 10040; +pub const WSAEPROTOTYPE: u32 = 10041; +pub const WSAENOPROTOOPT: u32 = 10042; +pub const WSAEPROTONOSUPPORT: u32 = 10043; +pub const WSAESOCKTNOSUPPORT: u32 = 10044; +pub const WSAEOPNOTSUPP: u32 = 10045; +pub const WSAEPFNOSUPPORT: u32 = 10046; +pub const WSAEAFNOSUPPORT: u32 = 10047; +pub const WSAEADDRINUSE: u32 = 10048; +pub const WSAEADDRNOTAVAIL: u32 = 10049; +pub const WSAENETDOWN: u32 = 10050; +pub const WSAENETUNREACH: u32 = 10051; +pub const WSAENETRESET: u32 = 10052; +pub const WSAECONNABORTED: u32 = 10053; +pub const WSAECONNRESET: u32 = 10054; +pub const WSAENOBUFS: u32 = 10055; +pub const WSAEISCONN: u32 = 10056; +pub const WSAENOTCONN: u32 = 10057; +pub const WSAESHUTDOWN: u32 = 10058; +pub const WSAETOOMANYREFS: u32 = 10059; +pub const WSAETIMEDOUT: u32 = 10060; +pub const WSAECONNREFUSED: u32 = 10061; +pub const WSAELOOP: u32 = 10062; +pub const WSAENAMETOOLONG: u32 = 10063; +pub const WSAEHOSTDOWN: u32 = 10064; +pub const WSAEHOSTUNREACH: u32 = 10065; +pub const WSAENOTEMPTY: u32 = 10066; +pub const WSAEPROCLIM: u32 = 10067; +pub const WSAEUSERS: u32 = 10068; +pub const WSAEDQUOT: u32 = 10069; +pub const WSAESTALE: u32 = 10070; +pub const WSAEREMOTE: u32 = 10071; +pub const WSASYSNOTREADY: u32 = 10091; +pub const WSAVERNOTSUPPORTED: u32 = 10092; +pub const WSANOTINITIALISED: u32 = 10093; +pub const WSAEDISCON: u32 = 10101; +pub const WSAENOMORE: u32 = 10102; +pub const WSAECANCELLED: u32 = 10103; +pub const WSAEINVALIDPROCTABLE: u32 = 10104; +pub const WSAEINVALIDPROVIDER: u32 = 10105; +pub const WSAEPROVIDERFAILEDINIT: u32 = 10106; +pub const WSASYSCALLFAILURE: u32 = 10107; +pub const WSASERVICE_NOT_FOUND: u32 = 10108; +pub const WSATYPE_NOT_FOUND: u32 = 10109; +pub const WSA_E_NO_MORE: u32 = 10110; +pub const WSA_E_CANCELLED: u32 = 10111; +pub const WSAEREFUSED: u32 = 10112; +pub const WSAHOST_NOT_FOUND: u32 = 11001; +pub const WSATRY_AGAIN: u32 = 11002; +pub const WSANO_RECOVERY: u32 = 11003; +pub const WSANO_DATA: u32 = 11004; +pub const WSA_QOS_RECEIVERS: u32 = 11005; +pub const WSA_QOS_SENDERS: u32 = 11006; +pub const WSA_QOS_NO_SENDERS: u32 = 11007; +pub const WSA_QOS_NO_RECEIVERS: u32 = 11008; +pub const WSA_QOS_REQUEST_CONFIRMED: u32 = 11009; +pub const WSA_QOS_ADMISSION_FAILURE: u32 = 11010; +pub const WSA_QOS_POLICY_FAILURE: u32 = 11011; +pub const WSA_QOS_BAD_STYLE: u32 = 11012; +pub const WSA_QOS_BAD_OBJECT: u32 = 11013; +pub const WSA_QOS_TRAFFIC_CTRL_ERROR: u32 = 11014; +pub const WSA_QOS_GENERIC_ERROR: u32 = 11015; +pub const WSA_QOS_ESERVICETYPE: u32 = 11016; +pub const WSA_QOS_EFLOWSPEC: u32 = 11017; +pub const WSA_QOS_EPROVSPECBUF: u32 = 11018; +pub const WSA_QOS_EFILTERSTYLE: u32 = 11019; +pub const WSA_QOS_EFILTERTYPE: u32 = 11020; +pub const WSA_QOS_EFILTERCOUNT: u32 = 11021; +pub const WSA_QOS_EOBJLENGTH: u32 = 11022; +pub const WSA_QOS_EFLOWCOUNT: u32 = 11023; +pub const WSA_QOS_EUNKOWNPSOBJ: u32 = 11024; +pub const WSA_QOS_EPOLICYOBJ: u32 = 11025; +pub const WSA_QOS_EFLOWDESC: u32 = 11026; +pub const WSA_QOS_EPSFLOWSPEC: u32 = 11027; +pub const WSA_QOS_EPSFILTERSPEC: u32 = 11028; +pub const WSA_QOS_ESDMODEOBJ: u32 = 11029; +pub const WSA_QOS_ESHAPERATEOBJ: u32 = 11030; +pub const WSA_QOS_RESERVED_PETYPE: u32 = 11031; +pub const WSA_SECURE_HOST_NOT_FOUND: u32 = 11032; +pub const WSA_IPSEC_NAME_POLICY_ERROR: u32 = 11033; +pub const ERROR_IPSEC_QM_POLICY_EXISTS: u32 = 13000; +pub const ERROR_IPSEC_QM_POLICY_NOT_FOUND: u32 = 13001; +pub const ERROR_IPSEC_QM_POLICY_IN_USE: u32 = 13002; +pub const ERROR_IPSEC_MM_POLICY_EXISTS: u32 = 13003; +pub const ERROR_IPSEC_MM_POLICY_NOT_FOUND: u32 = 13004; +pub const ERROR_IPSEC_MM_POLICY_IN_USE: u32 = 13005; +pub const ERROR_IPSEC_MM_FILTER_EXISTS: u32 = 13006; +pub const ERROR_IPSEC_MM_FILTER_NOT_FOUND: u32 = 13007; +pub const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: u32 = 13008; +pub const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: u32 = 13009; +pub const ERROR_IPSEC_MM_AUTH_EXISTS: u32 = 13010; +pub const ERROR_IPSEC_MM_AUTH_NOT_FOUND: u32 = 13011; +pub const ERROR_IPSEC_MM_AUTH_IN_USE: u32 = 13012; +pub const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: u32 = 13013; +pub const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: u32 = 13014; +pub const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: u32 = 13015; +pub const ERROR_IPSEC_TUNNEL_FILTER_EXISTS: u32 = 13016; +pub const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: u32 = 13017; +pub const ERROR_IPSEC_MM_FILTER_PENDING_DELETION: u32 = 13018; +pub const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: u32 = 13019; +pub const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: u32 = 13020; +pub const ERROR_IPSEC_MM_POLICY_PENDING_DELETION: u32 = 13021; +pub const ERROR_IPSEC_MM_AUTH_PENDING_DELETION: u32 = 13022; +pub const ERROR_IPSEC_QM_POLICY_PENDING_DELETION: u32 = 13023; +pub const WARNING_IPSEC_MM_POLICY_PRUNED: u32 = 13024; +pub const WARNING_IPSEC_QM_POLICY_PRUNED: u32 = 13025; +pub const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: u32 = 13800; +pub const ERROR_IPSEC_IKE_AUTH_FAIL: u32 = 13801; +pub const ERROR_IPSEC_IKE_ATTRIB_FAIL: u32 = 13802; +pub const ERROR_IPSEC_IKE_NEGOTIATION_PENDING: u32 = 13803; +pub const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: u32 = 13804; +pub const ERROR_IPSEC_IKE_TIMED_OUT: u32 = 13805; +pub const ERROR_IPSEC_IKE_NO_CERT: u32 = 13806; +pub const ERROR_IPSEC_IKE_SA_DELETED: u32 = 13807; +pub const ERROR_IPSEC_IKE_SA_REAPED: u32 = 13808; +pub const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: u32 = 13809; +pub const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: u32 = 13810; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_MM: u32 = 13811; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: u32 = 13812; +pub const ERROR_IPSEC_IKE_DROP_NO_RESPONSE: u32 = 13813; +pub const ERROR_IPSEC_IKE_MM_DELAY_DROP: u32 = 13814; +pub const ERROR_IPSEC_IKE_QM_DELAY_DROP: u32 = 13815; +pub const ERROR_IPSEC_IKE_ERROR: u32 = 13816; +pub const ERROR_IPSEC_IKE_CRL_FAILED: u32 = 13817; +pub const ERROR_IPSEC_IKE_INVALID_KEY_USAGE: u32 = 13818; +pub const ERROR_IPSEC_IKE_INVALID_CERT_TYPE: u32 = 13819; +pub const ERROR_IPSEC_IKE_NO_PRIVATE_KEY: u32 = 13820; +pub const ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY: u32 = 13821; +pub const ERROR_IPSEC_IKE_DH_FAIL: u32 = 13822; +pub const ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED: u32 = 13823; +pub const ERROR_IPSEC_IKE_INVALID_HEADER: u32 = 13824; +pub const ERROR_IPSEC_IKE_NO_POLICY: u32 = 13825; +pub const ERROR_IPSEC_IKE_INVALID_SIGNATURE: u32 = 13826; +pub const ERROR_IPSEC_IKE_KERBEROS_ERROR: u32 = 13827; +pub const ERROR_IPSEC_IKE_NO_PUBLIC_KEY: u32 = 13828; +pub const ERROR_IPSEC_IKE_PROCESS_ERR: u32 = 13829; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SA: u32 = 13830; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_PROP: u32 = 13831; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: u32 = 13832; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_KE: u32 = 13833; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_ID: u32 = 13834; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT: u32 = 13835; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: u32 = 13836; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_HASH: u32 = 13837; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SIG: u32 = 13838; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: u32 = 13839; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: u32 = 13840; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: u32 = 13841; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: u32 = 13842; +pub const ERROR_IPSEC_IKE_INVALID_PAYLOAD: u32 = 13843; +pub const ERROR_IPSEC_IKE_LOAD_SOFT_SA: u32 = 13844; +pub const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: u32 = 13845; +pub const ERROR_IPSEC_IKE_INVALID_COOKIE: u32 = 13846; +pub const ERROR_IPSEC_IKE_NO_PEER_CERT: u32 = 13847; +pub const ERROR_IPSEC_IKE_PEER_CRL_FAILED: u32 = 13848; +pub const ERROR_IPSEC_IKE_POLICY_CHANGE: u32 = 13849; +pub const ERROR_IPSEC_IKE_NO_MM_POLICY: u32 = 13850; +pub const ERROR_IPSEC_IKE_NOTCBPRIV: u32 = 13851; +pub const ERROR_IPSEC_IKE_SECLOADFAIL: u32 = 13852; +pub const ERROR_IPSEC_IKE_FAILSSPINIT: u32 = 13853; +pub const ERROR_IPSEC_IKE_FAILQUERYSSP: u32 = 13854; +pub const ERROR_IPSEC_IKE_SRVACQFAIL: u32 = 13855; +pub const ERROR_IPSEC_IKE_SRVQUERYCRED: u32 = 13856; +pub const ERROR_IPSEC_IKE_GETSPIFAIL: u32 = 13857; +pub const ERROR_IPSEC_IKE_INVALID_FILTER: u32 = 13858; +pub const ERROR_IPSEC_IKE_OUT_OF_MEMORY: u32 = 13859; +pub const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: u32 = 13860; +pub const ERROR_IPSEC_IKE_INVALID_POLICY: u32 = 13861; +pub const ERROR_IPSEC_IKE_UNKNOWN_DOI: u32 = 13862; +pub const ERROR_IPSEC_IKE_INVALID_SITUATION: u32 = 13863; +pub const ERROR_IPSEC_IKE_DH_FAILURE: u32 = 13864; +pub const ERROR_IPSEC_IKE_INVALID_GROUP: u32 = 13865; +pub const ERROR_IPSEC_IKE_ENCRYPT: u32 = 13866; +pub const ERROR_IPSEC_IKE_DECRYPT: u32 = 13867; +pub const ERROR_IPSEC_IKE_POLICY_MATCH: u32 = 13868; +pub const ERROR_IPSEC_IKE_UNSUPPORTED_ID: u32 = 13869; +pub const ERROR_IPSEC_IKE_INVALID_HASH: u32 = 13870; +pub const ERROR_IPSEC_IKE_INVALID_HASH_ALG: u32 = 13871; +pub const ERROR_IPSEC_IKE_INVALID_HASH_SIZE: u32 = 13872; +pub const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: u32 = 13873; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_ALG: u32 = 13874; +pub const ERROR_IPSEC_IKE_INVALID_SIG: u32 = 13875; +pub const ERROR_IPSEC_IKE_LOAD_FAILED: u32 = 13876; +pub const ERROR_IPSEC_IKE_RPC_DELETE: u32 = 13877; +pub const ERROR_IPSEC_IKE_BENIGN_REINIT: u32 = 13878; +pub const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: u32 = 13879; +pub const ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION: u32 = 13880; +pub const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: u32 = 13881; +pub const ERROR_IPSEC_IKE_MM_LIMIT: u32 = 13882; +pub const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: u32 = 13883; +pub const ERROR_IPSEC_IKE_QM_LIMIT: u32 = 13884; +pub const ERROR_IPSEC_IKE_MM_EXPIRED: u32 = 13885; +pub const ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID: u32 = 13886; +pub const ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH: u32 = 13887; +pub const ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID: u32 = 13888; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD: u32 = 13889; +pub const ERROR_IPSEC_IKE_DOS_COOKIE_SENT: u32 = 13890; +pub const ERROR_IPSEC_IKE_SHUTTING_DOWN: u32 = 13891; +pub const ERROR_IPSEC_IKE_CGA_AUTH_FAILED: u32 = 13892; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NATOA: u32 = 13893; +pub const ERROR_IPSEC_IKE_INVALID_MM_FOR_QM: u32 = 13894; +pub const ERROR_IPSEC_IKE_QM_EXPIRED: u32 = 13895; +pub const ERROR_IPSEC_IKE_TOO_MANY_FILTERS: u32 = 13896; +pub const ERROR_IPSEC_IKE_NEG_STATUS_END: u32 = 13897; +pub const ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL: u32 = 13898; +pub const ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE: u32 = 13899; +pub const ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING: u32 = 13900; +pub const ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING: u32 = 13901; +pub const ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS: u32 = 13902; +pub const ERROR_IPSEC_IKE_RATELIMIT_DROP: u32 = 13903; +pub const ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE: u32 = 13904; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE: u32 = 13905; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE: u32 = 13906; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY: u32 = 13907; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE: u32 = 13908; +pub const ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END: u32 = 13909; +pub const ERROR_IPSEC_BAD_SPI: u32 = 13910; +pub const ERROR_IPSEC_SA_LIFETIME_EXPIRED: u32 = 13911; +pub const ERROR_IPSEC_WRONG_SA: u32 = 13912; +pub const ERROR_IPSEC_REPLAY_CHECK_FAILED: u32 = 13913; +pub const ERROR_IPSEC_INVALID_PACKET: u32 = 13914; +pub const ERROR_IPSEC_INTEGRITY_CHECK_FAILED: u32 = 13915; +pub const ERROR_IPSEC_CLEAR_TEXT_DROP: u32 = 13916; +pub const ERROR_IPSEC_AUTH_FIREWALL_DROP: u32 = 13917; +pub const ERROR_IPSEC_THROTTLE_DROP: u32 = 13918; +pub const ERROR_IPSEC_DOSP_BLOCK: u32 = 13925; +pub const ERROR_IPSEC_DOSP_RECEIVED_MULTICAST: u32 = 13926; +pub const ERROR_IPSEC_DOSP_INVALID_PACKET: u32 = 13927; +pub const ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED: u32 = 13928; +pub const ERROR_IPSEC_DOSP_MAX_ENTRIES: u32 = 13929; +pub const ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: u32 = 13930; +pub const ERROR_IPSEC_DOSP_NOT_INSTALLED: u32 = 13931; +pub const ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: u32 = 13932; +pub const ERROR_SXS_SECTION_NOT_FOUND: u32 = 14000; +pub const ERROR_SXS_CANT_GEN_ACTCTX: u32 = 14001; +pub const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT: u32 = 14002; +pub const ERROR_SXS_ASSEMBLY_NOT_FOUND: u32 = 14003; +pub const ERROR_SXS_MANIFEST_FORMAT_ERROR: u32 = 14004; +pub const ERROR_SXS_MANIFEST_PARSE_ERROR: u32 = 14005; +pub const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED: u32 = 14006; +pub const ERROR_SXS_KEY_NOT_FOUND: u32 = 14007; +pub const ERROR_SXS_VERSION_CONFLICT: u32 = 14008; +pub const ERROR_SXS_WRONG_SECTION_TYPE: u32 = 14009; +pub const ERROR_SXS_THREAD_QUERIES_DISABLED: u32 = 14010; +pub const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET: u32 = 14011; +pub const ERROR_SXS_UNKNOWN_ENCODING_GROUP: u32 = 14012; +pub const ERROR_SXS_UNKNOWN_ENCODING: u32 = 14013; +pub const ERROR_SXS_INVALID_XML_NAMESPACE_URI: u32 = 14014; +pub const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14015; +pub const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14016; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14017; +pub const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE: u32 = 14018; +pub const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE: u32 = 14019; +pub const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT: u32 = 14020; +pub const ERROR_SXS_DUPLICATE_DLL_NAME: u32 = 14021; +pub const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME: u32 = 14022; +pub const ERROR_SXS_DUPLICATE_CLSID: u32 = 14023; +pub const ERROR_SXS_DUPLICATE_IID: u32 = 14024; +pub const ERROR_SXS_DUPLICATE_TLBID: u32 = 14025; +pub const ERROR_SXS_DUPLICATE_PROGID: u32 = 14026; +pub const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME: u32 = 14027; +pub const ERROR_SXS_FILE_HASH_MISMATCH: u32 = 14028; +pub const ERROR_SXS_POLICY_PARSE_ERROR: u32 = 14029; +pub const ERROR_SXS_XML_E_MISSINGQUOTE: u32 = 14030; +pub const ERROR_SXS_XML_E_COMMENTSYNTAX: u32 = 14031; +pub const ERROR_SXS_XML_E_BADSTARTNAMECHAR: u32 = 14032; +pub const ERROR_SXS_XML_E_BADNAMECHAR: u32 = 14033; +pub const ERROR_SXS_XML_E_BADCHARINSTRING: u32 = 14034; +pub const ERROR_SXS_XML_E_XMLDECLSYNTAX: u32 = 14035; +pub const ERROR_SXS_XML_E_BADCHARDATA: u32 = 14036; +pub const ERROR_SXS_XML_E_MISSINGWHITESPACE: u32 = 14037; +pub const ERROR_SXS_XML_E_EXPECTINGTAGEND: u32 = 14038; +pub const ERROR_SXS_XML_E_MISSINGSEMICOLON: u32 = 14039; +pub const ERROR_SXS_XML_E_UNBALANCEDPAREN: u32 = 14040; +pub const ERROR_SXS_XML_E_INTERNALERROR: u32 = 14041; +pub const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE: u32 = 14042; +pub const ERROR_SXS_XML_E_INCOMPLETE_ENCODING: u32 = 14043; +pub const ERROR_SXS_XML_E_MISSING_PAREN: u32 = 14044; +pub const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE: u32 = 14045; +pub const ERROR_SXS_XML_E_MULTIPLE_COLONS: u32 = 14046; +pub const ERROR_SXS_XML_E_INVALID_DECIMAL: u32 = 14047; +pub const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL: u32 = 14048; +pub const ERROR_SXS_XML_E_INVALID_UNICODE: u32 = 14049; +pub const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK: u32 = 14050; +pub const ERROR_SXS_XML_E_UNEXPECTEDENDTAG: u32 = 14051; +pub const ERROR_SXS_XML_E_UNCLOSEDTAG: u32 = 14052; +pub const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE: u32 = 14053; +pub const ERROR_SXS_XML_E_MULTIPLEROOTS: u32 = 14054; +pub const ERROR_SXS_XML_E_INVALIDATROOTLEVEL: u32 = 14055; +pub const ERROR_SXS_XML_E_BADXMLDECL: u32 = 14056; +pub const ERROR_SXS_XML_E_MISSINGROOT: u32 = 14057; +pub const ERROR_SXS_XML_E_UNEXPECTEDEOF: u32 = 14058; +pub const ERROR_SXS_XML_E_BADPEREFINSUBSET: u32 = 14059; +pub const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG: u32 = 14060; +pub const ERROR_SXS_XML_E_UNCLOSEDENDTAG: u32 = 14061; +pub const ERROR_SXS_XML_E_UNCLOSEDSTRING: u32 = 14062; +pub const ERROR_SXS_XML_E_UNCLOSEDCOMMENT: u32 = 14063; +pub const ERROR_SXS_XML_E_UNCLOSEDDECL: u32 = 14064; +pub const ERROR_SXS_XML_E_UNCLOSEDCDATA: u32 = 14065; +pub const ERROR_SXS_XML_E_RESERVEDNAMESPACE: u32 = 14066; +pub const ERROR_SXS_XML_E_INVALIDENCODING: u32 = 14067; +pub const ERROR_SXS_XML_E_INVALIDSWITCH: u32 = 14068; +pub const ERROR_SXS_XML_E_BADXMLCASE: u32 = 14069; +pub const ERROR_SXS_XML_E_INVALID_STANDALONE: u32 = 14070; +pub const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE: u32 = 14071; +pub const ERROR_SXS_XML_E_INVALID_VERSION: u32 = 14072; +pub const ERROR_SXS_XML_E_MISSINGEQUALS: u32 = 14073; +pub const ERROR_SXS_PROTECTION_RECOVERY_FAILED: u32 = 14074; +pub const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT: u32 = 14075; +pub const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID: u32 = 14076; +pub const ERROR_SXS_UNTRANSLATABLE_HRESULT: u32 = 14077; +pub const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING: u32 = 14078; +pub const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14079; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME: u32 = 14080; +pub const ERROR_SXS_ASSEMBLY_MISSING: u32 = 14081; +pub const ERROR_SXS_CORRUPT_ACTIVATION_STACK: u32 = 14082; +pub const ERROR_SXS_CORRUPTION: u32 = 14083; +pub const ERROR_SXS_EARLY_DEACTIVATION: u32 = 14084; +pub const ERROR_SXS_INVALID_DEACTIVATION: u32 = 14085; +pub const ERROR_SXS_MULTIPLE_DEACTIVATION: u32 = 14086; +pub const ERROR_SXS_PROCESS_TERMINATION_REQUESTED: u32 = 14087; +pub const ERROR_SXS_RELEASE_ACTIVATION_CONTEXT: u32 = 14088; +pub const ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: u32 = 14089; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: u32 = 14090; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: u32 = 14091; +pub const ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: u32 = 14092; +pub const ERROR_SXS_IDENTITY_PARSE_ERROR: u32 = 14093; +pub const ERROR_MALFORMED_SUBSTITUTION_STRING: u32 = 14094; +pub const ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN: u32 = 14095; +pub const ERROR_UNMAPPED_SUBSTITUTION_STRING: u32 = 14096; +pub const ERROR_SXS_ASSEMBLY_NOT_LOCKED: u32 = 14097; +pub const ERROR_SXS_COMPONENT_STORE_CORRUPT: u32 = 14098; +pub const ERROR_ADVANCED_INSTALLER_FAILED: u32 = 14099; +pub const ERROR_XML_ENCODING_MISMATCH: u32 = 14100; +pub const ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: u32 = 14101; +pub const ERROR_SXS_IDENTITIES_DIFFERENT: u32 = 14102; +pub const ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: u32 = 14103; +pub const ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY: u32 = 14104; +pub const ERROR_SXS_MANIFEST_TOO_BIG: u32 = 14105; +pub const ERROR_SXS_SETTING_NOT_REGISTERED: u32 = 14106; +pub const ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE: u32 = 14107; +pub const ERROR_SMI_PRIMITIVE_INSTALLER_FAILED: u32 = 14108; +pub const ERROR_GENERIC_COMMAND_FAILED: u32 = 14109; +pub const ERROR_SXS_FILE_HASH_MISSING: u32 = 14110; +pub const ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS: u32 = 14111; +pub const ERROR_EVT_INVALID_CHANNEL_PATH: u32 = 15000; +pub const ERROR_EVT_INVALID_QUERY: u32 = 15001; +pub const ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND: u32 = 15002; +pub const ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND: u32 = 15003; +pub const ERROR_EVT_INVALID_PUBLISHER_NAME: u32 = 15004; +pub const ERROR_EVT_INVALID_EVENT_DATA: u32 = 15005; +pub const ERROR_EVT_CHANNEL_NOT_FOUND: u32 = 15007; +pub const ERROR_EVT_MALFORMED_XML_TEXT: u32 = 15008; +pub const ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL: u32 = 15009; +pub const ERROR_EVT_CONFIGURATION_ERROR: u32 = 15010; +pub const ERROR_EVT_QUERY_RESULT_STALE: u32 = 15011; +pub const ERROR_EVT_QUERY_RESULT_INVALID_POSITION: u32 = 15012; +pub const ERROR_EVT_NON_VALIDATING_MSXML: u32 = 15013; +pub const ERROR_EVT_FILTER_ALREADYSCOPED: u32 = 15014; +pub const ERROR_EVT_FILTER_NOTELTSET: u32 = 15015; +pub const ERROR_EVT_FILTER_INVARG: u32 = 15016; +pub const ERROR_EVT_FILTER_INVTEST: u32 = 15017; +pub const ERROR_EVT_FILTER_INVTYPE: u32 = 15018; +pub const ERROR_EVT_FILTER_PARSEERR: u32 = 15019; +pub const ERROR_EVT_FILTER_UNSUPPORTEDOP: u32 = 15020; +pub const ERROR_EVT_FILTER_UNEXPECTEDTOKEN: u32 = 15021; +pub const ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL: u32 = 15022; +pub const ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE: u32 = 15023; +pub const ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE: u32 = 15024; +pub const ERROR_EVT_CHANNEL_CANNOT_ACTIVATE: u32 = 15025; +pub const ERROR_EVT_FILTER_TOO_COMPLEX: u32 = 15026; +pub const ERROR_EVT_MESSAGE_NOT_FOUND: u32 = 15027; +pub const ERROR_EVT_MESSAGE_ID_NOT_FOUND: u32 = 15028; +pub const ERROR_EVT_UNRESOLVED_VALUE_INSERT: u32 = 15029; +pub const ERROR_EVT_UNRESOLVED_PARAMETER_INSERT: u32 = 15030; +pub const ERROR_EVT_MAX_INSERTS_REACHED: u32 = 15031; +pub const ERROR_EVT_EVENT_DEFINITION_NOT_FOUND: u32 = 15032; +pub const ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND: u32 = 15033; +pub const ERROR_EVT_VERSION_TOO_OLD: u32 = 15034; +pub const ERROR_EVT_VERSION_TOO_NEW: u32 = 15035; +pub const ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY: u32 = 15036; +pub const ERROR_EVT_PUBLISHER_DISABLED: u32 = 15037; +pub const ERROR_EVT_FILTER_OUT_OF_RANGE: u32 = 15038; +pub const ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE: u32 = 15080; +pub const ERROR_EC_LOG_DISABLED: u32 = 15081; +pub const ERROR_EC_CIRCULAR_FORWARDING: u32 = 15082; +pub const ERROR_EC_CREDSTORE_FULL: u32 = 15083; +pub const ERROR_EC_CRED_NOT_FOUND: u32 = 15084; +pub const ERROR_EC_NO_ACTIVE_CHANNEL: u32 = 15085; +pub const ERROR_MUI_FILE_NOT_FOUND: u32 = 15100; +pub const ERROR_MUI_INVALID_FILE: u32 = 15101; +pub const ERROR_MUI_INVALID_RC_CONFIG: u32 = 15102; +pub const ERROR_MUI_INVALID_LOCALE_NAME: u32 = 15103; +pub const ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME: u32 = 15104; +pub const ERROR_MUI_FILE_NOT_LOADED: u32 = 15105; +pub const ERROR_RESOURCE_ENUM_USER_STOP: u32 = 15106; +pub const ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED: u32 = 15107; +pub const ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME: u32 = 15108; +pub const ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE: u32 = 15110; +pub const ERROR_MRM_INVALID_PRICONFIG: u32 = 15111; +pub const ERROR_MRM_INVALID_FILE_TYPE: u32 = 15112; +pub const ERROR_MRM_UNKNOWN_QUALIFIER: u32 = 15113; +pub const ERROR_MRM_INVALID_QUALIFIER_VALUE: u32 = 15114; +pub const ERROR_MRM_NO_CANDIDATE: u32 = 15115; +pub const ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE: u32 = 15116; +pub const ERROR_MRM_RESOURCE_TYPE_MISMATCH: u32 = 15117; +pub const ERROR_MRM_DUPLICATE_MAP_NAME: u32 = 15118; +pub const ERROR_MRM_DUPLICATE_ENTRY: u32 = 15119; +pub const ERROR_MRM_INVALID_RESOURCE_IDENTIFIER: u32 = 15120; +pub const ERROR_MRM_FILEPATH_TOO_LONG: u32 = 15121; +pub const ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE: u32 = 15122; +pub const ERROR_MRM_INVALID_PRI_FILE: u32 = 15126; +pub const ERROR_MRM_NAMED_RESOURCE_NOT_FOUND: u32 = 15127; +pub const ERROR_MRM_MAP_NOT_FOUND: u32 = 15135; +pub const ERROR_MRM_UNSUPPORTED_PROFILE_TYPE: u32 = 15136; +pub const ERROR_MRM_INVALID_QUALIFIER_OPERATOR: u32 = 15137; +pub const ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE: u32 = 15138; +pub const ERROR_MRM_AUTOMERGE_ENABLED: u32 = 15139; +pub const ERROR_MRM_TOO_MANY_RESOURCES: u32 = 15140; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE: u32 = 15141; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE: u32 = 15142; +pub const ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD: u32 = 15143; +pub const ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST: u32 = 15144; +pub const ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT: u32 = 15145; +pub const ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE: u32 = 15146; +pub const ERROR_MRM_GENERATION_COUNT_MISMATCH: u32 = 15147; +pub const ERROR_PRI_MERGE_VERSION_MISMATCH: u32 = 15148; +pub const ERROR_PRI_MERGE_MISSING_SCHEMA: u32 = 15149; +pub const ERROR_PRI_MERGE_LOAD_FILE_FAILED: u32 = 15150; +pub const ERROR_PRI_MERGE_ADD_FILE_FAILED: u32 = 15151; +pub const ERROR_PRI_MERGE_WRITE_FILE_FAILED: u32 = 15152; +pub const ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED: u32 = 15153; +pub const ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED: u32 = 15154; +pub const ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED: u32 = 15155; +pub const ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED: u32 = 15156; +pub const ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED: u32 = 15157; +pub const ERROR_PRI_MERGE_INVALID_FILE_NAME: u32 = 15158; +pub const ERROR_MRM_PACKAGE_NOT_FOUND: u32 = 15159; +pub const ERROR_MRM_MISSING_DEFAULT_LANGUAGE: u32 = 15160; +pub const ERROR_MCA_INVALID_CAPABILITIES_STRING: u32 = 15200; +pub const ERROR_MCA_INVALID_VCP_VERSION: u32 = 15201; +pub const ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: u32 = 15202; +pub const ERROR_MCA_MCCS_VERSION_MISMATCH: u32 = 15203; +pub const ERROR_MCA_UNSUPPORTED_MCCS_VERSION: u32 = 15204; +pub const ERROR_MCA_INTERNAL_ERROR: u32 = 15205; +pub const ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: u32 = 15206; +pub const ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE: u32 = 15207; +pub const ERROR_AMBIGUOUS_SYSTEM_DEVICE: u32 = 15250; +pub const ERROR_SYSTEM_DEVICE_NOT_FOUND: u32 = 15299; +pub const ERROR_HASH_NOT_SUPPORTED: u32 = 15300; +pub const ERROR_HASH_NOT_PRESENT: u32 = 15301; +pub const ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED: u32 = 15321; +pub const ERROR_GPIO_CLIENT_INFORMATION_INVALID: u32 = 15322; +pub const ERROR_GPIO_VERSION_NOT_SUPPORTED: u32 = 15323; +pub const ERROR_GPIO_INVALID_REGISTRATION_PACKET: u32 = 15324; +pub const ERROR_GPIO_OPERATION_DENIED: u32 = 15325; +pub const ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE: u32 = 15326; +pub const ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED: u32 = 15327; +pub const ERROR_CANNOT_SWITCH_RUNLEVEL: u32 = 15400; +pub const ERROR_INVALID_RUNLEVEL_SETTING: u32 = 15401; +pub const ERROR_RUNLEVEL_SWITCH_TIMEOUT: u32 = 15402; +pub const ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT: u32 = 15403; +pub const ERROR_RUNLEVEL_SWITCH_IN_PROGRESS: u32 = 15404; +pub const ERROR_SERVICES_FAILED_AUTOSTART: u32 = 15405; +pub const ERROR_COM_TASK_STOP_PENDING: u32 = 15501; +pub const ERROR_INSTALL_OPEN_PACKAGE_FAILED: u32 = 15600; +pub const ERROR_INSTALL_PACKAGE_NOT_FOUND: u32 = 15601; +pub const ERROR_INSTALL_INVALID_PACKAGE: u32 = 15602; +pub const ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED: u32 = 15603; +pub const ERROR_INSTALL_OUT_OF_DISK_SPACE: u32 = 15604; +pub const ERROR_INSTALL_NETWORK_FAILURE: u32 = 15605; +pub const ERROR_INSTALL_REGISTRATION_FAILURE: u32 = 15606; +pub const ERROR_INSTALL_DEREGISTRATION_FAILURE: u32 = 15607; +pub const ERROR_INSTALL_CANCEL: u32 = 15608; +pub const ERROR_INSTALL_FAILED: u32 = 15609; +pub const ERROR_REMOVE_FAILED: u32 = 15610; +pub const ERROR_PACKAGE_ALREADY_EXISTS: u32 = 15611; +pub const ERROR_NEEDS_REMEDIATION: u32 = 15612; +pub const ERROR_INSTALL_PREREQUISITE_FAILED: u32 = 15613; +pub const ERROR_PACKAGE_REPOSITORY_CORRUPTED: u32 = 15614; +pub const ERROR_INSTALL_POLICY_FAILURE: u32 = 15615; +pub const ERROR_PACKAGE_UPDATING: u32 = 15616; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_POLICY: u32 = 15617; +pub const ERROR_PACKAGES_IN_USE: u32 = 15618; +pub const ERROR_RECOVERY_FILE_CORRUPT: u32 = 15619; +pub const ERROR_INVALID_STAGED_SIGNATURE: u32 = 15620; +pub const ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED: u32 = 15621; +pub const ERROR_INSTALL_PACKAGE_DOWNGRADE: u32 = 15622; +pub const ERROR_SYSTEM_NEEDS_REMEDIATION: u32 = 15623; +pub const ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN: u32 = 15624; +pub const ERROR_RESILIENCY_FILE_CORRUPT: u32 = 15625; +pub const ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING: u32 = 15626; +pub const ERROR_PACKAGE_MOVE_FAILED: u32 = 15627; +pub const ERROR_INSTALL_VOLUME_NOT_EMPTY: u32 = 15628; +pub const ERROR_INSTALL_VOLUME_OFFLINE: u32 = 15629; +pub const ERROR_INSTALL_VOLUME_CORRUPT: u32 = 15630; +pub const ERROR_NEEDS_REGISTRATION: u32 = 15631; +pub const ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE: u32 = 15632; +pub const ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED: u32 = 15633; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE: u32 = 15634; +pub const ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM: u32 = 15635; +pub const ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING: u32 = 15636; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE: u32 = 15637; +pub const ERROR_PACKAGE_STAGING_ONHOLD: u32 = 15638; +pub const ERROR_INSTALL_INVALID_RELATED_SET_UPDATE: u32 = 15639; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY: u32 = 15640; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF: u32 = 15641; +pub const ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED: u32 = 15642; +pub const ERROR_PACKAGES_REPUTATION_CHECK_FAILED: u32 = 15643; +pub const ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT: u32 = 15644; +pub const ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED: u32 = 15645; +pub const ERROR_APPINSTALLER_ACTIVATION_BLOCKED: u32 = 15646; +pub const ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED: u32 = 15647; +pub const ERROR_APPX_RAW_DATA_WRITE_FAILED: u32 = 15648; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE: u32 = 15649; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE: u32 = 15650; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY: u32 = 15651; +pub const ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY: u32 = 15652; +pub const ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER: u32 = 15653; +pub const ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED: u32 = 15654; +pub const ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE: u32 = 15655; +pub const ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES: u32 = 15656; +pub const ERROR_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED: u32 = 15657; +pub const ERROR_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST: u32 = 15658; +pub const ERROR_UNSIGNED_PACKAGE_INVALID_CONTENT: u32 = 15659; +pub const ERROR_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE: u32 = 15660; +pub const ERROR_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE: u32 = 15661; +pub const ERROR_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED: u32 = 15662; +pub const ERROR_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY: u32 = + 15663; +pub const ERROR_PACKAGE_LACKS_CAPABILITY_FOR_MANDATORY_STARTUPTASKS: u32 = 15664; +pub const ERROR_INSTALL_RESOLVE_HOSTRUNTIME_DEPENDENCY_FAILED: u32 = 15665; +pub const ERROR_MACHINE_SCOPE_NOT_ALLOWED: u32 = 15666; +pub const ERROR_CLASSIC_COMPAT_MODE_NOT_ALLOWED: u32 = 15667; +pub const ERROR_STAGEFROMUPDATEAGENT_PACKAGE_NOT_APPLICABLE: u32 = 15668; +pub const ERROR_PACKAGE_NOT_REGISTERED_FOR_USER: u32 = 15669; +pub const APPMODEL_ERROR_NO_PACKAGE: u32 = 15700; +pub const APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT: u32 = 15701; +pub const APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT: u32 = 15702; +pub const APPMODEL_ERROR_NO_APPLICATION: u32 = 15703; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED: u32 = 15704; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID: u32 = 15705; +pub const APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE: u32 = 15706; +pub const APPMODEL_ERROR_NO_MUTABLE_DIRECTORY: u32 = 15707; +pub const ERROR_STATE_LOAD_STORE_FAILED: u32 = 15800; +pub const ERROR_STATE_GET_VERSION_FAILED: u32 = 15801; +pub const ERROR_STATE_SET_VERSION_FAILED: u32 = 15802; +pub const ERROR_STATE_STRUCTURED_RESET_FAILED: u32 = 15803; +pub const ERROR_STATE_OPEN_CONTAINER_FAILED: u32 = 15804; +pub const ERROR_STATE_CREATE_CONTAINER_FAILED: u32 = 15805; +pub const ERROR_STATE_DELETE_CONTAINER_FAILED: u32 = 15806; +pub const ERROR_STATE_READ_SETTING_FAILED: u32 = 15807; +pub const ERROR_STATE_WRITE_SETTING_FAILED: u32 = 15808; +pub const ERROR_STATE_DELETE_SETTING_FAILED: u32 = 15809; +pub const ERROR_STATE_QUERY_SETTING_FAILED: u32 = 15810; +pub const ERROR_STATE_READ_COMPOSITE_SETTING_FAILED: u32 = 15811; +pub const ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED: u32 = 15812; +pub const ERROR_STATE_ENUMERATE_CONTAINER_FAILED: u32 = 15813; +pub const ERROR_STATE_ENUMERATE_SETTINGS_FAILED: u32 = 15814; +pub const ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15815; +pub const ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15816; +pub const ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15817; +pub const ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15818; +pub const ERROR_API_UNAVAILABLE: u32 = 15841; +pub const STORE_ERROR_UNLICENSED: u32 = 15861; +pub const STORE_ERROR_UNLICENSED_USER: u32 = 15862; +pub const STORE_ERROR_PENDING_COM_TRANSACTION: u32 = 15863; +pub const STORE_ERROR_LICENSE_REVOKED: u32 = 15864; +pub const SEVERITY_SUCCESS: u32 = 0; +pub const SEVERITY_ERROR: u32 = 1; +pub const FACILITY_NT_BIT: u32 = 268435456; +pub const NOERROR: u32 = 0; +pub const DRAGDROP_E_FIRST: u32 = 2147746048; +pub const DRAGDROP_E_LAST: u32 = 2147746063; +pub const DRAGDROP_S_FIRST: u32 = 262400; +pub const DRAGDROP_S_LAST: u32 = 262415; +pub const CLASSFACTORY_E_FIRST: u32 = 2147746064; +pub const CLASSFACTORY_E_LAST: u32 = 2147746079; +pub const CLASSFACTORY_S_FIRST: u32 = 262416; +pub const CLASSFACTORY_S_LAST: u32 = 262431; +pub const MARSHAL_E_FIRST: u32 = 2147746080; +pub const MARSHAL_E_LAST: u32 = 2147746095; +pub const MARSHAL_S_FIRST: u32 = 262432; +pub const MARSHAL_S_LAST: u32 = 262447; +pub const DATA_E_FIRST: u32 = 2147746096; +pub const DATA_E_LAST: u32 = 2147746111; +pub const DATA_S_FIRST: u32 = 262448; +pub const DATA_S_LAST: u32 = 262463; +pub const VIEW_E_FIRST: u32 = 2147746112; +pub const VIEW_E_LAST: u32 = 2147746127; +pub const VIEW_S_FIRST: u32 = 262464; +pub const VIEW_S_LAST: u32 = 262479; +pub const REGDB_E_FIRST: u32 = 2147746128; +pub const REGDB_E_LAST: u32 = 2147746143; +pub const REGDB_S_FIRST: u32 = 262480; +pub const REGDB_S_LAST: u32 = 262495; +pub const CAT_E_FIRST: u32 = 2147746144; +pub const CAT_E_LAST: u32 = 2147746145; +pub const CS_E_FIRST: u32 = 2147746148; +pub const CS_E_LAST: u32 = 2147746159; +pub const CACHE_E_FIRST: u32 = 2147746160; +pub const CACHE_E_LAST: u32 = 2147746175; +pub const CACHE_S_FIRST: u32 = 262512; +pub const CACHE_S_LAST: u32 = 262527; +pub const OLEOBJ_E_FIRST: u32 = 2147746176; +pub const OLEOBJ_E_LAST: u32 = 2147746191; +pub const OLEOBJ_S_FIRST: u32 = 262528; +pub const OLEOBJ_S_LAST: u32 = 262543; +pub const CLIENTSITE_E_FIRST: u32 = 2147746192; +pub const CLIENTSITE_E_LAST: u32 = 2147746207; +pub const CLIENTSITE_S_FIRST: u32 = 262544; +pub const CLIENTSITE_S_LAST: u32 = 262559; +pub const INPLACE_E_FIRST: u32 = 2147746208; +pub const INPLACE_E_LAST: u32 = 2147746223; +pub const INPLACE_S_FIRST: u32 = 262560; +pub const INPLACE_S_LAST: u32 = 262575; +pub const ENUM_E_FIRST: u32 = 2147746224; +pub const ENUM_E_LAST: u32 = 2147746239; +pub const ENUM_S_FIRST: u32 = 262576; +pub const ENUM_S_LAST: u32 = 262591; +pub const CONVERT10_E_FIRST: u32 = 2147746240; +pub const CONVERT10_E_LAST: u32 = 2147746255; +pub const CONVERT10_S_FIRST: u32 = 262592; +pub const CONVERT10_S_LAST: u32 = 262607; +pub const CLIPBRD_E_FIRST: u32 = 2147746256; +pub const CLIPBRD_E_LAST: u32 = 2147746271; +pub const CLIPBRD_S_FIRST: u32 = 262608; +pub const CLIPBRD_S_LAST: u32 = 262623; +pub const MK_E_FIRST: u32 = 2147746272; +pub const MK_E_LAST: u32 = 2147746287; +pub const MK_S_FIRST: u32 = 262624; +pub const MK_S_LAST: u32 = 262639; +pub const CO_E_FIRST: u32 = 2147746288; +pub const CO_E_LAST: u32 = 2147746303; +pub const CO_S_FIRST: u32 = 262640; +pub const CO_S_LAST: u32 = 262655; +pub const EVENT_E_FIRST: u32 = 2147746304; +pub const EVENT_E_LAST: u32 = 2147746335; +pub const EVENT_S_FIRST: u32 = 262656; +pub const EVENT_S_LAST: u32 = 262687; +pub const XACT_E_FIRST: u32 = 2147799040; +pub const XACT_E_LAST: u32 = 2147799083; +pub const XACT_S_FIRST: u32 = 315392; +pub const XACT_S_LAST: u32 = 315408; +pub const CONTEXT_E_FIRST: u32 = 2147803136; +pub const CONTEXT_E_LAST: u32 = 2147803183; +pub const CONTEXT_S_FIRST: u32 = 319488; +pub const CONTEXT_S_LAST: u32 = 319535; +pub const NTE_OP_OK: u32 = 0; +pub const SCARD_S_SUCCESS: u32 = 0; +pub const TC_NORMAL: u32 = 0; +pub const TC_HARDERR: u32 = 1; +pub const TC_GP_TRAP: u32 = 2; +pub const TC_SIGNAL: u32 = 3; +pub const AC_LINE_OFFLINE: u32 = 0; +pub const AC_LINE_ONLINE: u32 = 1; +pub const AC_LINE_BACKUP_POWER: u32 = 2; +pub const AC_LINE_UNKNOWN: u32 = 255; +pub const BATTERY_FLAG_HIGH: u32 = 1; +pub const BATTERY_FLAG_LOW: u32 = 2; +pub const BATTERY_FLAG_CRITICAL: u32 = 4; +pub const BATTERY_FLAG_CHARGING: u32 = 8; +pub const BATTERY_FLAG_NO_BATTERY: u32 = 128; +pub const BATTERY_FLAG_UNKNOWN: u32 = 255; +pub const BATTERY_PERCENTAGE_UNKNOWN: u32 = 255; +pub const SYSTEM_STATUS_FLAG_POWER_SAVING_ON: u32 = 1; +pub const BATTERY_LIFE_UNKNOWN: u32 = 4294967295; +pub const ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID: u32 = 1; +pub const ACTCTX_FLAG_LANGID_VALID: u32 = 2; +pub const ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID: u32 = 4; +pub const ACTCTX_FLAG_RESOURCE_NAME_VALID: u32 = 8; +pub const ACTCTX_FLAG_SET_PROCESS_DEFAULT: u32 = 16; +pub const ACTCTX_FLAG_APPLICATION_NAME_VALID: u32 = 32; +pub const ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF: u32 = 64; +pub const ACTCTX_FLAG_HMODULE_VALID: u32 = 128; +pub const DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION: u32 = 1; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX: u32 = 1; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS: u32 = 2; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA: u32 = 4; +pub const ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED: u32 = 1; +pub const QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX: u32 = 4; +pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE: u32 = 8; +pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS: u32 = 16; +pub const QUERY_ACTCTX_FLAG_NO_ADDREF: u32 = 2147483648; +pub const RESTART_MAX_CMD_LINE: u32 = 1024; +pub const RESTART_NO_CRASH: u32 = 1; +pub const RESTART_NO_HANG: u32 = 2; +pub const RESTART_NO_PATCH: u32 = 4; +pub const RESTART_NO_REBOOT: u32 = 8; +pub const RECOVERY_DEFAULT_PING_INTERVAL: u32 = 5000; +pub const RECOVERY_MAX_PING_INTERVAL: u32 = 300000; +pub const FILE_RENAME_FLAG_REPLACE_IF_EXISTS: u32 = 1; +pub const FILE_RENAME_FLAG_POSIX_SEMANTICS: u32 = 2; +pub const FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE: u32 = 4; +pub const FILE_DISPOSITION_FLAG_DO_NOT_DELETE: u32 = 0; +pub const FILE_DISPOSITION_FLAG_DELETE: u32 = 1; +pub const FILE_DISPOSITION_FLAG_POSIX_SEMANTICS: u32 = 2; +pub const FILE_DISPOSITION_FLAG_FORCE_IMAGE_SECTION_CHECK: u32 = 4; +pub const FILE_DISPOSITION_FLAG_ON_CLOSE: u32 = 8; +pub const FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE: u32 = 16; +pub const STORAGE_INFO_FLAGS_ALIGNED_DEVICE: u32 = 1; +pub const STORAGE_INFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE: u32 = 2; +pub const STORAGE_INFO_OFFSET_UNKNOWN: u32 = 4294967295; +pub const REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK: u32 = 1; +pub const REMOTE_PROTOCOL_INFO_FLAG_OFFLINE: u32 = 2; +pub const REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE: u32 = 4; +pub const RPI_FLAG_SMB2_SHARECAP_TIMEWARP: u32 = 2; +pub const RPI_FLAG_SMB2_SHARECAP_DFS: u32 = 8; +pub const RPI_FLAG_SMB2_SHARECAP_CONTINUOUS_AVAILABILITY: u32 = 16; +pub const RPI_FLAG_SMB2_SHARECAP_SCALEOUT: u32 = 32; +pub const RPI_FLAG_SMB2_SHARECAP_CLUSTER: u32 = 64; +pub const RPI_SMB2_SHAREFLAG_ENCRYPT_DATA: u32 = 1; +pub const RPI_SMB2_FLAG_SERVERCAP_DFS: u32 = 1; +pub const RPI_SMB2_FLAG_SERVERCAP_LEASING: u32 = 2; +pub const RPI_SMB2_FLAG_SERVERCAP_LARGEMTU: u32 = 4; +pub const RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL: u32 = 8; +pub const RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES: u32 = 16; +pub const RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING: u32 = 32; +pub const SYMBOLIC_LINK_FLAG_DIRECTORY: u32 = 1; +pub const SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE: u32 = 2; +pub const MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS: u32 = 1; +pub const MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS: u32 = 0; +pub const R2_BLACK: u32 = 1; +pub const R2_NOTMERGEPEN: u32 = 2; +pub const R2_MASKNOTPEN: u32 = 3; +pub const R2_NOTCOPYPEN: u32 = 4; +pub const R2_MASKPENNOT: u32 = 5; +pub const R2_NOT: u32 = 6; +pub const R2_XORPEN: u32 = 7; +pub const R2_NOTMASKPEN: u32 = 8; +pub const R2_MASKPEN: u32 = 9; +pub const R2_NOTXORPEN: u32 = 10; +pub const R2_NOP: u32 = 11; +pub const R2_MERGENOTPEN: u32 = 12; +pub const R2_COPYPEN: u32 = 13; +pub const R2_MERGEPENNOT: u32 = 14; +pub const R2_MERGEPEN: u32 = 15; +pub const R2_WHITE: u32 = 16; +pub const R2_LAST: u32 = 16; +pub const GDI_ERROR: u32 = 4294967295; +pub const ERROR: u32 = 0; +pub const NULLREGION: u32 = 1; +pub const SIMPLEREGION: u32 = 2; +pub const COMPLEXREGION: u32 = 3; +pub const RGN_ERROR: u32 = 0; +pub const RGN_AND: u32 = 1; +pub const RGN_OR: u32 = 2; +pub const RGN_XOR: u32 = 3; +pub const RGN_DIFF: u32 = 4; +pub const RGN_COPY: u32 = 5; +pub const RGN_MIN: u32 = 1; +pub const RGN_MAX: u32 = 5; +pub const BLACKONWHITE: u32 = 1; +pub const WHITEONBLACK: u32 = 2; +pub const COLORONCOLOR: u32 = 3; +pub const HALFTONE: u32 = 4; +pub const MAXSTRETCHBLTMODE: u32 = 4; +pub const STRETCH_ANDSCANS: u32 = 1; +pub const STRETCH_ORSCANS: u32 = 2; +pub const STRETCH_DELETESCANS: u32 = 3; +pub const STRETCH_HALFTONE: u32 = 4; +pub const ALTERNATE: u32 = 1; +pub const WINDING: u32 = 2; +pub const POLYFILL_LAST: u32 = 2; +pub const LAYOUT_RTL: u32 = 1; +pub const LAYOUT_BTT: u32 = 2; +pub const LAYOUT_VBH: u32 = 4; +pub const LAYOUT_ORIENTATIONMASK: u32 = 7; +pub const LAYOUT_BITMAPORIENTATIONPRESERVED: u32 = 8; +pub const TA_NOUPDATECP: u32 = 0; +pub const TA_UPDATECP: u32 = 1; +pub const TA_LEFT: u32 = 0; +pub const TA_RIGHT: u32 = 2; +pub const TA_CENTER: u32 = 6; +pub const TA_TOP: u32 = 0; +pub const TA_BOTTOM: u32 = 8; +pub const TA_BASELINE: u32 = 24; +pub const TA_RTLREADING: u32 = 256; +pub const TA_MASK: u32 = 287; +pub const VTA_BASELINE: u32 = 24; +pub const VTA_LEFT: u32 = 8; +pub const VTA_RIGHT: u32 = 0; +pub const VTA_CENTER: u32 = 6; +pub const VTA_BOTTOM: u32 = 2; +pub const VTA_TOP: u32 = 0; +pub const ETO_OPAQUE: u32 = 2; +pub const ETO_CLIPPED: u32 = 4; +pub const ETO_GLYPH_INDEX: u32 = 16; +pub const ETO_RTLREADING: u32 = 128; +pub const ETO_NUMERICSLOCAL: u32 = 1024; +pub const ETO_NUMERICSLATIN: u32 = 2048; +pub const ETO_IGNORELANGUAGE: u32 = 4096; +pub const ETO_PDY: u32 = 8192; +pub const ETO_REVERSE_INDEX_MAP: u32 = 65536; +pub const ASPECT_FILTERING: u32 = 1; +pub const DCB_RESET: u32 = 1; +pub const DCB_ACCUMULATE: u32 = 2; +pub const DCB_DIRTY: u32 = 2; +pub const DCB_SET: u32 = 3; +pub const DCB_ENABLE: u32 = 4; +pub const DCB_DISABLE: u32 = 8; +pub const META_SETBKCOLOR: u32 = 513; +pub const META_SETBKMODE: u32 = 258; +pub const META_SETMAPMODE: u32 = 259; +pub const META_SETROP2: u32 = 260; +pub const META_SETRELABS: u32 = 261; +pub const META_SETPOLYFILLMODE: u32 = 262; +pub const META_SETSTRETCHBLTMODE: u32 = 263; +pub const META_SETTEXTCHAREXTRA: u32 = 264; +pub const META_SETTEXTCOLOR: u32 = 521; +pub const META_SETTEXTJUSTIFICATION: u32 = 522; +pub const META_SETWINDOWORG: u32 = 523; +pub const META_SETWINDOWEXT: u32 = 524; +pub const META_SETVIEWPORTORG: u32 = 525; +pub const META_SETVIEWPORTEXT: u32 = 526; +pub const META_OFFSETWINDOWORG: u32 = 527; +pub const META_SCALEWINDOWEXT: u32 = 1040; +pub const META_OFFSETVIEWPORTORG: u32 = 529; +pub const META_SCALEVIEWPORTEXT: u32 = 1042; +pub const META_LINETO: u32 = 531; +pub const META_MOVETO: u32 = 532; +pub const META_EXCLUDECLIPRECT: u32 = 1045; +pub const META_INTERSECTCLIPRECT: u32 = 1046; +pub const META_ARC: u32 = 2071; +pub const META_ELLIPSE: u32 = 1048; +pub const META_FLOODFILL: u32 = 1049; +pub const META_PIE: u32 = 2074; +pub const META_RECTANGLE: u32 = 1051; +pub const META_ROUNDRECT: u32 = 1564; +pub const META_PATBLT: u32 = 1565; +pub const META_SAVEDC: u32 = 30; +pub const META_SETPIXEL: u32 = 1055; +pub const META_OFFSETCLIPRGN: u32 = 544; +pub const META_TEXTOUT: u32 = 1313; +pub const META_BITBLT: u32 = 2338; +pub const META_STRETCHBLT: u32 = 2851; +pub const META_POLYGON: u32 = 804; +pub const META_POLYLINE: u32 = 805; +pub const META_ESCAPE: u32 = 1574; +pub const META_RESTOREDC: u32 = 295; +pub const META_FILLREGION: u32 = 552; +pub const META_FRAMEREGION: u32 = 1065; +pub const META_INVERTREGION: u32 = 298; +pub const META_PAINTREGION: u32 = 299; +pub const META_SELECTCLIPREGION: u32 = 300; +pub const META_SELECTOBJECT: u32 = 301; +pub const META_SETTEXTALIGN: u32 = 302; +pub const META_CHORD: u32 = 2096; +pub const META_SETMAPPERFLAGS: u32 = 561; +pub const META_EXTTEXTOUT: u32 = 2610; +pub const META_SETDIBTODEV: u32 = 3379; +pub const META_SELECTPALETTE: u32 = 564; +pub const META_REALIZEPALETTE: u32 = 53; +pub const META_ANIMATEPALETTE: u32 = 1078; +pub const META_SETPALENTRIES: u32 = 55; +pub const META_POLYPOLYGON: u32 = 1336; +pub const META_RESIZEPALETTE: u32 = 313; +pub const META_DIBBITBLT: u32 = 2368; +pub const META_DIBSTRETCHBLT: u32 = 2881; +pub const META_DIBCREATEPATTERNBRUSH: u32 = 322; +pub const META_STRETCHDIB: u32 = 3907; +pub const META_EXTFLOODFILL: u32 = 1352; +pub const META_SETLAYOUT: u32 = 329; +pub const META_DELETEOBJECT: u32 = 496; +pub const META_CREATEPALETTE: u32 = 247; +pub const META_CREATEPATTERNBRUSH: u32 = 505; +pub const META_CREATEPENINDIRECT: u32 = 762; +pub const META_CREATEFONTINDIRECT: u32 = 763; +pub const META_CREATEBRUSHINDIRECT: u32 = 764; +pub const META_CREATEREGION: u32 = 1791; +pub const NEWFRAME: u32 = 1; +pub const ABORTDOC: u32 = 2; +pub const NEXTBAND: u32 = 3; +pub const SETCOLORTABLE: u32 = 4; +pub const GETCOLORTABLE: u32 = 5; +pub const FLUSHOUTPUT: u32 = 6; +pub const DRAFTMODE: u32 = 7; +pub const QUERYESCSUPPORT: u32 = 8; +pub const SETABORTPROC: u32 = 9; +pub const STARTDOC: u32 = 10; +pub const ENDDOC: u32 = 11; +pub const GETPHYSPAGESIZE: u32 = 12; +pub const GETPRINTINGOFFSET: u32 = 13; +pub const GETSCALINGFACTOR: u32 = 14; +pub const MFCOMMENT: u32 = 15; +pub const GETPENWIDTH: u32 = 16; +pub const SETCOPYCOUNT: u32 = 17; +pub const SELECTPAPERSOURCE: u32 = 18; +pub const DEVICEDATA: u32 = 19; +pub const PASSTHROUGH: u32 = 19; +pub const GETTECHNOLGY: u32 = 20; +pub const GETTECHNOLOGY: u32 = 20; +pub const SETLINECAP: u32 = 21; +pub const SETLINEJOIN: u32 = 22; +pub const SETMITERLIMIT: u32 = 23; +pub const BANDINFO: u32 = 24; +pub const DRAWPATTERNRECT: u32 = 25; +pub const GETVECTORPENSIZE: u32 = 26; +pub const GETVECTORBRUSHSIZE: u32 = 27; +pub const ENABLEDUPLEX: u32 = 28; +pub const GETSETPAPERBINS: u32 = 29; +pub const GETSETPRINTORIENT: u32 = 30; +pub const ENUMPAPERBINS: u32 = 31; +pub const SETDIBSCALING: u32 = 32; +pub const EPSPRINTING: u32 = 33; +pub const ENUMPAPERMETRICS: u32 = 34; +pub const GETSETPAPERMETRICS: u32 = 35; +pub const POSTSCRIPT_DATA: u32 = 37; +pub const POSTSCRIPT_IGNORE: u32 = 38; +pub const MOUSETRAILS: u32 = 39; +pub const GETDEVICEUNITS: u32 = 42; +pub const GETEXTENDEDTEXTMETRICS: u32 = 256; +pub const GETEXTENTTABLE: u32 = 257; +pub const GETPAIRKERNTABLE: u32 = 258; +pub const GETTRACKKERNTABLE: u32 = 259; +pub const EXTTEXTOUT: u32 = 512; +pub const GETFACENAME: u32 = 513; +pub const DOWNLOADFACE: u32 = 514; +pub const ENABLERELATIVEWIDTHS: u32 = 768; +pub const ENABLEPAIRKERNING: u32 = 769; +pub const SETKERNTRACK: u32 = 770; +pub const SETALLJUSTVALUES: u32 = 771; +pub const SETCHARSET: u32 = 772; +pub const STRETCHBLT: u32 = 2048; +pub const METAFILE_DRIVER: u32 = 2049; +pub const GETSETSCREENPARAMS: u32 = 3072; +pub const QUERYDIBSUPPORT: u32 = 3073; +pub const BEGIN_PATH: u32 = 4096; +pub const CLIP_TO_PATH: u32 = 4097; +pub const END_PATH: u32 = 4098; +pub const EXT_DEVICE_CAPS: u32 = 4099; +pub const RESTORE_CTM: u32 = 4100; +pub const SAVE_CTM: u32 = 4101; +pub const SET_ARC_DIRECTION: u32 = 4102; +pub const SET_BACKGROUND_COLOR: u32 = 4103; +pub const SET_POLY_MODE: u32 = 4104; +pub const SET_SCREEN_ANGLE: u32 = 4105; +pub const SET_SPREAD: u32 = 4106; +pub const TRANSFORM_CTM: u32 = 4107; +pub const SET_CLIP_BOX: u32 = 4108; +pub const SET_BOUNDS: u32 = 4109; +pub const SET_MIRROR_MODE: u32 = 4110; +pub const OPENCHANNEL: u32 = 4110; +pub const DOWNLOADHEADER: u32 = 4111; +pub const CLOSECHANNEL: u32 = 4112; +pub const POSTSCRIPT_PASSTHROUGH: u32 = 4115; +pub const ENCAPSULATED_POSTSCRIPT: u32 = 4116; +pub const POSTSCRIPT_IDENTIFY: u32 = 4117; +pub const POSTSCRIPT_INJECTION: u32 = 4118; +pub const CHECKJPEGFORMAT: u32 = 4119; +pub const CHECKPNGFORMAT: u32 = 4120; +pub const GET_PS_FEATURESETTING: u32 = 4121; +pub const GDIPLUS_TS_QUERYVER: u32 = 4122; +pub const GDIPLUS_TS_RECORD: u32 = 4123; +pub const MILCORE_TS_QUERYVER_RESULT_FALSE: u32 = 0; +pub const MILCORE_TS_QUERYVER_RESULT_TRUE: u32 = 2147483647; +pub const SPCLPASSTHROUGH2: u32 = 4568; +pub const PSIDENT_GDICENTRIC: u32 = 0; +pub const PSIDENT_PSCENTRIC: u32 = 1; +pub const PSINJECT_BEGINSTREAM: u32 = 1; +pub const PSINJECT_PSADOBE: u32 = 2; +pub const PSINJECT_PAGESATEND: u32 = 3; +pub const PSINJECT_PAGES: u32 = 4; +pub const PSINJECT_DOCNEEDEDRES: u32 = 5; +pub const PSINJECT_DOCSUPPLIEDRES: u32 = 6; +pub const PSINJECT_PAGEORDER: u32 = 7; +pub const PSINJECT_ORIENTATION: u32 = 8; +pub const PSINJECT_BOUNDINGBOX: u32 = 9; +pub const PSINJECT_DOCUMENTPROCESSCOLORS: u32 = 10; +pub const PSINJECT_COMMENTS: u32 = 11; +pub const PSINJECT_BEGINDEFAULTS: u32 = 12; +pub const PSINJECT_ENDDEFAULTS: u32 = 13; +pub const PSINJECT_BEGINPROLOG: u32 = 14; +pub const PSINJECT_ENDPROLOG: u32 = 15; +pub const PSINJECT_BEGINSETUP: u32 = 16; +pub const PSINJECT_ENDSETUP: u32 = 17; +pub const PSINJECT_TRAILER: u32 = 18; +pub const PSINJECT_EOF: u32 = 19; +pub const PSINJECT_ENDSTREAM: u32 = 20; +pub const PSINJECT_DOCUMENTPROCESSCOLORSATEND: u32 = 21; +pub const PSINJECT_PAGENUMBER: u32 = 100; +pub const PSINJECT_BEGINPAGESETUP: u32 = 101; +pub const PSINJECT_ENDPAGESETUP: u32 = 102; +pub const PSINJECT_PAGETRAILER: u32 = 103; +pub const PSINJECT_PLATECOLOR: u32 = 104; +pub const PSINJECT_SHOWPAGE: u32 = 105; +pub const PSINJECT_PAGEBBOX: u32 = 106; +pub const PSINJECT_ENDPAGECOMMENTS: u32 = 107; +pub const PSINJECT_VMSAVE: u32 = 200; +pub const PSINJECT_VMRESTORE: u32 = 201; +pub const PSINJECT_DLFONT: u32 = 3722304989; +pub const FEATURESETTING_NUP: u32 = 0; +pub const FEATURESETTING_OUTPUT: u32 = 1; +pub const FEATURESETTING_PSLEVEL: u32 = 2; +pub const FEATURESETTING_CUSTPAPER: u32 = 3; +pub const FEATURESETTING_MIRROR: u32 = 4; +pub const FEATURESETTING_NEGATIVE: u32 = 5; +pub const FEATURESETTING_PROTOCOL: u32 = 6; +pub const FEATURESETTING_PRIVATE_BEGIN: u32 = 4096; +pub const FEATURESETTING_PRIVATE_END: u32 = 8191; +pub const PSPROTOCOL_ASCII: u32 = 0; +pub const PSPROTOCOL_BCP: u32 = 1; +pub const PSPROTOCOL_TBCP: u32 = 2; +pub const PSPROTOCOL_BINARY: u32 = 3; +pub const QDI_SETDIBITS: u32 = 1; +pub const QDI_GETDIBITS: u32 = 2; +pub const QDI_DIBTOSCREEN: u32 = 4; +pub const QDI_STRETCHDIB: u32 = 8; +pub const SP_NOTREPORTED: u32 = 16384; +pub const SP_ERROR: i32 = -1; +pub const SP_APPABORT: i32 = -2; +pub const SP_USERABORT: i32 = -3; +pub const SP_OUTOFDISK: i32 = -4; +pub const SP_OUTOFMEMORY: i32 = -5; +pub const PR_JOBSTATUS: u32 = 0; +pub const OBJ_PEN: u32 = 1; +pub const OBJ_BRUSH: u32 = 2; +pub const OBJ_DC: u32 = 3; +pub const OBJ_METADC: u32 = 4; +pub const OBJ_PAL: u32 = 5; +pub const OBJ_FONT: u32 = 6; +pub const OBJ_BITMAP: u32 = 7; +pub const OBJ_REGION: u32 = 8; +pub const OBJ_METAFILE: u32 = 9; +pub const OBJ_MEMDC: u32 = 10; +pub const OBJ_EXTPEN: u32 = 11; +pub const OBJ_ENHMETADC: u32 = 12; +pub const OBJ_ENHMETAFILE: u32 = 13; +pub const OBJ_COLORSPACE: u32 = 14; +pub const GDI_OBJ_LAST: u32 = 14; +pub const GDI_MIN_OBJ_TYPE: u32 = 1; +pub const GDI_MAX_OBJ_TYPE: u32 = 14; +pub const MWT_IDENTITY: u32 = 1; +pub const MWT_LEFTMULTIPLY: u32 = 2; +pub const MWT_RIGHTMULTIPLY: u32 = 3; +pub const MWT_MIN: u32 = 1; +pub const MWT_MAX: u32 = 3; +pub const CS_ENABLE: u32 = 1; +pub const CS_DISABLE: u32 = 2; +pub const CS_DELETE_TRANSFORM: u32 = 3; +pub const LCS_CALIBRATED_RGB: u32 = 0; +pub const LCS_GM_BUSINESS: u32 = 1; +pub const LCS_GM_GRAPHICS: u32 = 2; +pub const LCS_GM_IMAGES: u32 = 4; +pub const LCS_GM_ABS_COLORIMETRIC: u32 = 8; +pub const CM_OUT_OF_GAMUT: u32 = 255; +pub const CM_IN_GAMUT: u32 = 0; +pub const ICM_ADDPROFILE: u32 = 1; +pub const ICM_DELETEPROFILE: u32 = 2; +pub const ICM_QUERYPROFILE: u32 = 3; +pub const ICM_SETDEFAULTPROFILE: u32 = 4; +pub const ICM_REGISTERICMATCHER: u32 = 5; +pub const ICM_UNREGISTERICMATCHER: u32 = 6; +pub const ICM_QUERYMATCH: u32 = 7; +pub const BI_RGB: u32 = 0; +pub const BI_RLE8: u32 = 1; +pub const BI_RLE4: u32 = 2; +pub const BI_BITFIELDS: u32 = 3; +pub const BI_JPEG: u32 = 4; +pub const BI_PNG: u32 = 5; +pub const TCI_SRCCHARSET: u32 = 1; +pub const TCI_SRCCODEPAGE: u32 = 2; +pub const TCI_SRCFONTSIG: u32 = 3; +pub const TCI_SRCLOCALE: u32 = 4096; +pub const TMPF_FIXED_PITCH: u32 = 1; +pub const TMPF_VECTOR: u32 = 2; +pub const TMPF_DEVICE: u32 = 8; +pub const TMPF_TRUETYPE: u32 = 4; +pub const NTM_REGULAR: u32 = 64; +pub const NTM_BOLD: u32 = 32; +pub const NTM_ITALIC: u32 = 1; +pub const NTM_NONNEGATIVE_AC: u32 = 65536; +pub const NTM_PS_OPENTYPE: u32 = 131072; +pub const NTM_TT_OPENTYPE: u32 = 262144; +pub const NTM_MULTIPLEMASTER: u32 = 524288; +pub const NTM_TYPE1: u32 = 1048576; +pub const NTM_DSIG: u32 = 2097152; +pub const LF_FACESIZE: u32 = 32; +pub const LF_FULLFACESIZE: u32 = 64; +pub const OUT_DEFAULT_PRECIS: u32 = 0; +pub const OUT_STRING_PRECIS: u32 = 1; +pub const OUT_CHARACTER_PRECIS: u32 = 2; +pub const OUT_STROKE_PRECIS: u32 = 3; +pub const OUT_TT_PRECIS: u32 = 4; +pub const OUT_DEVICE_PRECIS: u32 = 5; +pub const OUT_RASTER_PRECIS: u32 = 6; +pub const OUT_TT_ONLY_PRECIS: u32 = 7; +pub const OUT_OUTLINE_PRECIS: u32 = 8; +pub const OUT_SCREEN_OUTLINE_PRECIS: u32 = 9; +pub const OUT_PS_ONLY_PRECIS: u32 = 10; +pub const CLIP_DEFAULT_PRECIS: u32 = 0; +pub const CLIP_CHARACTER_PRECIS: u32 = 1; +pub const CLIP_STROKE_PRECIS: u32 = 2; +pub const CLIP_MASK: u32 = 15; +pub const CLIP_LH_ANGLES: u32 = 16; +pub const CLIP_TT_ALWAYS: u32 = 32; +pub const CLIP_DFA_DISABLE: u32 = 64; +pub const CLIP_EMBEDDED: u32 = 128; +pub const DEFAULT_QUALITY: u32 = 0; +pub const DRAFT_QUALITY: u32 = 1; +pub const PROOF_QUALITY: u32 = 2; +pub const NONANTIALIASED_QUALITY: u32 = 3; +pub const ANTIALIASED_QUALITY: u32 = 4; +pub const CLEARTYPE_QUALITY: u32 = 5; +pub const CLEARTYPE_NATURAL_QUALITY: u32 = 6; +pub const DEFAULT_PITCH: u32 = 0; +pub const FIXED_PITCH: u32 = 1; +pub const VARIABLE_PITCH: u32 = 2; +pub const MONO_FONT: u32 = 8; +pub const ANSI_CHARSET: u32 = 0; +pub const DEFAULT_CHARSET: u32 = 1; +pub const SYMBOL_CHARSET: u32 = 2; +pub const SHIFTJIS_CHARSET: u32 = 128; +pub const HANGEUL_CHARSET: u32 = 129; +pub const HANGUL_CHARSET: u32 = 129; +pub const GB2312_CHARSET: u32 = 134; +pub const CHINESEBIG5_CHARSET: u32 = 136; +pub const OEM_CHARSET: u32 = 255; +pub const JOHAB_CHARSET: u32 = 130; +pub const HEBREW_CHARSET: u32 = 177; +pub const ARABIC_CHARSET: u32 = 178; +pub const GREEK_CHARSET: u32 = 161; +pub const TURKISH_CHARSET: u32 = 162; +pub const VIETNAMESE_CHARSET: u32 = 163; +pub const THAI_CHARSET: u32 = 222; +pub const EASTEUROPE_CHARSET: u32 = 238; +pub const RUSSIAN_CHARSET: u32 = 204; +pub const MAC_CHARSET: u32 = 77; +pub const BALTIC_CHARSET: u32 = 186; +pub const FS_LATIN1: u32 = 1; +pub const FS_LATIN2: u32 = 2; +pub const FS_CYRILLIC: u32 = 4; +pub const FS_GREEK: u32 = 8; +pub const FS_TURKISH: u32 = 16; +pub const FS_HEBREW: u32 = 32; +pub const FS_ARABIC: u32 = 64; +pub const FS_BALTIC: u32 = 128; +pub const FS_VIETNAMESE: u32 = 256; +pub const FS_THAI: u32 = 65536; +pub const FS_JISJAPAN: u32 = 131072; +pub const FS_CHINESESIMP: u32 = 262144; +pub const FS_WANSUNG: u32 = 524288; +pub const FS_CHINESETRAD: u32 = 1048576; +pub const FS_JOHAB: u32 = 2097152; +pub const FS_SYMBOL: u32 = 2147483648; +pub const FF_DONTCARE: u32 = 0; +pub const FF_ROMAN: u32 = 16; +pub const FF_SWISS: u32 = 32; +pub const FF_MODERN: u32 = 48; +pub const FF_SCRIPT: u32 = 64; +pub const FF_DECORATIVE: u32 = 80; +pub const FW_DONTCARE: u32 = 0; +pub const FW_THIN: u32 = 100; +pub const FW_EXTRALIGHT: u32 = 200; +pub const FW_LIGHT: u32 = 300; +pub const FW_NORMAL: u32 = 400; +pub const FW_MEDIUM: u32 = 500; +pub const FW_SEMIBOLD: u32 = 600; +pub const FW_BOLD: u32 = 700; +pub const FW_EXTRABOLD: u32 = 800; +pub const FW_HEAVY: u32 = 900; +pub const FW_ULTRALIGHT: u32 = 200; +pub const FW_REGULAR: u32 = 400; +pub const FW_DEMIBOLD: u32 = 600; +pub const FW_ULTRABOLD: u32 = 800; +pub const FW_BLACK: u32 = 900; +pub const PANOSE_COUNT: u32 = 10; +pub const PAN_FAMILYTYPE_INDEX: u32 = 0; +pub const PAN_SERIFSTYLE_INDEX: u32 = 1; +pub const PAN_WEIGHT_INDEX: u32 = 2; +pub const PAN_PROPORTION_INDEX: u32 = 3; +pub const PAN_CONTRAST_INDEX: u32 = 4; +pub const PAN_STROKEVARIATION_INDEX: u32 = 5; +pub const PAN_ARMSTYLE_INDEX: u32 = 6; +pub const PAN_LETTERFORM_INDEX: u32 = 7; +pub const PAN_MIDLINE_INDEX: u32 = 8; +pub const PAN_XHEIGHT_INDEX: u32 = 9; +pub const PAN_CULTURE_LATIN: u32 = 0; +pub const PAN_ANY: u32 = 0; +pub const PAN_NO_FIT: u32 = 1; +pub const PAN_FAMILY_TEXT_DISPLAY: u32 = 2; +pub const PAN_FAMILY_SCRIPT: u32 = 3; +pub const PAN_FAMILY_DECORATIVE: u32 = 4; +pub const PAN_FAMILY_PICTORIAL: u32 = 5; +pub const PAN_SERIF_COVE: u32 = 2; +pub const PAN_SERIF_OBTUSE_COVE: u32 = 3; +pub const PAN_SERIF_SQUARE_COVE: u32 = 4; +pub const PAN_SERIF_OBTUSE_SQUARE_COVE: u32 = 5; +pub const PAN_SERIF_SQUARE: u32 = 6; +pub const PAN_SERIF_THIN: u32 = 7; +pub const PAN_SERIF_BONE: u32 = 8; +pub const PAN_SERIF_EXAGGERATED: u32 = 9; +pub const PAN_SERIF_TRIANGLE: u32 = 10; +pub const PAN_SERIF_NORMAL_SANS: u32 = 11; +pub const PAN_SERIF_OBTUSE_SANS: u32 = 12; +pub const PAN_SERIF_PERP_SANS: u32 = 13; +pub const PAN_SERIF_FLARED: u32 = 14; +pub const PAN_SERIF_ROUNDED: u32 = 15; +pub const PAN_WEIGHT_VERY_LIGHT: u32 = 2; +pub const PAN_WEIGHT_LIGHT: u32 = 3; +pub const PAN_WEIGHT_THIN: u32 = 4; +pub const PAN_WEIGHT_BOOK: u32 = 5; +pub const PAN_WEIGHT_MEDIUM: u32 = 6; +pub const PAN_WEIGHT_DEMI: u32 = 7; +pub const PAN_WEIGHT_BOLD: u32 = 8; +pub const PAN_WEIGHT_HEAVY: u32 = 9; +pub const PAN_WEIGHT_BLACK: u32 = 10; +pub const PAN_WEIGHT_NORD: u32 = 11; +pub const PAN_PROP_OLD_STYLE: u32 = 2; +pub const PAN_PROP_MODERN: u32 = 3; +pub const PAN_PROP_EVEN_WIDTH: u32 = 4; +pub const PAN_PROP_EXPANDED: u32 = 5; +pub const PAN_PROP_CONDENSED: u32 = 6; +pub const PAN_PROP_VERY_EXPANDED: u32 = 7; +pub const PAN_PROP_VERY_CONDENSED: u32 = 8; +pub const PAN_PROP_MONOSPACED: u32 = 9; +pub const PAN_CONTRAST_NONE: u32 = 2; +pub const PAN_CONTRAST_VERY_LOW: u32 = 3; +pub const PAN_CONTRAST_LOW: u32 = 4; +pub const PAN_CONTRAST_MEDIUM_LOW: u32 = 5; +pub const PAN_CONTRAST_MEDIUM: u32 = 6; +pub const PAN_CONTRAST_MEDIUM_HIGH: u32 = 7; +pub const PAN_CONTRAST_HIGH: u32 = 8; +pub const PAN_CONTRAST_VERY_HIGH: u32 = 9; +pub const PAN_STROKE_GRADUAL_DIAG: u32 = 2; +pub const PAN_STROKE_GRADUAL_TRAN: u32 = 3; +pub const PAN_STROKE_GRADUAL_VERT: u32 = 4; +pub const PAN_STROKE_GRADUAL_HORZ: u32 = 5; +pub const PAN_STROKE_RAPID_VERT: u32 = 6; +pub const PAN_STROKE_RAPID_HORZ: u32 = 7; +pub const PAN_STROKE_INSTANT_VERT: u32 = 8; +pub const PAN_STRAIGHT_ARMS_HORZ: u32 = 2; +pub const PAN_STRAIGHT_ARMS_WEDGE: u32 = 3; +pub const PAN_STRAIGHT_ARMS_VERT: u32 = 4; +pub const PAN_STRAIGHT_ARMS_SINGLE_SERIF: u32 = 5; +pub const PAN_STRAIGHT_ARMS_DOUBLE_SERIF: u32 = 6; +pub const PAN_BENT_ARMS_HORZ: u32 = 7; +pub const PAN_BENT_ARMS_WEDGE: u32 = 8; +pub const PAN_BENT_ARMS_VERT: u32 = 9; +pub const PAN_BENT_ARMS_SINGLE_SERIF: u32 = 10; +pub const PAN_BENT_ARMS_DOUBLE_SERIF: u32 = 11; +pub const PAN_LETT_NORMAL_CONTACT: u32 = 2; +pub const PAN_LETT_NORMAL_WEIGHTED: u32 = 3; +pub const PAN_LETT_NORMAL_BOXED: u32 = 4; +pub const PAN_LETT_NORMAL_FLATTENED: u32 = 5; +pub const PAN_LETT_NORMAL_ROUNDED: u32 = 6; +pub const PAN_LETT_NORMAL_OFF_CENTER: u32 = 7; +pub const PAN_LETT_NORMAL_SQUARE: u32 = 8; +pub const PAN_LETT_OBLIQUE_CONTACT: u32 = 9; +pub const PAN_LETT_OBLIQUE_WEIGHTED: u32 = 10; +pub const PAN_LETT_OBLIQUE_BOXED: u32 = 11; +pub const PAN_LETT_OBLIQUE_FLATTENED: u32 = 12; +pub const PAN_LETT_OBLIQUE_ROUNDED: u32 = 13; +pub const PAN_LETT_OBLIQUE_OFF_CENTER: u32 = 14; +pub const PAN_LETT_OBLIQUE_SQUARE: u32 = 15; +pub const PAN_MIDLINE_STANDARD_TRIMMED: u32 = 2; +pub const PAN_MIDLINE_STANDARD_POINTED: u32 = 3; +pub const PAN_MIDLINE_STANDARD_SERIFED: u32 = 4; +pub const PAN_MIDLINE_HIGH_TRIMMED: u32 = 5; +pub const PAN_MIDLINE_HIGH_POINTED: u32 = 6; +pub const PAN_MIDLINE_HIGH_SERIFED: u32 = 7; +pub const PAN_MIDLINE_CONSTANT_TRIMMED: u32 = 8; +pub const PAN_MIDLINE_CONSTANT_POINTED: u32 = 9; +pub const PAN_MIDLINE_CONSTANT_SERIFED: u32 = 10; +pub const PAN_MIDLINE_LOW_TRIMMED: u32 = 11; +pub const PAN_MIDLINE_LOW_POINTED: u32 = 12; +pub const PAN_MIDLINE_LOW_SERIFED: u32 = 13; +pub const PAN_XHEIGHT_CONSTANT_SMALL: u32 = 2; +pub const PAN_XHEIGHT_CONSTANT_STD: u32 = 3; +pub const PAN_XHEIGHT_CONSTANT_LARGE: u32 = 4; +pub const PAN_XHEIGHT_DUCKING_SMALL: u32 = 5; +pub const PAN_XHEIGHT_DUCKING_STD: u32 = 6; +pub const PAN_XHEIGHT_DUCKING_LARGE: u32 = 7; +pub const ELF_VENDOR_SIZE: u32 = 4; +pub const ELF_VERSION: u32 = 0; +pub const ELF_CULTURE_LATIN: u32 = 0; +pub const RASTER_FONTTYPE: u32 = 1; +pub const DEVICE_FONTTYPE: u32 = 2; +pub const TRUETYPE_FONTTYPE: u32 = 4; +pub const PC_RESERVED: u32 = 1; +pub const PC_EXPLICIT: u32 = 2; +pub const PC_NOCOLLAPSE: u32 = 4; +pub const TRANSPARENT: u32 = 1; +pub const OPAQUE: u32 = 2; +pub const BKMODE_LAST: u32 = 2; +pub const GM_COMPATIBLE: u32 = 1; +pub const GM_ADVANCED: u32 = 2; +pub const GM_LAST: u32 = 2; +pub const PT_CLOSEFIGURE: u32 = 1; +pub const PT_LINETO: u32 = 2; +pub const PT_BEZIERTO: u32 = 4; +pub const PT_MOVETO: u32 = 6; +pub const MM_TEXT: u32 = 1; +pub const MM_LOMETRIC: u32 = 2; +pub const MM_HIMETRIC: u32 = 3; +pub const MM_LOENGLISH: u32 = 4; +pub const MM_HIENGLISH: u32 = 5; +pub const MM_TWIPS: u32 = 6; +pub const MM_ISOTROPIC: u32 = 7; +pub const MM_ANISOTROPIC: u32 = 8; +pub const MM_MIN: u32 = 1; +pub const MM_MAX: u32 = 8; +pub const MM_MAX_FIXEDSCALE: u32 = 6; +pub const ABSOLUTE: u32 = 1; +pub const RELATIVE: u32 = 2; +pub const WHITE_BRUSH: u32 = 0; +pub const LTGRAY_BRUSH: u32 = 1; +pub const GRAY_BRUSH: u32 = 2; +pub const DKGRAY_BRUSH: u32 = 3; +pub const BLACK_BRUSH: u32 = 4; +pub const NULL_BRUSH: u32 = 5; +pub const HOLLOW_BRUSH: u32 = 5; +pub const WHITE_PEN: u32 = 6; +pub const BLACK_PEN: u32 = 7; +pub const NULL_PEN: u32 = 8; +pub const OEM_FIXED_FONT: u32 = 10; +pub const ANSI_FIXED_FONT: u32 = 11; +pub const ANSI_VAR_FONT: u32 = 12; +pub const SYSTEM_FONT: u32 = 13; +pub const DEVICE_DEFAULT_FONT: u32 = 14; +pub const DEFAULT_PALETTE: u32 = 15; +pub const SYSTEM_FIXED_FONT: u32 = 16; +pub const DEFAULT_GUI_FONT: u32 = 17; +pub const DC_BRUSH: u32 = 18; +pub const DC_PEN: u32 = 19; +pub const STOCK_LAST: u32 = 19; +pub const CLR_INVALID: u32 = 4294967295; +pub const BS_SOLID: u32 = 0; +pub const BS_NULL: u32 = 1; +pub const BS_HOLLOW: u32 = 1; +pub const BS_HATCHED: u32 = 2; +pub const BS_PATTERN: u32 = 3; +pub const BS_INDEXED: u32 = 4; +pub const BS_DIBPATTERN: u32 = 5; +pub const BS_DIBPATTERNPT: u32 = 6; +pub const BS_PATTERN8X8: u32 = 7; +pub const BS_DIBPATTERN8X8: u32 = 8; +pub const BS_MONOPATTERN: u32 = 9; +pub const HS_HORIZONTAL: u32 = 0; +pub const HS_VERTICAL: u32 = 1; +pub const HS_FDIAGONAL: u32 = 2; +pub const HS_BDIAGONAL: u32 = 3; +pub const HS_CROSS: u32 = 4; +pub const HS_DIAGCROSS: u32 = 5; +pub const HS_API_MAX: u32 = 12; +pub const PS_SOLID: u32 = 0; +pub const PS_DASH: u32 = 1; +pub const PS_DOT: u32 = 2; +pub const PS_DASHDOT: u32 = 3; +pub const PS_DASHDOTDOT: u32 = 4; +pub const PS_NULL: u32 = 5; +pub const PS_INSIDEFRAME: u32 = 6; +pub const PS_USERSTYLE: u32 = 7; +pub const PS_ALTERNATE: u32 = 8; +pub const PS_STYLE_MASK: u32 = 15; +pub const PS_ENDCAP_ROUND: u32 = 0; +pub const PS_ENDCAP_SQUARE: u32 = 256; +pub const PS_ENDCAP_FLAT: u32 = 512; +pub const PS_ENDCAP_MASK: u32 = 3840; +pub const PS_JOIN_ROUND: u32 = 0; +pub const PS_JOIN_BEVEL: u32 = 4096; +pub const PS_JOIN_MITER: u32 = 8192; +pub const PS_JOIN_MASK: u32 = 61440; +pub const PS_COSMETIC: u32 = 0; +pub const PS_GEOMETRIC: u32 = 65536; +pub const PS_TYPE_MASK: u32 = 983040; +pub const AD_COUNTERCLOCKWISE: u32 = 1; +pub const AD_CLOCKWISE: u32 = 2; +pub const DRIVERVERSION: u32 = 0; +pub const TECHNOLOGY: u32 = 2; +pub const HORZSIZE: u32 = 4; +pub const VERTSIZE: u32 = 6; +pub const HORZRES: u32 = 8; +pub const VERTRES: u32 = 10; +pub const BITSPIXEL: u32 = 12; +pub const PLANES: u32 = 14; +pub const NUMBRUSHES: u32 = 16; +pub const NUMPENS: u32 = 18; +pub const NUMMARKERS: u32 = 20; +pub const NUMFONTS: u32 = 22; +pub const NUMCOLORS: u32 = 24; +pub const PDEVICESIZE: u32 = 26; +pub const CURVECAPS: u32 = 28; +pub const LINECAPS: u32 = 30; +pub const POLYGONALCAPS: u32 = 32; +pub const TEXTCAPS: u32 = 34; +pub const CLIPCAPS: u32 = 36; +pub const RASTERCAPS: u32 = 38; +pub const ASPECTX: u32 = 40; +pub const ASPECTY: u32 = 42; +pub const ASPECTXY: u32 = 44; +pub const LOGPIXELSX: u32 = 88; +pub const LOGPIXELSY: u32 = 90; +pub const SIZEPALETTE: u32 = 104; +pub const NUMRESERVED: u32 = 106; +pub const COLORRES: u32 = 108; +pub const PHYSICALWIDTH: u32 = 110; +pub const PHYSICALHEIGHT: u32 = 111; +pub const PHYSICALOFFSETX: u32 = 112; +pub const PHYSICALOFFSETY: u32 = 113; +pub const SCALINGFACTORX: u32 = 114; +pub const SCALINGFACTORY: u32 = 115; +pub const VREFRESH: u32 = 116; +pub const DESKTOPVERTRES: u32 = 117; +pub const DESKTOPHORZRES: u32 = 118; +pub const BLTALIGNMENT: u32 = 119; +pub const SHADEBLENDCAPS: u32 = 120; +pub const COLORMGMTCAPS: u32 = 121; +pub const DT_PLOTTER: u32 = 0; +pub const DT_RASDISPLAY: u32 = 1; +pub const DT_RASPRINTER: u32 = 2; +pub const DT_RASCAMERA: u32 = 3; +pub const DT_CHARSTREAM: u32 = 4; +pub const DT_METAFILE: u32 = 5; +pub const DT_DISPFILE: u32 = 6; +pub const CC_NONE: u32 = 0; +pub const CC_CIRCLES: u32 = 1; +pub const CC_PIE: u32 = 2; +pub const CC_CHORD: u32 = 4; +pub const CC_ELLIPSES: u32 = 8; +pub const CC_WIDE: u32 = 16; +pub const CC_STYLED: u32 = 32; +pub const CC_WIDESTYLED: u32 = 64; +pub const CC_INTERIORS: u32 = 128; +pub const CC_ROUNDRECT: u32 = 256; +pub const LC_NONE: u32 = 0; +pub const LC_POLYLINE: u32 = 2; +pub const LC_MARKER: u32 = 4; +pub const LC_POLYMARKER: u32 = 8; +pub const LC_WIDE: u32 = 16; +pub const LC_STYLED: u32 = 32; +pub const LC_WIDESTYLED: u32 = 64; +pub const LC_INTERIORS: u32 = 128; +pub const PC_NONE: u32 = 0; +pub const PC_POLYGON: u32 = 1; +pub const PC_RECTANGLE: u32 = 2; +pub const PC_WINDPOLYGON: u32 = 4; +pub const PC_TRAPEZOID: u32 = 4; +pub const PC_SCANLINE: u32 = 8; +pub const PC_WIDE: u32 = 16; +pub const PC_STYLED: u32 = 32; +pub const PC_WIDESTYLED: u32 = 64; +pub const PC_INTERIORS: u32 = 128; +pub const PC_POLYPOLYGON: u32 = 256; +pub const PC_PATHS: u32 = 512; +pub const CP_NONE: u32 = 0; +pub const CP_RECTANGLE: u32 = 1; +pub const CP_REGION: u32 = 2; +pub const TC_OP_CHARACTER: u32 = 1; +pub const TC_OP_STROKE: u32 = 2; +pub const TC_CP_STROKE: u32 = 4; +pub const TC_CR_90: u32 = 8; +pub const TC_CR_ANY: u32 = 16; +pub const TC_SF_X_YINDEP: u32 = 32; +pub const TC_SA_DOUBLE: u32 = 64; +pub const TC_SA_INTEGER: u32 = 128; +pub const TC_SA_CONTIN: u32 = 256; +pub const TC_EA_DOUBLE: u32 = 512; +pub const TC_IA_ABLE: u32 = 1024; +pub const TC_UA_ABLE: u32 = 2048; +pub const TC_SO_ABLE: u32 = 4096; +pub const TC_RA_ABLE: u32 = 8192; +pub const TC_VA_ABLE: u32 = 16384; +pub const TC_RESERVED: u32 = 32768; +pub const TC_SCROLLBLT: u32 = 65536; +pub const RC_BITBLT: u32 = 1; +pub const RC_BANDING: u32 = 2; +pub const RC_SCALING: u32 = 4; +pub const RC_BITMAP64: u32 = 8; +pub const RC_GDI20_OUTPUT: u32 = 16; +pub const RC_GDI20_STATE: u32 = 32; +pub const RC_SAVEBITMAP: u32 = 64; +pub const RC_DI_BITMAP: u32 = 128; +pub const RC_PALETTE: u32 = 256; +pub const RC_DIBTODEV: u32 = 512; +pub const RC_BIGFONT: u32 = 1024; +pub const RC_STRETCHBLT: u32 = 2048; +pub const RC_FLOODFILL: u32 = 4096; +pub const RC_STRETCHDIB: u32 = 8192; +pub const RC_OP_DX_OUTPUT: u32 = 16384; +pub const RC_DEVBITS: u32 = 32768; +pub const SB_NONE: u32 = 0; +pub const SB_CONST_ALPHA: u32 = 1; +pub const SB_PIXEL_ALPHA: u32 = 2; +pub const SB_PREMULT_ALPHA: u32 = 4; +pub const SB_GRAD_RECT: u32 = 16; +pub const SB_GRAD_TRI: u32 = 32; +pub const CM_NONE: u32 = 0; +pub const CM_DEVICE_ICM: u32 = 1; +pub const CM_GAMMA_RAMP: u32 = 2; +pub const CM_CMYK_COLOR: u32 = 4; +pub const DIB_RGB_COLORS: u32 = 0; +pub const DIB_PAL_COLORS: u32 = 1; +pub const SYSPAL_ERROR: u32 = 0; +pub const SYSPAL_STATIC: u32 = 1; +pub const SYSPAL_NOSTATIC: u32 = 2; +pub const SYSPAL_NOSTATIC256: u32 = 3; +pub const CBM_INIT: u32 = 4; +pub const FLOODFILLBORDER: u32 = 0; +pub const FLOODFILLSURFACE: u32 = 1; +pub const CCHDEVICENAME: u32 = 32; +pub const CCHFORMNAME: u32 = 32; +pub const DM_SPECVERSION: u32 = 1025; +pub const DM_ORIENTATION: u32 = 1; +pub const DM_PAPERSIZE: u32 = 2; +pub const DM_PAPERLENGTH: u32 = 4; +pub const DM_PAPERWIDTH: u32 = 8; +pub const DM_SCALE: u32 = 16; +pub const DM_POSITION: u32 = 32; +pub const DM_NUP: u32 = 64; +pub const DM_DISPLAYORIENTATION: u32 = 128; +pub const DM_COPIES: u32 = 256; +pub const DM_DEFAULTSOURCE: u32 = 512; +pub const DM_PRINTQUALITY: u32 = 1024; +pub const DM_COLOR: u32 = 2048; +pub const DM_DUPLEX: u32 = 4096; +pub const DM_YRESOLUTION: u32 = 8192; +pub const DM_TTOPTION: u32 = 16384; +pub const DM_COLLATE: u32 = 32768; +pub const DM_FORMNAME: u32 = 65536; +pub const DM_LOGPIXELS: u32 = 131072; +pub const DM_BITSPERPEL: u32 = 262144; +pub const DM_PELSWIDTH: u32 = 524288; +pub const DM_PELSHEIGHT: u32 = 1048576; +pub const DM_DISPLAYFLAGS: u32 = 2097152; +pub const DM_DISPLAYFREQUENCY: u32 = 4194304; +pub const DM_ICMMETHOD: u32 = 8388608; +pub const DM_ICMINTENT: u32 = 16777216; +pub const DM_MEDIATYPE: u32 = 33554432; +pub const DM_DITHERTYPE: u32 = 67108864; +pub const DM_PANNINGWIDTH: u32 = 134217728; +pub const DM_PANNINGHEIGHT: u32 = 268435456; +pub const DM_DISPLAYFIXEDOUTPUT: u32 = 536870912; +pub const DMORIENT_PORTRAIT: u32 = 1; +pub const DMORIENT_LANDSCAPE: u32 = 2; +pub const DMPAPER_LETTER: u32 = 1; +pub const DMPAPER_LETTERSMALL: u32 = 2; +pub const DMPAPER_TABLOID: u32 = 3; +pub const DMPAPER_LEDGER: u32 = 4; +pub const DMPAPER_LEGAL: u32 = 5; +pub const DMPAPER_STATEMENT: u32 = 6; +pub const DMPAPER_EXECUTIVE: u32 = 7; +pub const DMPAPER_A3: u32 = 8; +pub const DMPAPER_A4: u32 = 9; +pub const DMPAPER_A4SMALL: u32 = 10; +pub const DMPAPER_A5: u32 = 11; +pub const DMPAPER_B4: u32 = 12; +pub const DMPAPER_B5: u32 = 13; +pub const DMPAPER_FOLIO: u32 = 14; +pub const DMPAPER_QUARTO: u32 = 15; +pub const DMPAPER_10X14: u32 = 16; +pub const DMPAPER_11X17: u32 = 17; +pub const DMPAPER_NOTE: u32 = 18; +pub const DMPAPER_ENV_9: u32 = 19; +pub const DMPAPER_ENV_10: u32 = 20; +pub const DMPAPER_ENV_11: u32 = 21; +pub const DMPAPER_ENV_12: u32 = 22; +pub const DMPAPER_ENV_14: u32 = 23; +pub const DMPAPER_CSHEET: u32 = 24; +pub const DMPAPER_DSHEET: u32 = 25; +pub const DMPAPER_ESHEET: u32 = 26; +pub const DMPAPER_ENV_DL: u32 = 27; +pub const DMPAPER_ENV_C5: u32 = 28; +pub const DMPAPER_ENV_C3: u32 = 29; +pub const DMPAPER_ENV_C4: u32 = 30; +pub const DMPAPER_ENV_C6: u32 = 31; +pub const DMPAPER_ENV_C65: u32 = 32; +pub const DMPAPER_ENV_B4: u32 = 33; +pub const DMPAPER_ENV_B5: u32 = 34; +pub const DMPAPER_ENV_B6: u32 = 35; +pub const DMPAPER_ENV_ITALY: u32 = 36; +pub const DMPAPER_ENV_MONARCH: u32 = 37; +pub const DMPAPER_ENV_PERSONAL: u32 = 38; +pub const DMPAPER_FANFOLD_US: u32 = 39; +pub const DMPAPER_FANFOLD_STD_GERMAN: u32 = 40; +pub const DMPAPER_FANFOLD_LGL_GERMAN: u32 = 41; +pub const DMPAPER_ISO_B4: u32 = 42; +pub const DMPAPER_JAPANESE_POSTCARD: u32 = 43; +pub const DMPAPER_9X11: u32 = 44; +pub const DMPAPER_10X11: u32 = 45; +pub const DMPAPER_15X11: u32 = 46; +pub const DMPAPER_ENV_INVITE: u32 = 47; +pub const DMPAPER_RESERVED_48: u32 = 48; +pub const DMPAPER_RESERVED_49: u32 = 49; +pub const DMPAPER_LETTER_EXTRA: u32 = 50; +pub const DMPAPER_LEGAL_EXTRA: u32 = 51; +pub const DMPAPER_TABLOID_EXTRA: u32 = 52; +pub const DMPAPER_A4_EXTRA: u32 = 53; +pub const DMPAPER_LETTER_TRANSVERSE: u32 = 54; +pub const DMPAPER_A4_TRANSVERSE: u32 = 55; +pub const DMPAPER_LETTER_EXTRA_TRANSVERSE: u32 = 56; +pub const DMPAPER_A_PLUS: u32 = 57; +pub const DMPAPER_B_PLUS: u32 = 58; +pub const DMPAPER_LETTER_PLUS: u32 = 59; +pub const DMPAPER_A4_PLUS: u32 = 60; +pub const DMPAPER_A5_TRANSVERSE: u32 = 61; +pub const DMPAPER_B5_TRANSVERSE: u32 = 62; +pub const DMPAPER_A3_EXTRA: u32 = 63; +pub const DMPAPER_A5_EXTRA: u32 = 64; +pub const DMPAPER_B5_EXTRA: u32 = 65; +pub const DMPAPER_A2: u32 = 66; +pub const DMPAPER_A3_TRANSVERSE: u32 = 67; +pub const DMPAPER_A3_EXTRA_TRANSVERSE: u32 = 68; +pub const DMPAPER_DBL_JAPANESE_POSTCARD: u32 = 69; +pub const DMPAPER_A6: u32 = 70; +pub const DMPAPER_JENV_KAKU2: u32 = 71; +pub const DMPAPER_JENV_KAKU3: u32 = 72; +pub const DMPAPER_JENV_CHOU3: u32 = 73; +pub const DMPAPER_JENV_CHOU4: u32 = 74; +pub const DMPAPER_LETTER_ROTATED: u32 = 75; +pub const DMPAPER_A3_ROTATED: u32 = 76; +pub const DMPAPER_A4_ROTATED: u32 = 77; +pub const DMPAPER_A5_ROTATED: u32 = 78; +pub const DMPAPER_B4_JIS_ROTATED: u32 = 79; +pub const DMPAPER_B5_JIS_ROTATED: u32 = 80; +pub const DMPAPER_JAPANESE_POSTCARD_ROTATED: u32 = 81; +pub const DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: u32 = 82; +pub const DMPAPER_A6_ROTATED: u32 = 83; +pub const DMPAPER_JENV_KAKU2_ROTATED: u32 = 84; +pub const DMPAPER_JENV_KAKU3_ROTATED: u32 = 85; +pub const DMPAPER_JENV_CHOU3_ROTATED: u32 = 86; +pub const DMPAPER_JENV_CHOU4_ROTATED: u32 = 87; +pub const DMPAPER_B6_JIS: u32 = 88; +pub const DMPAPER_B6_JIS_ROTATED: u32 = 89; +pub const DMPAPER_12X11: u32 = 90; +pub const DMPAPER_JENV_YOU4: u32 = 91; +pub const DMPAPER_JENV_YOU4_ROTATED: u32 = 92; +pub const DMPAPER_P16K: u32 = 93; +pub const DMPAPER_P32K: u32 = 94; +pub const DMPAPER_P32KBIG: u32 = 95; +pub const DMPAPER_PENV_1: u32 = 96; +pub const DMPAPER_PENV_2: u32 = 97; +pub const DMPAPER_PENV_3: u32 = 98; +pub const DMPAPER_PENV_4: u32 = 99; +pub const DMPAPER_PENV_5: u32 = 100; +pub const DMPAPER_PENV_6: u32 = 101; +pub const DMPAPER_PENV_7: u32 = 102; +pub const DMPAPER_PENV_8: u32 = 103; +pub const DMPAPER_PENV_9: u32 = 104; +pub const DMPAPER_PENV_10: u32 = 105; +pub const DMPAPER_P16K_ROTATED: u32 = 106; +pub const DMPAPER_P32K_ROTATED: u32 = 107; +pub const DMPAPER_P32KBIG_ROTATED: u32 = 108; +pub const DMPAPER_PENV_1_ROTATED: u32 = 109; +pub const DMPAPER_PENV_2_ROTATED: u32 = 110; +pub const DMPAPER_PENV_3_ROTATED: u32 = 111; +pub const DMPAPER_PENV_4_ROTATED: u32 = 112; +pub const DMPAPER_PENV_5_ROTATED: u32 = 113; +pub const DMPAPER_PENV_6_ROTATED: u32 = 114; +pub const DMPAPER_PENV_7_ROTATED: u32 = 115; +pub const DMPAPER_PENV_8_ROTATED: u32 = 116; +pub const DMPAPER_PENV_9_ROTATED: u32 = 117; +pub const DMPAPER_PENV_10_ROTATED: u32 = 118; +pub const DMPAPER_LAST: u32 = 118; +pub const DMPAPER_USER: u32 = 256; +pub const DMBIN_UPPER: u32 = 1; +pub const DMBIN_ONLYONE: u32 = 1; +pub const DMBIN_LOWER: u32 = 2; +pub const DMBIN_MIDDLE: u32 = 3; +pub const DMBIN_MANUAL: u32 = 4; +pub const DMBIN_ENVELOPE: u32 = 5; +pub const DMBIN_ENVMANUAL: u32 = 6; +pub const DMBIN_AUTO: u32 = 7; +pub const DMBIN_TRACTOR: u32 = 8; +pub const DMBIN_SMALLFMT: u32 = 9; +pub const DMBIN_LARGEFMT: u32 = 10; +pub const DMBIN_LARGECAPACITY: u32 = 11; +pub const DMBIN_CASSETTE: u32 = 14; +pub const DMBIN_FORMSOURCE: u32 = 15; +pub const DMBIN_LAST: u32 = 15; +pub const DMBIN_USER: u32 = 256; +pub const DMRES_DRAFT: i32 = -1; +pub const DMRES_LOW: i32 = -2; +pub const DMRES_MEDIUM: i32 = -3; +pub const DMRES_HIGH: i32 = -4; +pub const DMCOLOR_MONOCHROME: u32 = 1; +pub const DMCOLOR_COLOR: u32 = 2; +pub const DMDUP_SIMPLEX: u32 = 1; +pub const DMDUP_VERTICAL: u32 = 2; +pub const DMDUP_HORIZONTAL: u32 = 3; +pub const DMTT_BITMAP: u32 = 1; +pub const DMTT_DOWNLOAD: u32 = 2; +pub const DMTT_SUBDEV: u32 = 3; +pub const DMTT_DOWNLOAD_OUTLINE: u32 = 4; +pub const DMCOLLATE_FALSE: u32 = 0; +pub const DMCOLLATE_TRUE: u32 = 1; +pub const DMDO_DEFAULT: u32 = 0; +pub const DMDO_90: u32 = 1; +pub const DMDO_180: u32 = 2; +pub const DMDO_270: u32 = 3; +pub const DMDFO_DEFAULT: u32 = 0; +pub const DMDFO_STRETCH: u32 = 1; +pub const DMDFO_CENTER: u32 = 2; +pub const DM_INTERLACED: u32 = 2; +pub const DMDISPLAYFLAGS_TEXTMODE: u32 = 4; +pub const DMNUP_SYSTEM: u32 = 1; +pub const DMNUP_ONEUP: u32 = 2; +pub const DMICMMETHOD_NONE: u32 = 1; +pub const DMICMMETHOD_SYSTEM: u32 = 2; +pub const DMICMMETHOD_DRIVER: u32 = 3; +pub const DMICMMETHOD_DEVICE: u32 = 4; +pub const DMICMMETHOD_USER: u32 = 256; +pub const DMICM_SATURATE: u32 = 1; +pub const DMICM_CONTRAST: u32 = 2; +pub const DMICM_COLORIMETRIC: u32 = 3; +pub const DMICM_ABS_COLORIMETRIC: u32 = 4; +pub const DMICM_USER: u32 = 256; +pub const DMMEDIA_STANDARD: u32 = 1; +pub const DMMEDIA_TRANSPARENCY: u32 = 2; +pub const DMMEDIA_GLOSSY: u32 = 3; +pub const DMMEDIA_USER: u32 = 256; +pub const DMDITHER_NONE: u32 = 1; +pub const DMDITHER_COARSE: u32 = 2; +pub const DMDITHER_FINE: u32 = 3; +pub const DMDITHER_LINEART: u32 = 4; +pub const DMDITHER_ERRORDIFFUSION: u32 = 5; +pub const DMDITHER_RESERVED6: u32 = 6; +pub const DMDITHER_RESERVED7: u32 = 7; +pub const DMDITHER_RESERVED8: u32 = 8; +pub const DMDITHER_RESERVED9: u32 = 9; +pub const DMDITHER_GRAYSCALE: u32 = 10; +pub const DMDITHER_USER: u32 = 256; +pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP: u32 = 1; +pub const DISPLAY_DEVICE_MULTI_DRIVER: u32 = 2; +pub const DISPLAY_DEVICE_PRIMARY_DEVICE: u32 = 4; +pub const DISPLAY_DEVICE_MIRRORING_DRIVER: u32 = 8; +pub const DISPLAY_DEVICE_VGA_COMPATIBLE: u32 = 16; +pub const DISPLAY_DEVICE_REMOVABLE: u32 = 32; +pub const DISPLAY_DEVICE_ACC_DRIVER: u32 = 64; +pub const DISPLAY_DEVICE_MODESPRUNED: u32 = 134217728; +pub const DISPLAY_DEVICE_RDPUDD: u32 = 16777216; +pub const DISPLAY_DEVICE_REMOTE: u32 = 67108864; +pub const DISPLAY_DEVICE_DISCONNECT: u32 = 33554432; +pub const DISPLAY_DEVICE_TS_COMPATIBLE: u32 = 2097152; +pub const DISPLAY_DEVICE_UNSAFE_MODES_ON: u32 = 524288; +pub const DISPLAY_DEVICE_ACTIVE: u32 = 1; +pub const DISPLAY_DEVICE_ATTACHED: u32 = 2; +pub const DISPLAYCONFIG_MAXPATH: u32 = 1024; +pub const DISPLAYCONFIG_PATH_MODE_IDX_INVALID: u32 = 4294967295; +pub const DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_SOURCE_IN_USE: u32 = 1; +pub const DISPLAYCONFIG_TARGET_IN_USE: u32 = 1; +pub const DISPLAYCONFIG_TARGET_FORCIBLE: u32 = 2; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT: u32 = 4; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH: u32 = 8; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM: u32 = 16; +pub const DISPLAYCONFIG_TARGET_IS_HMD: u32 = 32; +pub const DISPLAYCONFIG_PATH_ACTIVE: u32 = 1; +pub const DISPLAYCONFIG_PATH_PREFERRED_UNSCALED: u32 = 4; +pub const DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE: u32 = 8; +pub const DISPLAYCONFIG_PATH_VALID_FLAGS: u32 = 29; +pub const QDC_ALL_PATHS: u32 = 1; +pub const QDC_ONLY_ACTIVE_PATHS: u32 = 2; +pub const QDC_DATABASE_CURRENT: u32 = 4; +pub const QDC_VIRTUAL_MODE_AWARE: u32 = 16; +pub const QDC_INCLUDE_HMD: u32 = 32; +pub const QDC_VIRTUAL_REFRESH_RATE_AWARE: u32 = 64; +pub const SDC_TOPOLOGY_INTERNAL: u32 = 1; +pub const SDC_TOPOLOGY_CLONE: u32 = 2; +pub const SDC_TOPOLOGY_EXTEND: u32 = 4; +pub const SDC_TOPOLOGY_EXTERNAL: u32 = 8; +pub const SDC_TOPOLOGY_SUPPLIED: u32 = 16; +pub const SDC_USE_DATABASE_CURRENT: u32 = 15; +pub const SDC_USE_SUPPLIED_DISPLAY_CONFIG: u32 = 32; +pub const SDC_VALIDATE: u32 = 64; +pub const SDC_APPLY: u32 = 128; +pub const SDC_NO_OPTIMIZATION: u32 = 256; +pub const SDC_SAVE_TO_DATABASE: u32 = 512; +pub const SDC_ALLOW_CHANGES: u32 = 1024; +pub const SDC_PATH_PERSIST_IF_REQUIRED: u32 = 2048; +pub const SDC_FORCE_MODE_ENUMERATION: u32 = 4096; +pub const SDC_ALLOW_PATH_ORDER_CHANGES: u32 = 8192; +pub const SDC_VIRTUAL_MODE_AWARE: u32 = 32768; +pub const SDC_VIRTUAL_REFRESH_RATE_AWARE: u32 = 131072; +pub const RDH_RECTANGLES: u32 = 1; +pub const SYSRGN: u32 = 4; +pub const GGO_METRICS: u32 = 0; +pub const GGO_BITMAP: u32 = 1; +pub const GGO_NATIVE: u32 = 2; +pub const GGO_BEZIER: u32 = 3; +pub const GGO_GRAY2_BITMAP: u32 = 4; +pub const GGO_GRAY4_BITMAP: u32 = 5; +pub const GGO_GRAY8_BITMAP: u32 = 6; +pub const GGO_GLYPH_INDEX: u32 = 128; +pub const GGO_UNHINTED: u32 = 256; +pub const TT_POLYGON_TYPE: u32 = 24; +pub const TT_PRIM_LINE: u32 = 1; +pub const TT_PRIM_QSPLINE: u32 = 2; +pub const TT_PRIM_CSPLINE: u32 = 3; +pub const GCP_DBCS: u32 = 1; +pub const GCP_REORDER: u32 = 2; +pub const GCP_USEKERNING: u32 = 8; +pub const GCP_GLYPHSHAPE: u32 = 16; +pub const GCP_LIGATE: u32 = 32; +pub const GCP_DIACRITIC: u32 = 256; +pub const GCP_KASHIDA: u32 = 1024; +pub const GCP_ERROR: u32 = 32768; +pub const FLI_MASK: u32 = 4155; +pub const GCP_JUSTIFY: u32 = 65536; +pub const FLI_GLYPHS: u32 = 262144; +pub const GCP_CLASSIN: u32 = 524288; +pub const GCP_MAXEXTENT: u32 = 1048576; +pub const GCP_JUSTIFYIN: u32 = 2097152; +pub const GCP_DISPLAYZWG: u32 = 4194304; +pub const GCP_SYMSWAPOFF: u32 = 8388608; +pub const GCP_NUMERICOVERRIDE: u32 = 16777216; +pub const GCP_NEUTRALOVERRIDE: u32 = 33554432; +pub const GCP_NUMERICSLATIN: u32 = 67108864; +pub const GCP_NUMERICSLOCAL: u32 = 134217728; +pub const GCPCLASS_LATIN: u32 = 1; +pub const GCPCLASS_HEBREW: u32 = 2; +pub const GCPCLASS_ARABIC: u32 = 2; +pub const GCPCLASS_NEUTRAL: u32 = 3; +pub const GCPCLASS_LOCALNUMBER: u32 = 4; +pub const GCPCLASS_LATINNUMBER: u32 = 5; +pub const GCPCLASS_LATINNUMERICTERMINATOR: u32 = 6; +pub const GCPCLASS_LATINNUMERICSEPARATOR: u32 = 7; +pub const GCPCLASS_NUMERICSEPARATOR: u32 = 8; +pub const GCPCLASS_PREBOUNDLTR: u32 = 128; +pub const GCPCLASS_PREBOUNDRTL: u32 = 64; +pub const GCPCLASS_POSTBOUNDLTR: u32 = 32; +pub const GCPCLASS_POSTBOUNDRTL: u32 = 16; +pub const GCPGLYPH_LINKBEFORE: u32 = 32768; +pub const GCPGLYPH_LINKAFTER: u32 = 16384; +pub const TT_AVAILABLE: u32 = 1; +pub const TT_ENABLED: u32 = 2; +pub const PFD_TYPE_RGBA: u32 = 0; +pub const PFD_TYPE_COLORINDEX: u32 = 1; +pub const PFD_MAIN_PLANE: u32 = 0; +pub const PFD_OVERLAY_PLANE: u32 = 1; +pub const PFD_UNDERLAY_PLANE: i32 = -1; +pub const PFD_DOUBLEBUFFER: u32 = 1; +pub const PFD_STEREO: u32 = 2; +pub const PFD_DRAW_TO_WINDOW: u32 = 4; +pub const PFD_DRAW_TO_BITMAP: u32 = 8; +pub const PFD_SUPPORT_GDI: u32 = 16; +pub const PFD_SUPPORT_OPENGL: u32 = 32; +pub const PFD_GENERIC_FORMAT: u32 = 64; +pub const PFD_NEED_PALETTE: u32 = 128; +pub const PFD_NEED_SYSTEM_PALETTE: u32 = 256; +pub const PFD_SWAP_EXCHANGE: u32 = 512; +pub const PFD_SWAP_COPY: u32 = 1024; +pub const PFD_SWAP_LAYER_BUFFERS: u32 = 2048; +pub const PFD_GENERIC_ACCELERATED: u32 = 4096; +pub const PFD_SUPPORT_DIRECTDRAW: u32 = 8192; +pub const PFD_DIRECT3D_ACCELERATED: u32 = 16384; +pub const PFD_SUPPORT_COMPOSITION: u32 = 32768; +pub const PFD_DEPTH_DONTCARE: u32 = 536870912; +pub const PFD_DOUBLEBUFFER_DONTCARE: u32 = 1073741824; +pub const PFD_STEREO_DONTCARE: u32 = 2147483648; +pub const DC_BINADJUST: u32 = 19; +pub const DC_EMF_COMPLIANT: u32 = 20; +pub const DC_DATATYPE_PRODUCED: u32 = 21; +pub const DC_COLLATE: u32 = 22; +pub const DC_MANUFACTURER: u32 = 23; +pub const DC_MODEL: u32 = 24; +pub const DC_PERSONALITY: u32 = 25; +pub const DC_PRINTRATE: u32 = 26; +pub const DC_PRINTRATEUNIT: u32 = 27; +pub const PRINTRATEUNIT_PPM: u32 = 1; +pub const PRINTRATEUNIT_CPS: u32 = 2; +pub const PRINTRATEUNIT_LPM: u32 = 3; +pub const PRINTRATEUNIT_IPM: u32 = 4; +pub const DC_PRINTERMEM: u32 = 28; +pub const DC_MEDIAREADY: u32 = 29; +pub const DC_STAPLE: u32 = 30; +pub const DC_PRINTRATEPPM: u32 = 31; +pub const DC_COLORDEVICE: u32 = 32; +pub const DC_NUP: u32 = 33; +pub const DC_MEDIATYPENAMES: u32 = 34; +pub const DC_MEDIATYPES: u32 = 35; +pub const DCTT_BITMAP: u32 = 1; +pub const DCTT_DOWNLOAD: u32 = 2; +pub const DCTT_SUBDEV: u32 = 4; +pub const DCTT_DOWNLOAD_OUTLINE: u32 = 8; +pub const DCBA_FACEUPNONE: u32 = 0; +pub const DCBA_FACEUPCENTER: u32 = 1; +pub const DCBA_FACEUPLEFT: u32 = 2; +pub const DCBA_FACEUPRIGHT: u32 = 3; +pub const DCBA_FACEDOWNNONE: u32 = 256; +pub const DCBA_FACEDOWNCENTER: u32 = 257; +pub const DCBA_FACEDOWNLEFT: u32 = 258; +pub const DCBA_FACEDOWNRIGHT: u32 = 259; +pub const GS_8BIT_INDICES: u32 = 1; +pub const GGI_MARK_NONEXISTING_GLYPHS: u32 = 1; +pub const MM_MAX_NUMAXES: u32 = 16; +pub const FR_PRIVATE: u32 = 16; +pub const FR_NOT_ENUM: u32 = 32; +pub const MM_MAX_AXES_NAMELEN: u32 = 16; +pub const AC_SRC_OVER: u32 = 0; +pub const AC_SRC_ALPHA: u32 = 1; +pub const GRADIENT_FILL_RECT_H: u32 = 0; +pub const GRADIENT_FILL_RECT_V: u32 = 1; +pub const GRADIENT_FILL_TRIANGLE: u32 = 2; +pub const GRADIENT_FILL_OP_FLAG: u32 = 255; +pub const CA_NEGATIVE: u32 = 1; +pub const CA_LOG_FILTER: u32 = 2; +pub const ILLUMINANT_DEVICE_DEFAULT: u32 = 0; +pub const ILLUMINANT_A: u32 = 1; +pub const ILLUMINANT_B: u32 = 2; +pub const ILLUMINANT_C: u32 = 3; +pub const ILLUMINANT_D50: u32 = 4; +pub const ILLUMINANT_D55: u32 = 5; +pub const ILLUMINANT_D65: u32 = 6; +pub const ILLUMINANT_D75: u32 = 7; +pub const ILLUMINANT_F2: u32 = 8; +pub const ILLUMINANT_MAX_INDEX: u32 = 8; +pub const ILLUMINANT_TUNGSTEN: u32 = 1; +pub const ILLUMINANT_DAYLIGHT: u32 = 3; +pub const ILLUMINANT_FLUORESCENT: u32 = 8; +pub const ILLUMINANT_NTSC: u32 = 3; +pub const DI_APPBANDING: u32 = 1; +pub const DI_ROPS_READ_DESTINATION: u32 = 2; +pub const FONTMAPPER_MAX: u32 = 10; +pub const ICM_OFF: u32 = 1; +pub const ICM_ON: u32 = 2; +pub const ICM_QUERY: u32 = 3; +pub const ICM_DONE_OUTSIDEDC: u32 = 4; +pub const ENHMETA_SIGNATURE: u32 = 1179469088; +pub const ENHMETA_STOCK_OBJECT: u32 = 2147483648; +pub const EMR_HEADER: u32 = 1; +pub const EMR_POLYBEZIER: u32 = 2; +pub const EMR_POLYGON: u32 = 3; +pub const EMR_POLYLINE: u32 = 4; +pub const EMR_POLYBEZIERTO: u32 = 5; +pub const EMR_POLYLINETO: u32 = 6; +pub const EMR_POLYPOLYLINE: u32 = 7; +pub const EMR_POLYPOLYGON: u32 = 8; +pub const EMR_SETWINDOWEXTEX: u32 = 9; +pub const EMR_SETWINDOWORGEX: u32 = 10; +pub const EMR_SETVIEWPORTEXTEX: u32 = 11; +pub const EMR_SETVIEWPORTORGEX: u32 = 12; +pub const EMR_SETBRUSHORGEX: u32 = 13; +pub const EMR_EOF: u32 = 14; +pub const EMR_SETPIXELV: u32 = 15; +pub const EMR_SETMAPPERFLAGS: u32 = 16; +pub const EMR_SETMAPMODE: u32 = 17; +pub const EMR_SETBKMODE: u32 = 18; +pub const EMR_SETPOLYFILLMODE: u32 = 19; +pub const EMR_SETROP2: u32 = 20; +pub const EMR_SETSTRETCHBLTMODE: u32 = 21; +pub const EMR_SETTEXTALIGN: u32 = 22; +pub const EMR_SETCOLORADJUSTMENT: u32 = 23; +pub const EMR_SETTEXTCOLOR: u32 = 24; +pub const EMR_SETBKCOLOR: u32 = 25; +pub const EMR_OFFSETCLIPRGN: u32 = 26; +pub const EMR_MOVETOEX: u32 = 27; +pub const EMR_SETMETARGN: u32 = 28; +pub const EMR_EXCLUDECLIPRECT: u32 = 29; +pub const EMR_INTERSECTCLIPRECT: u32 = 30; +pub const EMR_SCALEVIEWPORTEXTEX: u32 = 31; +pub const EMR_SCALEWINDOWEXTEX: u32 = 32; +pub const EMR_SAVEDC: u32 = 33; +pub const EMR_RESTOREDC: u32 = 34; +pub const EMR_SETWORLDTRANSFORM: u32 = 35; +pub const EMR_MODIFYWORLDTRANSFORM: u32 = 36; +pub const EMR_SELECTOBJECT: u32 = 37; +pub const EMR_CREATEPEN: u32 = 38; +pub const EMR_CREATEBRUSHINDIRECT: u32 = 39; +pub const EMR_DELETEOBJECT: u32 = 40; +pub const EMR_ANGLEARC: u32 = 41; +pub const EMR_ELLIPSE: u32 = 42; +pub const EMR_RECTANGLE: u32 = 43; +pub const EMR_ROUNDRECT: u32 = 44; +pub const EMR_ARC: u32 = 45; +pub const EMR_CHORD: u32 = 46; +pub const EMR_PIE: u32 = 47; +pub const EMR_SELECTPALETTE: u32 = 48; +pub const EMR_CREATEPALETTE: u32 = 49; +pub const EMR_SETPALETTEENTRIES: u32 = 50; +pub const EMR_RESIZEPALETTE: u32 = 51; +pub const EMR_REALIZEPALETTE: u32 = 52; +pub const EMR_EXTFLOODFILL: u32 = 53; +pub const EMR_LINETO: u32 = 54; +pub const EMR_ARCTO: u32 = 55; +pub const EMR_POLYDRAW: u32 = 56; +pub const EMR_SETARCDIRECTION: u32 = 57; +pub const EMR_SETMITERLIMIT: u32 = 58; +pub const EMR_BEGINPATH: u32 = 59; +pub const EMR_ENDPATH: u32 = 60; +pub const EMR_CLOSEFIGURE: u32 = 61; +pub const EMR_FILLPATH: u32 = 62; +pub const EMR_STROKEANDFILLPATH: u32 = 63; +pub const EMR_STROKEPATH: u32 = 64; +pub const EMR_FLATTENPATH: u32 = 65; +pub const EMR_WIDENPATH: u32 = 66; +pub const EMR_SELECTCLIPPATH: u32 = 67; +pub const EMR_ABORTPATH: u32 = 68; +pub const EMR_GDICOMMENT: u32 = 70; +pub const EMR_FILLRGN: u32 = 71; +pub const EMR_FRAMERGN: u32 = 72; +pub const EMR_INVERTRGN: u32 = 73; +pub const EMR_PAINTRGN: u32 = 74; +pub const EMR_EXTSELECTCLIPRGN: u32 = 75; +pub const EMR_BITBLT: u32 = 76; +pub const EMR_STRETCHBLT: u32 = 77; +pub const EMR_MASKBLT: u32 = 78; +pub const EMR_PLGBLT: u32 = 79; +pub const EMR_SETDIBITSTODEVICE: u32 = 80; +pub const EMR_STRETCHDIBITS: u32 = 81; +pub const EMR_EXTCREATEFONTINDIRECTW: u32 = 82; +pub const EMR_EXTTEXTOUTA: u32 = 83; +pub const EMR_EXTTEXTOUTW: u32 = 84; +pub const EMR_POLYBEZIER16: u32 = 85; +pub const EMR_POLYGON16: u32 = 86; +pub const EMR_POLYLINE16: u32 = 87; +pub const EMR_POLYBEZIERTO16: u32 = 88; +pub const EMR_POLYLINETO16: u32 = 89; +pub const EMR_POLYPOLYLINE16: u32 = 90; +pub const EMR_POLYPOLYGON16: u32 = 91; +pub const EMR_POLYDRAW16: u32 = 92; +pub const EMR_CREATEMONOBRUSH: u32 = 93; +pub const EMR_CREATEDIBPATTERNBRUSHPT: u32 = 94; +pub const EMR_EXTCREATEPEN: u32 = 95; +pub const EMR_POLYTEXTOUTA: u32 = 96; +pub const EMR_POLYTEXTOUTW: u32 = 97; +pub const EMR_SETICMMODE: u32 = 98; +pub const EMR_CREATECOLORSPACE: u32 = 99; +pub const EMR_SETCOLORSPACE: u32 = 100; +pub const EMR_DELETECOLORSPACE: u32 = 101; +pub const EMR_GLSRECORD: u32 = 102; +pub const EMR_GLSBOUNDEDRECORD: u32 = 103; +pub const EMR_PIXELFORMAT: u32 = 104; +pub const EMR_RESERVED_105: u32 = 105; +pub const EMR_RESERVED_106: u32 = 106; +pub const EMR_RESERVED_107: u32 = 107; +pub const EMR_RESERVED_108: u32 = 108; +pub const EMR_RESERVED_109: u32 = 109; +pub const EMR_RESERVED_110: u32 = 110; +pub const EMR_COLORCORRECTPALETTE: u32 = 111; +pub const EMR_SETICMPROFILEA: u32 = 112; +pub const EMR_SETICMPROFILEW: u32 = 113; +pub const EMR_ALPHABLEND: u32 = 114; +pub const EMR_SETLAYOUT: u32 = 115; +pub const EMR_TRANSPARENTBLT: u32 = 116; +pub const EMR_RESERVED_117: u32 = 117; +pub const EMR_GRADIENTFILL: u32 = 118; +pub const EMR_RESERVED_119: u32 = 119; +pub const EMR_RESERVED_120: u32 = 120; +pub const EMR_COLORMATCHTOTARGETW: u32 = 121; +pub const EMR_CREATECOLORSPACEW: u32 = 122; +pub const EMR_MIN: u32 = 1; +pub const EMR_MAX: u32 = 122; +pub const SETICMPROFILE_EMBEDED: u32 = 1; +pub const CREATECOLORSPACE_EMBEDED: u32 = 1; +pub const COLORMATCHTOTARGET_EMBEDED: u32 = 1; +pub const GDICOMMENT_IDENTIFIER: u32 = 1128875079; +pub const GDICOMMENT_WINDOWS_METAFILE: u32 = 2147483649; +pub const GDICOMMENT_BEGINGROUP: u32 = 2; +pub const GDICOMMENT_ENDGROUP: u32 = 3; +pub const GDICOMMENT_MULTIFORMATS: u32 = 1073741828; +pub const EPS_SIGNATURE: u32 = 1179865157; +pub const GDICOMMENT_UNICODE_STRING: u32 = 64; +pub const GDICOMMENT_UNICODE_END: u32 = 128; +pub const WGL_FONT_LINES: u32 = 0; +pub const WGL_FONT_POLYGONS: u32 = 1; +pub const LPD_DOUBLEBUFFER: u32 = 1; +pub const LPD_STEREO: u32 = 2; +pub const LPD_SUPPORT_GDI: u32 = 16; +pub const LPD_SUPPORT_OPENGL: u32 = 32; +pub const LPD_SHARE_DEPTH: u32 = 64; +pub const LPD_SHARE_STENCIL: u32 = 128; +pub const LPD_SHARE_ACCUM: u32 = 256; +pub const LPD_SWAP_EXCHANGE: u32 = 512; +pub const LPD_SWAP_COPY: u32 = 1024; +pub const LPD_TRANSPARENT: u32 = 4096; +pub const LPD_TYPE_RGBA: u32 = 0; +pub const LPD_TYPE_COLORINDEX: u32 = 1; +pub const WGL_SWAP_MAIN_PLANE: u32 = 1; +pub const WGL_SWAP_OVERLAY1: u32 = 2; +pub const WGL_SWAP_OVERLAY2: u32 = 4; +pub const WGL_SWAP_OVERLAY3: u32 = 8; +pub const WGL_SWAP_OVERLAY4: u32 = 16; +pub const WGL_SWAP_OVERLAY5: u32 = 32; +pub const WGL_SWAP_OVERLAY6: u32 = 64; +pub const WGL_SWAP_OVERLAY7: u32 = 128; +pub const WGL_SWAP_OVERLAY8: u32 = 256; +pub const WGL_SWAP_OVERLAY9: u32 = 512; +pub const WGL_SWAP_OVERLAY10: u32 = 1024; +pub const WGL_SWAP_OVERLAY11: u32 = 2048; +pub const WGL_SWAP_OVERLAY12: u32 = 4096; +pub const WGL_SWAP_OVERLAY13: u32 = 8192; +pub const WGL_SWAP_OVERLAY14: u32 = 16384; +pub const WGL_SWAP_OVERLAY15: u32 = 32768; +pub const WGL_SWAP_UNDERLAY1: u32 = 65536; +pub const WGL_SWAP_UNDERLAY2: u32 = 131072; +pub const WGL_SWAP_UNDERLAY3: u32 = 262144; +pub const WGL_SWAP_UNDERLAY4: u32 = 524288; +pub const WGL_SWAP_UNDERLAY5: u32 = 1048576; +pub const WGL_SWAP_UNDERLAY6: u32 = 2097152; +pub const WGL_SWAP_UNDERLAY7: u32 = 4194304; +pub const WGL_SWAP_UNDERLAY8: u32 = 8388608; +pub const WGL_SWAP_UNDERLAY9: u32 = 16777216; +pub const WGL_SWAP_UNDERLAY10: u32 = 33554432; +pub const WGL_SWAP_UNDERLAY11: u32 = 67108864; +pub const WGL_SWAP_UNDERLAY12: u32 = 134217728; +pub const WGL_SWAP_UNDERLAY13: u32 = 268435456; +pub const WGL_SWAP_UNDERLAY14: u32 = 536870912; +pub const WGL_SWAP_UNDERLAY15: u32 = 1073741824; +pub const WGL_SWAPMULTIPLE_MAX: u32 = 16; +pub const DIFFERENCE: u32 = 11; +pub const SB_HORZ: u32 = 0; +pub const SB_VERT: u32 = 1; +pub const SB_CTL: u32 = 2; +pub const SB_BOTH: u32 = 3; +pub const SB_LINEUP: u32 = 0; +pub const SB_LINELEFT: u32 = 0; +pub const SB_LINEDOWN: u32 = 1; +pub const SB_LINERIGHT: u32 = 1; +pub const SB_PAGEUP: u32 = 2; +pub const SB_PAGELEFT: u32 = 2; +pub const SB_PAGEDOWN: u32 = 3; +pub const SB_PAGERIGHT: u32 = 3; +pub const SB_THUMBPOSITION: u32 = 4; +pub const SB_THUMBTRACK: u32 = 5; +pub const SB_TOP: u32 = 6; +pub const SB_LEFT: u32 = 6; +pub const SB_BOTTOM: u32 = 7; +pub const SB_RIGHT: u32 = 7; +pub const SB_ENDSCROLL: u32 = 8; +pub const SW_HIDE: u32 = 0; +pub const SW_SHOWNORMAL: u32 = 1; +pub const SW_NORMAL: u32 = 1; +pub const SW_SHOWMINIMIZED: u32 = 2; +pub const SW_SHOWMAXIMIZED: u32 = 3; +pub const SW_MAXIMIZE: u32 = 3; +pub const SW_SHOWNOACTIVATE: u32 = 4; +pub const SW_SHOW: u32 = 5; +pub const SW_MINIMIZE: u32 = 6; +pub const SW_SHOWMINNOACTIVE: u32 = 7; +pub const SW_SHOWNA: u32 = 8; +pub const SW_RESTORE: u32 = 9; +pub const SW_SHOWDEFAULT: u32 = 10; +pub const SW_FORCEMINIMIZE: u32 = 11; +pub const SW_MAX: u32 = 11; +pub const HIDE_WINDOW: u32 = 0; +pub const SHOW_OPENWINDOW: u32 = 1; +pub const SHOW_ICONWINDOW: u32 = 2; +pub const SHOW_FULLSCREEN: u32 = 3; +pub const SHOW_OPENNOACTIVATE: u32 = 4; +pub const SW_PARENTCLOSING: u32 = 1; +pub const SW_OTHERZOOM: u32 = 2; +pub const SW_PARENTOPENING: u32 = 3; +pub const SW_OTHERUNZOOM: u32 = 4; +pub const AW_HOR_POSITIVE: u32 = 1; +pub const AW_HOR_NEGATIVE: u32 = 2; +pub const AW_VER_POSITIVE: u32 = 4; +pub const AW_VER_NEGATIVE: u32 = 8; +pub const AW_CENTER: u32 = 16; +pub const AW_HIDE: u32 = 65536; +pub const AW_ACTIVATE: u32 = 131072; +pub const AW_SLIDE: u32 = 262144; +pub const AW_BLEND: u32 = 524288; +pub const KF_EXTENDED: u32 = 256; +pub const KF_DLGMODE: u32 = 2048; +pub const KF_MENUMODE: u32 = 4096; +pub const KF_ALTDOWN: u32 = 8192; +pub const KF_REPEAT: u32 = 16384; +pub const KF_UP: u32 = 32768; +pub const VK_LBUTTON: u32 = 1; +pub const VK_RBUTTON: u32 = 2; +pub const VK_CANCEL: u32 = 3; +pub const VK_MBUTTON: u32 = 4; +pub const VK_XBUTTON1: u32 = 5; +pub const VK_XBUTTON2: u32 = 6; +pub const VK_BACK: u32 = 8; +pub const VK_TAB: u32 = 9; +pub const VK_CLEAR: u32 = 12; +pub const VK_RETURN: u32 = 13; +pub const VK_SHIFT: u32 = 16; +pub const VK_CONTROL: u32 = 17; +pub const VK_MENU: u32 = 18; +pub const VK_PAUSE: u32 = 19; +pub const VK_CAPITAL: u32 = 20; +pub const VK_KANA: u32 = 21; +pub const VK_HANGEUL: u32 = 21; +pub const VK_HANGUL: u32 = 21; +pub const VK_IME_ON: u32 = 22; +pub const VK_JUNJA: u32 = 23; +pub const VK_FINAL: u32 = 24; +pub const VK_HANJA: u32 = 25; +pub const VK_KANJI: u32 = 25; +pub const VK_IME_OFF: u32 = 26; +pub const VK_ESCAPE: u32 = 27; +pub const VK_CONVERT: u32 = 28; +pub const VK_NONCONVERT: u32 = 29; +pub const VK_ACCEPT: u32 = 30; +pub const VK_MODECHANGE: u32 = 31; +pub const VK_SPACE: u32 = 32; +pub const VK_PRIOR: u32 = 33; +pub const VK_NEXT: u32 = 34; +pub const VK_END: u32 = 35; +pub const VK_HOME: u32 = 36; +pub const VK_LEFT: u32 = 37; +pub const VK_UP: u32 = 38; +pub const VK_RIGHT: u32 = 39; +pub const VK_DOWN: u32 = 40; +pub const VK_SELECT: u32 = 41; +pub const VK_PRINT: u32 = 42; +pub const VK_EXECUTE: u32 = 43; +pub const VK_SNAPSHOT: u32 = 44; +pub const VK_INSERT: u32 = 45; +pub const VK_DELETE: u32 = 46; +pub const VK_HELP: u32 = 47; +pub const VK_LWIN: u32 = 91; +pub const VK_RWIN: u32 = 92; +pub const VK_APPS: u32 = 93; +pub const VK_SLEEP: u32 = 95; +pub const VK_NUMPAD0: u32 = 96; +pub const VK_NUMPAD1: u32 = 97; +pub const VK_NUMPAD2: u32 = 98; +pub const VK_NUMPAD3: u32 = 99; +pub const VK_NUMPAD4: u32 = 100; +pub const VK_NUMPAD5: u32 = 101; +pub const VK_NUMPAD6: u32 = 102; +pub const VK_NUMPAD7: u32 = 103; +pub const VK_NUMPAD8: u32 = 104; +pub const VK_NUMPAD9: u32 = 105; +pub const VK_MULTIPLY: u32 = 106; +pub const VK_ADD: u32 = 107; +pub const VK_SEPARATOR: u32 = 108; +pub const VK_SUBTRACT: u32 = 109; +pub const VK_DECIMAL: u32 = 110; +pub const VK_DIVIDE: u32 = 111; +pub const VK_F1: u32 = 112; +pub const VK_F2: u32 = 113; +pub const VK_F3: u32 = 114; +pub const VK_F4: u32 = 115; +pub const VK_F5: u32 = 116; +pub const VK_F6: u32 = 117; +pub const VK_F7: u32 = 118; +pub const VK_F8: u32 = 119; +pub const VK_F9: u32 = 120; +pub const VK_F10: u32 = 121; +pub const VK_F11: u32 = 122; +pub const VK_F12: u32 = 123; +pub const VK_F13: u32 = 124; +pub const VK_F14: u32 = 125; +pub const VK_F15: u32 = 126; +pub const VK_F16: u32 = 127; +pub const VK_F17: u32 = 128; +pub const VK_F18: u32 = 129; +pub const VK_F19: u32 = 130; +pub const VK_F20: u32 = 131; +pub const VK_F21: u32 = 132; +pub const VK_F22: u32 = 133; +pub const VK_F23: u32 = 134; +pub const VK_F24: u32 = 135; +pub const VK_NAVIGATION_VIEW: u32 = 136; +pub const VK_NAVIGATION_MENU: u32 = 137; +pub const VK_NAVIGATION_UP: u32 = 138; +pub const VK_NAVIGATION_DOWN: u32 = 139; +pub const VK_NAVIGATION_LEFT: u32 = 140; +pub const VK_NAVIGATION_RIGHT: u32 = 141; +pub const VK_NAVIGATION_ACCEPT: u32 = 142; +pub const VK_NAVIGATION_CANCEL: u32 = 143; +pub const VK_NUMLOCK: u32 = 144; +pub const VK_SCROLL: u32 = 145; +pub const VK_OEM_NEC_EQUAL: u32 = 146; +pub const VK_OEM_FJ_JISHO: u32 = 146; +pub const VK_OEM_FJ_MASSHOU: u32 = 147; +pub const VK_OEM_FJ_TOUROKU: u32 = 148; +pub const VK_OEM_FJ_LOYA: u32 = 149; +pub const VK_OEM_FJ_ROYA: u32 = 150; +pub const VK_LSHIFT: u32 = 160; +pub const VK_RSHIFT: u32 = 161; +pub const VK_LCONTROL: u32 = 162; +pub const VK_RCONTROL: u32 = 163; +pub const VK_LMENU: u32 = 164; +pub const VK_RMENU: u32 = 165; +pub const VK_BROWSER_BACK: u32 = 166; +pub const VK_BROWSER_FORWARD: u32 = 167; +pub const VK_BROWSER_REFRESH: u32 = 168; +pub const VK_BROWSER_STOP: u32 = 169; +pub const VK_BROWSER_SEARCH: u32 = 170; +pub const VK_BROWSER_FAVORITES: u32 = 171; +pub const VK_BROWSER_HOME: u32 = 172; +pub const VK_VOLUME_MUTE: u32 = 173; +pub const VK_VOLUME_DOWN: u32 = 174; +pub const VK_VOLUME_UP: u32 = 175; +pub const VK_MEDIA_NEXT_TRACK: u32 = 176; +pub const VK_MEDIA_PREV_TRACK: u32 = 177; +pub const VK_MEDIA_STOP: u32 = 178; +pub const VK_MEDIA_PLAY_PAUSE: u32 = 179; +pub const VK_LAUNCH_MAIL: u32 = 180; +pub const VK_LAUNCH_MEDIA_SELECT: u32 = 181; +pub const VK_LAUNCH_APP1: u32 = 182; +pub const VK_LAUNCH_APP2: u32 = 183; +pub const VK_OEM_1: u32 = 186; +pub const VK_OEM_PLUS: u32 = 187; +pub const VK_OEM_COMMA: u32 = 188; +pub const VK_OEM_MINUS: u32 = 189; +pub const VK_OEM_PERIOD: u32 = 190; +pub const VK_OEM_2: u32 = 191; +pub const VK_OEM_3: u32 = 192; +pub const VK_GAMEPAD_A: u32 = 195; +pub const VK_GAMEPAD_B: u32 = 196; +pub const VK_GAMEPAD_X: u32 = 197; +pub const VK_GAMEPAD_Y: u32 = 198; +pub const VK_GAMEPAD_RIGHT_SHOULDER: u32 = 199; +pub const VK_GAMEPAD_LEFT_SHOULDER: u32 = 200; +pub const VK_GAMEPAD_LEFT_TRIGGER: u32 = 201; +pub const VK_GAMEPAD_RIGHT_TRIGGER: u32 = 202; +pub const VK_GAMEPAD_DPAD_UP: u32 = 203; +pub const VK_GAMEPAD_DPAD_DOWN: u32 = 204; +pub const VK_GAMEPAD_DPAD_LEFT: u32 = 205; +pub const VK_GAMEPAD_DPAD_RIGHT: u32 = 206; +pub const VK_GAMEPAD_MENU: u32 = 207; +pub const VK_GAMEPAD_VIEW: u32 = 208; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: u32 = 209; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: u32 = 210; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: u32 = 211; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: u32 = 212; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: u32 = 213; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: u32 = 214; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: u32 = 215; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: u32 = 216; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: u32 = 217; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: u32 = 218; +pub const VK_OEM_4: u32 = 219; +pub const VK_OEM_5: u32 = 220; +pub const VK_OEM_6: u32 = 221; +pub const VK_OEM_7: u32 = 222; +pub const VK_OEM_8: u32 = 223; +pub const VK_OEM_AX: u32 = 225; +pub const VK_OEM_102: u32 = 226; +pub const VK_ICO_HELP: u32 = 227; +pub const VK_ICO_00: u32 = 228; +pub const VK_PROCESSKEY: u32 = 229; +pub const VK_ICO_CLEAR: u32 = 230; +pub const VK_PACKET: u32 = 231; +pub const VK_OEM_RESET: u32 = 233; +pub const VK_OEM_JUMP: u32 = 234; +pub const VK_OEM_PA1: u32 = 235; +pub const VK_OEM_PA2: u32 = 236; +pub const VK_OEM_PA3: u32 = 237; +pub const VK_OEM_WSCTRL: u32 = 238; +pub const VK_OEM_CUSEL: u32 = 239; +pub const VK_OEM_ATTN: u32 = 240; +pub const VK_OEM_FINISH: u32 = 241; +pub const VK_OEM_COPY: u32 = 242; +pub const VK_OEM_AUTO: u32 = 243; +pub const VK_OEM_ENLW: u32 = 244; +pub const VK_OEM_BACKTAB: u32 = 245; +pub const VK_ATTN: u32 = 246; +pub const VK_CRSEL: u32 = 247; +pub const VK_EXSEL: u32 = 248; +pub const VK_EREOF: u32 = 249; +pub const VK_PLAY: u32 = 250; +pub const VK_ZOOM: u32 = 251; +pub const VK_NONAME: u32 = 252; +pub const VK_PA1: u32 = 253; +pub const VK_OEM_CLEAR: u32 = 254; +pub const WH_MIN: i32 = -1; +pub const WH_MSGFILTER: i32 = -1; +pub const WH_JOURNALRECORD: u32 = 0; +pub const WH_JOURNALPLAYBACK: u32 = 1; +pub const WH_KEYBOARD: u32 = 2; +pub const WH_GETMESSAGE: u32 = 3; +pub const WH_CALLWNDPROC: u32 = 4; +pub const WH_CBT: u32 = 5; +pub const WH_SYSMSGFILTER: u32 = 6; +pub const WH_MOUSE: u32 = 7; +pub const WH_DEBUG: u32 = 9; +pub const WH_SHELL: u32 = 10; +pub const WH_FOREGROUNDIDLE: u32 = 11; +pub const WH_CALLWNDPROCRET: u32 = 12; +pub const WH_KEYBOARD_LL: u32 = 13; +pub const WH_MOUSE_LL: u32 = 14; +pub const WH_MAX: u32 = 14; +pub const WH_MINHOOK: i32 = -1; +pub const WH_MAXHOOK: u32 = 14; +pub const HC_ACTION: u32 = 0; +pub const HC_GETNEXT: u32 = 1; +pub const HC_SKIP: u32 = 2; +pub const HC_NOREMOVE: u32 = 3; +pub const HC_NOREM: u32 = 3; +pub const HC_SYSMODALON: u32 = 4; +pub const HC_SYSMODALOFF: u32 = 5; +pub const HCBT_MOVESIZE: u32 = 0; +pub const HCBT_MINMAX: u32 = 1; +pub const HCBT_QS: u32 = 2; +pub const HCBT_CREATEWND: u32 = 3; +pub const HCBT_DESTROYWND: u32 = 4; +pub const HCBT_ACTIVATE: u32 = 5; +pub const HCBT_CLICKSKIPPED: u32 = 6; +pub const HCBT_KEYSKIPPED: u32 = 7; +pub const HCBT_SYSCOMMAND: u32 = 8; +pub const HCBT_SETFOCUS: u32 = 9; +pub const WTS_CONSOLE_CONNECT: u32 = 1; +pub const WTS_CONSOLE_DISCONNECT: u32 = 2; +pub const WTS_REMOTE_CONNECT: u32 = 3; +pub const WTS_REMOTE_DISCONNECT: u32 = 4; +pub const WTS_SESSION_LOGON: u32 = 5; +pub const WTS_SESSION_LOGOFF: u32 = 6; +pub const WTS_SESSION_LOCK: u32 = 7; +pub const WTS_SESSION_UNLOCK: u32 = 8; +pub const WTS_SESSION_REMOTE_CONTROL: u32 = 9; +pub const WTS_SESSION_CREATE: u32 = 10; +pub const WTS_SESSION_TERMINATE: u32 = 11; +pub const MSGF_DIALOGBOX: u32 = 0; +pub const MSGF_MESSAGEBOX: u32 = 1; +pub const MSGF_MENU: u32 = 2; +pub const MSGF_SCROLLBAR: u32 = 5; +pub const MSGF_NEXTWINDOW: u32 = 6; +pub const MSGF_MAX: u32 = 8; +pub const MSGF_USER: u32 = 4096; +pub const HSHELL_WINDOWCREATED: u32 = 1; +pub const HSHELL_WINDOWDESTROYED: u32 = 2; +pub const HSHELL_ACTIVATESHELLWINDOW: u32 = 3; +pub const HSHELL_WINDOWACTIVATED: u32 = 4; +pub const HSHELL_GETMINRECT: u32 = 5; +pub const HSHELL_REDRAW: u32 = 6; +pub const HSHELL_TASKMAN: u32 = 7; +pub const HSHELL_LANGUAGE: u32 = 8; +pub const HSHELL_SYSMENU: u32 = 9; +pub const HSHELL_ENDTASK: u32 = 10; +pub const HSHELL_ACCESSIBILITYSTATE: u32 = 11; +pub const HSHELL_APPCOMMAND: u32 = 12; +pub const HSHELL_WINDOWREPLACED: u32 = 13; +pub const HSHELL_WINDOWREPLACING: u32 = 14; +pub const HSHELL_MONITORCHANGED: u32 = 16; +pub const HSHELL_HIGHBIT: u32 = 32768; +pub const HSHELL_FLASH: u32 = 32774; +pub const HSHELL_RUDEAPPACTIVATED: u32 = 32772; +pub const APPCOMMAND_BROWSER_BACKWARD: u32 = 1; +pub const APPCOMMAND_BROWSER_FORWARD: u32 = 2; +pub const APPCOMMAND_BROWSER_REFRESH: u32 = 3; +pub const APPCOMMAND_BROWSER_STOP: u32 = 4; +pub const APPCOMMAND_BROWSER_SEARCH: u32 = 5; +pub const APPCOMMAND_BROWSER_FAVORITES: u32 = 6; +pub const APPCOMMAND_BROWSER_HOME: u32 = 7; +pub const APPCOMMAND_VOLUME_MUTE: u32 = 8; +pub const APPCOMMAND_VOLUME_DOWN: u32 = 9; +pub const APPCOMMAND_VOLUME_UP: u32 = 10; +pub const APPCOMMAND_MEDIA_NEXTTRACK: u32 = 11; +pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: u32 = 12; +pub const APPCOMMAND_MEDIA_STOP: u32 = 13; +pub const APPCOMMAND_MEDIA_PLAY_PAUSE: u32 = 14; +pub const APPCOMMAND_LAUNCH_MAIL: u32 = 15; +pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: u32 = 16; +pub const APPCOMMAND_LAUNCH_APP1: u32 = 17; +pub const APPCOMMAND_LAUNCH_APP2: u32 = 18; +pub const APPCOMMAND_BASS_DOWN: u32 = 19; +pub const APPCOMMAND_BASS_BOOST: u32 = 20; +pub const APPCOMMAND_BASS_UP: u32 = 21; +pub const APPCOMMAND_TREBLE_DOWN: u32 = 22; +pub const APPCOMMAND_TREBLE_UP: u32 = 23; +pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: u32 = 24; +pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: u32 = 25; +pub const APPCOMMAND_MICROPHONE_VOLUME_UP: u32 = 26; +pub const APPCOMMAND_HELP: u32 = 27; +pub const APPCOMMAND_FIND: u32 = 28; +pub const APPCOMMAND_NEW: u32 = 29; +pub const APPCOMMAND_OPEN: u32 = 30; +pub const APPCOMMAND_CLOSE: u32 = 31; +pub const APPCOMMAND_SAVE: u32 = 32; +pub const APPCOMMAND_PRINT: u32 = 33; +pub const APPCOMMAND_UNDO: u32 = 34; +pub const APPCOMMAND_REDO: u32 = 35; +pub const APPCOMMAND_COPY: u32 = 36; +pub const APPCOMMAND_CUT: u32 = 37; +pub const APPCOMMAND_PASTE: u32 = 38; +pub const APPCOMMAND_REPLY_TO_MAIL: u32 = 39; +pub const APPCOMMAND_FORWARD_MAIL: u32 = 40; +pub const APPCOMMAND_SEND_MAIL: u32 = 41; +pub const APPCOMMAND_SPELL_CHECK: u32 = 42; +pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: u32 = 43; +pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: u32 = 44; +pub const APPCOMMAND_CORRECTION_LIST: u32 = 45; +pub const APPCOMMAND_MEDIA_PLAY: u32 = 46; +pub const APPCOMMAND_MEDIA_PAUSE: u32 = 47; +pub const APPCOMMAND_MEDIA_RECORD: u32 = 48; +pub const APPCOMMAND_MEDIA_FAST_FORWARD: u32 = 49; +pub const APPCOMMAND_MEDIA_REWIND: u32 = 50; +pub const APPCOMMAND_MEDIA_CHANNEL_UP: u32 = 51; +pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: u32 = 52; +pub const APPCOMMAND_DELETE: u32 = 53; +pub const APPCOMMAND_DWM_FLIP3D: u32 = 54; +pub const FAPPCOMMAND_MOUSE: u32 = 32768; +pub const FAPPCOMMAND_KEY: u32 = 0; +pub const FAPPCOMMAND_OEM: u32 = 4096; +pub const FAPPCOMMAND_MASK: u32 = 61440; +pub const LLKHF_EXTENDED: u32 = 1; +pub const LLKHF_INJECTED: u32 = 16; +pub const LLKHF_ALTDOWN: u32 = 32; +pub const LLKHF_UP: u32 = 128; +pub const LLKHF_LOWER_IL_INJECTED: u32 = 2; +pub const LLMHF_INJECTED: u32 = 1; +pub const LLMHF_LOWER_IL_INJECTED: u32 = 2; +pub const HKL_PREV: u32 = 0; +pub const HKL_NEXT: u32 = 1; +pub const KLF_ACTIVATE: u32 = 1; +pub const KLF_SUBSTITUTE_OK: u32 = 2; +pub const KLF_REORDER: u32 = 8; +pub const KLF_REPLACELANG: u32 = 16; +pub const KLF_NOTELLSHELL: u32 = 128; +pub const KLF_SETFORPROCESS: u32 = 256; +pub const KLF_SHIFTLOCK: u32 = 65536; +pub const KLF_RESET: u32 = 1073741824; +pub const INPUTLANGCHANGE_SYSCHARSET: u32 = 1; +pub const INPUTLANGCHANGE_FORWARD: u32 = 2; +pub const INPUTLANGCHANGE_BACKWARD: u32 = 4; +pub const KL_NAMELENGTH: u32 = 9; +pub const GMMP_USE_DISPLAY_POINTS: u32 = 1; +pub const GMMP_USE_HIGH_RESOLUTION_POINTS: u32 = 2; +pub const DESKTOP_READOBJECTS: u32 = 1; +pub const DESKTOP_CREATEWINDOW: u32 = 2; +pub const DESKTOP_CREATEMENU: u32 = 4; +pub const DESKTOP_HOOKCONTROL: u32 = 8; +pub const DESKTOP_JOURNALRECORD: u32 = 16; +pub const DESKTOP_JOURNALPLAYBACK: u32 = 32; +pub const DESKTOP_ENUMERATE: u32 = 64; +pub const DESKTOP_WRITEOBJECTS: u32 = 128; +pub const DESKTOP_SWITCHDESKTOP: u32 = 256; +pub const DF_ALLOWOTHERACCOUNTHOOK: u32 = 1; +pub const WINSTA_ENUMDESKTOPS: u32 = 1; +pub const WINSTA_READATTRIBUTES: u32 = 2; +pub const WINSTA_ACCESSCLIPBOARD: u32 = 4; +pub const WINSTA_CREATEDESKTOP: u32 = 8; +pub const WINSTA_WRITEATTRIBUTES: u32 = 16; +pub const WINSTA_ACCESSGLOBALATOMS: u32 = 32; +pub const WINSTA_EXITWINDOWS: u32 = 64; +pub const WINSTA_ENUMERATE: u32 = 256; +pub const WINSTA_READSCREEN: u32 = 512; +pub const WINSTA_ALL_ACCESS: u32 = 895; +pub const CWF_CREATE_ONLY: u32 = 1; +pub const WSF_VISIBLE: u32 = 1; +pub const UOI_FLAGS: u32 = 1; +pub const UOI_NAME: u32 = 2; +pub const UOI_TYPE: u32 = 3; +pub const UOI_USER_SID: u32 = 4; +pub const UOI_HEAPSIZE: u32 = 5; +pub const UOI_IO: u32 = 6; +pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION: u32 = 7; +pub const GWL_WNDPROC: i32 = -4; +pub const GWL_HINSTANCE: i32 = -6; +pub const GWL_HWNDPARENT: i32 = -8; +pub const GWL_STYLE: i32 = -16; +pub const GWL_EXSTYLE: i32 = -20; +pub const GWL_USERDATA: i32 = -21; +pub const GWL_ID: i32 = -12; +pub const GWLP_WNDPROC: i32 = -4; +pub const GWLP_HINSTANCE: i32 = -6; +pub const GWLP_HWNDPARENT: i32 = -8; +pub const GWLP_USERDATA: i32 = -21; +pub const GWLP_ID: i32 = -12; +pub const GCL_MENUNAME: i32 = -8; +pub const GCL_HBRBACKGROUND: i32 = -10; +pub const GCL_HCURSOR: i32 = -12; +pub const GCL_HICON: i32 = -14; +pub const GCL_HMODULE: i32 = -16; +pub const GCL_CBWNDEXTRA: i32 = -18; +pub const GCL_CBCLSEXTRA: i32 = -20; +pub const GCL_WNDPROC: i32 = -24; +pub const GCL_STYLE: i32 = -26; +pub const GCW_ATOM: i32 = -32; +pub const GCL_HICONSM: i32 = -34; +pub const GCLP_MENUNAME: i32 = -8; +pub const GCLP_HBRBACKGROUND: i32 = -10; +pub const GCLP_HCURSOR: i32 = -12; +pub const GCLP_HICON: i32 = -14; +pub const GCLP_HMODULE: i32 = -16; +pub const GCLP_WNDPROC: i32 = -24; +pub const GCLP_HICONSM: i32 = -34; +pub const WM_NULL: u32 = 0; +pub const WM_CREATE: u32 = 1; +pub const WM_DESTROY: u32 = 2; +pub const WM_MOVE: u32 = 3; +pub const WM_SIZE: u32 = 5; +pub const WM_ACTIVATE: u32 = 6; +pub const WA_INACTIVE: u32 = 0; +pub const WA_ACTIVE: u32 = 1; +pub const WA_CLICKACTIVE: u32 = 2; +pub const WM_SETFOCUS: u32 = 7; +pub const WM_KILLFOCUS: u32 = 8; +pub const WM_ENABLE: u32 = 10; +pub const WM_SETREDRAW: u32 = 11; +pub const WM_SETTEXT: u32 = 12; +pub const WM_GETTEXT: u32 = 13; +pub const WM_GETTEXTLENGTH: u32 = 14; +pub const WM_PAINT: u32 = 15; +pub const WM_CLOSE: u32 = 16; +pub const WM_QUERYENDSESSION: u32 = 17; +pub const WM_QUERYOPEN: u32 = 19; +pub const WM_ENDSESSION: u32 = 22; +pub const WM_QUIT: u32 = 18; +pub const WM_ERASEBKGND: u32 = 20; +pub const WM_SYSCOLORCHANGE: u32 = 21; +pub const WM_SHOWWINDOW: u32 = 24; +pub const WM_WININICHANGE: u32 = 26; +pub const WM_SETTINGCHANGE: u32 = 26; +pub const WM_DEVMODECHANGE: u32 = 27; +pub const WM_ACTIVATEAPP: u32 = 28; +pub const WM_FONTCHANGE: u32 = 29; +pub const WM_TIMECHANGE: u32 = 30; +pub const WM_CANCELMODE: u32 = 31; +pub const WM_SETCURSOR: u32 = 32; +pub const WM_MOUSEACTIVATE: u32 = 33; +pub const WM_CHILDACTIVATE: u32 = 34; +pub const WM_QUEUESYNC: u32 = 35; +pub const WM_GETMINMAXINFO: u32 = 36; +pub const WM_PAINTICON: u32 = 38; +pub const WM_ICONERASEBKGND: u32 = 39; +pub const WM_NEXTDLGCTL: u32 = 40; +pub const WM_SPOOLERSTATUS: u32 = 42; +pub const WM_DRAWITEM: u32 = 43; +pub const WM_MEASUREITEM: u32 = 44; +pub const WM_DELETEITEM: u32 = 45; +pub const WM_VKEYTOITEM: u32 = 46; +pub const WM_CHARTOITEM: u32 = 47; +pub const WM_SETFONT: u32 = 48; +pub const WM_GETFONT: u32 = 49; +pub const WM_SETHOTKEY: u32 = 50; +pub const WM_GETHOTKEY: u32 = 51; +pub const WM_QUERYDRAGICON: u32 = 55; +pub const WM_COMPAREITEM: u32 = 57; +pub const WM_GETOBJECT: u32 = 61; +pub const WM_COMPACTING: u32 = 65; +pub const WM_COMMNOTIFY: u32 = 68; +pub const WM_WINDOWPOSCHANGING: u32 = 70; +pub const WM_WINDOWPOSCHANGED: u32 = 71; +pub const WM_POWER: u32 = 72; +pub const PWR_OK: u32 = 1; +pub const PWR_FAIL: i32 = -1; +pub const PWR_SUSPENDREQUEST: u32 = 1; +pub const PWR_SUSPENDRESUME: u32 = 2; +pub const PWR_CRITICALRESUME: u32 = 3; +pub const WM_COPYDATA: u32 = 74; +pub const WM_CANCELJOURNAL: u32 = 75; +pub const WM_NOTIFY: u32 = 78; +pub const WM_INPUTLANGCHANGEREQUEST: u32 = 80; +pub const WM_INPUTLANGCHANGE: u32 = 81; +pub const WM_TCARD: u32 = 82; +pub const WM_HELP: u32 = 83; +pub const WM_USERCHANGED: u32 = 84; +pub const WM_NOTIFYFORMAT: u32 = 85; +pub const NFR_ANSI: u32 = 1; +pub const NFR_UNICODE: u32 = 2; +pub const NF_QUERY: u32 = 3; +pub const NF_REQUERY: u32 = 4; +pub const WM_CONTEXTMENU: u32 = 123; +pub const WM_STYLECHANGING: u32 = 124; +pub const WM_STYLECHANGED: u32 = 125; +pub const WM_DISPLAYCHANGE: u32 = 126; +pub const WM_GETICON: u32 = 127; +pub const WM_SETICON: u32 = 128; +pub const WM_NCCREATE: u32 = 129; +pub const WM_NCDESTROY: u32 = 130; +pub const WM_NCCALCSIZE: u32 = 131; +pub const WM_NCHITTEST: u32 = 132; +pub const WM_NCPAINT: u32 = 133; +pub const WM_NCACTIVATE: u32 = 134; +pub const WM_GETDLGCODE: u32 = 135; +pub const WM_SYNCPAINT: u32 = 136; +pub const WM_NCMOUSEMOVE: u32 = 160; +pub const WM_NCLBUTTONDOWN: u32 = 161; +pub const WM_NCLBUTTONUP: u32 = 162; +pub const WM_NCLBUTTONDBLCLK: u32 = 163; +pub const WM_NCRBUTTONDOWN: u32 = 164; +pub const WM_NCRBUTTONUP: u32 = 165; +pub const WM_NCRBUTTONDBLCLK: u32 = 166; +pub const WM_NCMBUTTONDOWN: u32 = 167; +pub const WM_NCMBUTTONUP: u32 = 168; +pub const WM_NCMBUTTONDBLCLK: u32 = 169; +pub const WM_NCXBUTTONDOWN: u32 = 171; +pub const WM_NCXBUTTONUP: u32 = 172; +pub const WM_NCXBUTTONDBLCLK: u32 = 173; +pub const WM_INPUT_DEVICE_CHANGE: u32 = 254; +pub const WM_INPUT: u32 = 255; +pub const WM_KEYFIRST: u32 = 256; +pub const WM_KEYDOWN: u32 = 256; +pub const WM_KEYUP: u32 = 257; +pub const WM_CHAR: u32 = 258; +pub const WM_DEADCHAR: u32 = 259; +pub const WM_SYSKEYDOWN: u32 = 260; +pub const WM_SYSKEYUP: u32 = 261; +pub const WM_SYSCHAR: u32 = 262; +pub const WM_SYSDEADCHAR: u32 = 263; +pub const WM_UNICHAR: u32 = 265; +pub const WM_KEYLAST: u32 = 265; +pub const UNICODE_NOCHAR: u32 = 65535; +pub const WM_IME_STARTCOMPOSITION: u32 = 269; +pub const WM_IME_ENDCOMPOSITION: u32 = 270; +pub const WM_IME_COMPOSITION: u32 = 271; +pub const WM_IME_KEYLAST: u32 = 271; +pub const WM_INITDIALOG: u32 = 272; +pub const WM_COMMAND: u32 = 273; +pub const WM_SYSCOMMAND: u32 = 274; +pub const WM_TIMER: u32 = 275; +pub const WM_HSCROLL: u32 = 276; +pub const WM_VSCROLL: u32 = 277; +pub const WM_INITMENU: u32 = 278; +pub const WM_INITMENUPOPUP: u32 = 279; +pub const WM_GESTURE: u32 = 281; +pub const WM_GESTURENOTIFY: u32 = 282; +pub const WM_MENUSELECT: u32 = 287; +pub const WM_MENUCHAR: u32 = 288; +pub const WM_ENTERIDLE: u32 = 289; +pub const WM_MENURBUTTONUP: u32 = 290; +pub const WM_MENUDRAG: u32 = 291; +pub const WM_MENUGETOBJECT: u32 = 292; +pub const WM_UNINITMENUPOPUP: u32 = 293; +pub const WM_MENUCOMMAND: u32 = 294; +pub const WM_CHANGEUISTATE: u32 = 295; +pub const WM_UPDATEUISTATE: u32 = 296; +pub const WM_QUERYUISTATE: u32 = 297; +pub const UIS_SET: u32 = 1; +pub const UIS_CLEAR: u32 = 2; +pub const UIS_INITIALIZE: u32 = 3; +pub const UISF_HIDEFOCUS: u32 = 1; +pub const UISF_HIDEACCEL: u32 = 2; +pub const UISF_ACTIVE: u32 = 4; +pub const WM_CTLCOLORMSGBOX: u32 = 306; +pub const WM_CTLCOLOREDIT: u32 = 307; +pub const WM_CTLCOLORLISTBOX: u32 = 308; +pub const WM_CTLCOLORBTN: u32 = 309; +pub const WM_CTLCOLORDLG: u32 = 310; +pub const WM_CTLCOLORSCROLLBAR: u32 = 311; +pub const WM_CTLCOLORSTATIC: u32 = 312; +pub const MN_GETHMENU: u32 = 481; +pub const WM_MOUSEFIRST: u32 = 512; +pub const WM_MOUSEMOVE: u32 = 512; +pub const WM_LBUTTONDOWN: u32 = 513; +pub const WM_LBUTTONUP: u32 = 514; +pub const WM_LBUTTONDBLCLK: u32 = 515; +pub const WM_RBUTTONDOWN: u32 = 516; +pub const WM_RBUTTONUP: u32 = 517; +pub const WM_RBUTTONDBLCLK: u32 = 518; +pub const WM_MBUTTONDOWN: u32 = 519; +pub const WM_MBUTTONUP: u32 = 520; +pub const WM_MBUTTONDBLCLK: u32 = 521; +pub const WM_MOUSEWHEEL: u32 = 522; +pub const WM_XBUTTONDOWN: u32 = 523; +pub const WM_XBUTTONUP: u32 = 524; +pub const WM_XBUTTONDBLCLK: u32 = 525; +pub const WM_MOUSEHWHEEL: u32 = 526; +pub const WM_MOUSELAST: u32 = 526; +pub const WHEEL_DELTA: u32 = 120; +pub const XBUTTON1: u32 = 1; +pub const XBUTTON2: u32 = 2; +pub const WM_PARENTNOTIFY: u32 = 528; +pub const WM_ENTERMENULOOP: u32 = 529; +pub const WM_EXITMENULOOP: u32 = 530; +pub const WM_NEXTMENU: u32 = 531; +pub const WM_SIZING: u32 = 532; +pub const WM_CAPTURECHANGED: u32 = 533; +pub const WM_MOVING: u32 = 534; +pub const WM_POWERBROADCAST: u32 = 536; +pub const PBT_APMQUERYSUSPEND: u32 = 0; +pub const PBT_APMQUERYSTANDBY: u32 = 1; +pub const PBT_APMQUERYSUSPENDFAILED: u32 = 2; +pub const PBT_APMQUERYSTANDBYFAILED: u32 = 3; +pub const PBT_APMSUSPEND: u32 = 4; +pub const PBT_APMSTANDBY: u32 = 5; +pub const PBT_APMRESUMECRITICAL: u32 = 6; +pub const PBT_APMRESUMESUSPEND: u32 = 7; +pub const PBT_APMRESUMESTANDBY: u32 = 8; +pub const PBTF_APMRESUMEFROMFAILURE: u32 = 1; +pub const PBT_APMBATTERYLOW: u32 = 9; +pub const PBT_APMPOWERSTATUSCHANGE: u32 = 10; +pub const PBT_APMOEMEVENT: u32 = 11; +pub const PBT_APMRESUMEAUTOMATIC: u32 = 18; +pub const PBT_POWERSETTINGCHANGE: u32 = 32787; +pub const WM_DEVICECHANGE: u32 = 537; +pub const WM_MDICREATE: u32 = 544; +pub const WM_MDIDESTROY: u32 = 545; +pub const WM_MDIACTIVATE: u32 = 546; +pub const WM_MDIRESTORE: u32 = 547; +pub const WM_MDINEXT: u32 = 548; +pub const WM_MDIMAXIMIZE: u32 = 549; +pub const WM_MDITILE: u32 = 550; +pub const WM_MDICASCADE: u32 = 551; +pub const WM_MDIICONARRANGE: u32 = 552; +pub const WM_MDIGETACTIVE: u32 = 553; +pub const WM_MDISETMENU: u32 = 560; +pub const WM_ENTERSIZEMOVE: u32 = 561; +pub const WM_EXITSIZEMOVE: u32 = 562; +pub const WM_DROPFILES: u32 = 563; +pub const WM_MDIREFRESHMENU: u32 = 564; +pub const WM_POINTERDEVICECHANGE: u32 = 568; +pub const WM_POINTERDEVICEINRANGE: u32 = 569; +pub const WM_POINTERDEVICEOUTOFRANGE: u32 = 570; +pub const WM_TOUCH: u32 = 576; +pub const WM_NCPOINTERUPDATE: u32 = 577; +pub const WM_NCPOINTERDOWN: u32 = 578; +pub const WM_NCPOINTERUP: u32 = 579; +pub const WM_POINTERUPDATE: u32 = 581; +pub const WM_POINTERDOWN: u32 = 582; +pub const WM_POINTERUP: u32 = 583; +pub const WM_POINTERENTER: u32 = 585; +pub const WM_POINTERLEAVE: u32 = 586; +pub const WM_POINTERACTIVATE: u32 = 587; +pub const WM_POINTERCAPTURECHANGED: u32 = 588; +pub const WM_TOUCHHITTESTING: u32 = 589; +pub const WM_POINTERWHEEL: u32 = 590; +pub const WM_POINTERHWHEEL: u32 = 591; +pub const DM_POINTERHITTEST: u32 = 592; +pub const WM_POINTERROUTEDTO: u32 = 593; +pub const WM_POINTERROUTEDAWAY: u32 = 594; +pub const WM_POINTERROUTEDRELEASED: u32 = 595; +pub const WM_IME_SETCONTEXT: u32 = 641; +pub const WM_IME_NOTIFY: u32 = 642; +pub const WM_IME_CONTROL: u32 = 643; +pub const WM_IME_COMPOSITIONFULL: u32 = 644; +pub const WM_IME_SELECT: u32 = 645; +pub const WM_IME_CHAR: u32 = 646; +pub const WM_IME_REQUEST: u32 = 648; +pub const WM_IME_KEYDOWN: u32 = 656; +pub const WM_IME_KEYUP: u32 = 657; +pub const WM_MOUSEHOVER: u32 = 673; +pub const WM_MOUSELEAVE: u32 = 675; +pub const WM_NCMOUSEHOVER: u32 = 672; +pub const WM_NCMOUSELEAVE: u32 = 674; +pub const WM_WTSSESSION_CHANGE: u32 = 689; +pub const WM_TABLET_FIRST: u32 = 704; +pub const WM_TABLET_LAST: u32 = 735; +pub const WM_DPICHANGED: u32 = 736; +pub const WM_DPICHANGED_BEFOREPARENT: u32 = 738; +pub const WM_DPICHANGED_AFTERPARENT: u32 = 739; +pub const WM_GETDPISCALEDSIZE: u32 = 740; +pub const WM_CUT: u32 = 768; +pub const WM_COPY: u32 = 769; +pub const WM_PASTE: u32 = 770; +pub const WM_CLEAR: u32 = 771; +pub const WM_UNDO: u32 = 772; +pub const WM_RENDERFORMAT: u32 = 773; +pub const WM_RENDERALLFORMATS: u32 = 774; +pub const WM_DESTROYCLIPBOARD: u32 = 775; +pub const WM_DRAWCLIPBOARD: u32 = 776; +pub const WM_PAINTCLIPBOARD: u32 = 777; +pub const WM_VSCROLLCLIPBOARD: u32 = 778; +pub const WM_SIZECLIPBOARD: u32 = 779; +pub const WM_ASKCBFORMATNAME: u32 = 780; +pub const WM_CHANGECBCHAIN: u32 = 781; +pub const WM_HSCROLLCLIPBOARD: u32 = 782; +pub const WM_QUERYNEWPALETTE: u32 = 783; +pub const WM_PALETTEISCHANGING: u32 = 784; +pub const WM_PALETTECHANGED: u32 = 785; +pub const WM_HOTKEY: u32 = 786; +pub const WM_PRINT: u32 = 791; +pub const WM_PRINTCLIENT: u32 = 792; +pub const WM_APPCOMMAND: u32 = 793; +pub const WM_THEMECHANGED: u32 = 794; +pub const WM_CLIPBOARDUPDATE: u32 = 797; +pub const WM_DWMCOMPOSITIONCHANGED: u32 = 798; +pub const WM_DWMNCRENDERINGCHANGED: u32 = 799; +pub const WM_DWMCOLORIZATIONCOLORCHANGED: u32 = 800; +pub const WM_DWMWINDOWMAXIMIZEDCHANGE: u32 = 801; +pub const WM_DWMSENDICONICTHUMBNAIL: u32 = 803; +pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: u32 = 806; +pub const WM_GETTITLEBARINFOEX: u32 = 831; +pub const WM_HANDHELDFIRST: u32 = 856; +pub const WM_HANDHELDLAST: u32 = 863; +pub const WM_AFXFIRST: u32 = 864; +pub const WM_AFXLAST: u32 = 895; +pub const WM_PENWINFIRST: u32 = 896; +pub const WM_PENWINLAST: u32 = 911; +pub const WM_APP: u32 = 32768; +pub const WM_USER: u32 = 1024; +pub const WMSZ_LEFT: u32 = 1; +pub const WMSZ_RIGHT: u32 = 2; +pub const WMSZ_TOP: u32 = 3; +pub const WMSZ_TOPLEFT: u32 = 4; +pub const WMSZ_TOPRIGHT: u32 = 5; +pub const WMSZ_BOTTOM: u32 = 6; +pub const WMSZ_BOTTOMLEFT: u32 = 7; +pub const WMSZ_BOTTOMRIGHT: u32 = 8; +pub const HTERROR: i32 = -2; +pub const HTTRANSPARENT: i32 = -1; +pub const HTNOWHERE: u32 = 0; +pub const HTCLIENT: u32 = 1; +pub const HTCAPTION: u32 = 2; +pub const HTSYSMENU: u32 = 3; +pub const HTGROWBOX: u32 = 4; +pub const HTSIZE: u32 = 4; +pub const HTMENU: u32 = 5; +pub const HTHSCROLL: u32 = 6; +pub const HTVSCROLL: u32 = 7; +pub const HTMINBUTTON: u32 = 8; +pub const HTMAXBUTTON: u32 = 9; +pub const HTLEFT: u32 = 10; +pub const HTRIGHT: u32 = 11; +pub const HTTOP: u32 = 12; +pub const HTTOPLEFT: u32 = 13; +pub const HTTOPRIGHT: u32 = 14; +pub const HTBOTTOM: u32 = 15; +pub const HTBOTTOMLEFT: u32 = 16; +pub const HTBOTTOMRIGHT: u32 = 17; +pub const HTBORDER: u32 = 18; +pub const HTREDUCE: u32 = 8; +pub const HTZOOM: u32 = 9; +pub const HTSIZEFIRST: u32 = 10; +pub const HTSIZELAST: u32 = 17; +pub const HTOBJECT: u32 = 19; +pub const HTCLOSE: u32 = 20; +pub const HTHELP: u32 = 21; +pub const SMTO_NORMAL: u32 = 0; +pub const SMTO_BLOCK: u32 = 1; +pub const SMTO_ABORTIFHUNG: u32 = 2; +pub const SMTO_NOTIMEOUTIFNOTHUNG: u32 = 8; +pub const SMTO_ERRORONEXIT: u32 = 32; +pub const MA_ACTIVATE: u32 = 1; +pub const MA_ACTIVATEANDEAT: u32 = 2; +pub const MA_NOACTIVATE: u32 = 3; +pub const MA_NOACTIVATEANDEAT: u32 = 4; +pub const ICON_SMALL: u32 = 0; +pub const ICON_BIG: u32 = 1; +pub const ICON_SMALL2: u32 = 2; +pub const SIZE_RESTORED: u32 = 0; +pub const SIZE_MINIMIZED: u32 = 1; +pub const SIZE_MAXIMIZED: u32 = 2; +pub const SIZE_MAXSHOW: u32 = 3; +pub const SIZE_MAXHIDE: u32 = 4; +pub const SIZENORMAL: u32 = 0; +pub const SIZEICONIC: u32 = 1; +pub const SIZEFULLSCREEN: u32 = 2; +pub const SIZEZOOMSHOW: u32 = 3; +pub const SIZEZOOMHIDE: u32 = 4; +pub const WVR_ALIGNTOP: u32 = 16; +pub const WVR_ALIGNLEFT: u32 = 32; +pub const WVR_ALIGNBOTTOM: u32 = 64; +pub const WVR_ALIGNRIGHT: u32 = 128; +pub const WVR_HREDRAW: u32 = 256; +pub const WVR_VREDRAW: u32 = 512; +pub const WVR_REDRAW: u32 = 768; +pub const WVR_VALIDRECTS: u32 = 1024; +pub const MK_LBUTTON: u32 = 1; +pub const MK_RBUTTON: u32 = 2; +pub const MK_SHIFT: u32 = 4; +pub const MK_CONTROL: u32 = 8; +pub const MK_MBUTTON: u32 = 16; +pub const MK_XBUTTON1: u32 = 32; +pub const MK_XBUTTON2: u32 = 64; +pub const TME_HOVER: u32 = 1; +pub const TME_LEAVE: u32 = 2; +pub const TME_NONCLIENT: u32 = 16; +pub const TME_QUERY: u32 = 1073741824; +pub const TME_CANCEL: u32 = 2147483648; +pub const HOVER_DEFAULT: u32 = 4294967295; +pub const WS_OVERLAPPED: u32 = 0; +pub const WS_POPUP: u32 = 2147483648; +pub const WS_CHILD: u32 = 1073741824; +pub const WS_MINIMIZE: u32 = 536870912; +pub const WS_VISIBLE: u32 = 268435456; +pub const WS_DISABLED: u32 = 134217728; +pub const WS_CLIPSIBLINGS: u32 = 67108864; +pub const WS_CLIPCHILDREN: u32 = 33554432; +pub const WS_MAXIMIZE: u32 = 16777216; +pub const WS_CAPTION: u32 = 12582912; +pub const WS_BORDER: u32 = 8388608; +pub const WS_DLGFRAME: u32 = 4194304; +pub const WS_VSCROLL: u32 = 2097152; +pub const WS_HSCROLL: u32 = 1048576; +pub const WS_SYSMENU: u32 = 524288; +pub const WS_THICKFRAME: u32 = 262144; +pub const WS_GROUP: u32 = 131072; +pub const WS_TABSTOP: u32 = 65536; +pub const WS_MINIMIZEBOX: u32 = 131072; +pub const WS_MAXIMIZEBOX: u32 = 65536; +pub const WS_TILED: u32 = 0; +pub const WS_ICONIC: u32 = 536870912; +pub const WS_SIZEBOX: u32 = 262144; +pub const WS_OVERLAPPEDWINDOW: u32 = 13565952; +pub const WS_POPUPWINDOW: u32 = 2156396544; +pub const WS_CHILDWINDOW: u32 = 1073741824; +pub const WS_EX_DLGMODALFRAME: u32 = 1; +pub const WS_EX_NOPARENTNOTIFY: u32 = 4; +pub const WS_EX_TOPMOST: u32 = 8; +pub const WS_EX_ACCEPTFILES: u32 = 16; +pub const WS_EX_TRANSPARENT: u32 = 32; +pub const WS_EX_MDICHILD: u32 = 64; +pub const WS_EX_TOOLWINDOW: u32 = 128; +pub const WS_EX_WINDOWEDGE: u32 = 256; +pub const WS_EX_CLIENTEDGE: u32 = 512; +pub const WS_EX_CONTEXTHELP: u32 = 1024; +pub const WS_EX_RIGHT: u32 = 4096; +pub const WS_EX_LEFT: u32 = 0; +pub const WS_EX_RTLREADING: u32 = 8192; +pub const WS_EX_LTRREADING: u32 = 0; +pub const WS_EX_LEFTSCROLLBAR: u32 = 16384; +pub const WS_EX_RIGHTSCROLLBAR: u32 = 0; +pub const WS_EX_CONTROLPARENT: u32 = 65536; +pub const WS_EX_STATICEDGE: u32 = 131072; +pub const WS_EX_APPWINDOW: u32 = 262144; +pub const WS_EX_OVERLAPPEDWINDOW: u32 = 768; +pub const WS_EX_PALETTEWINDOW: u32 = 392; +pub const WS_EX_LAYERED: u32 = 524288; +pub const WS_EX_NOINHERITLAYOUT: u32 = 1048576; +pub const WS_EX_NOREDIRECTIONBITMAP: u32 = 2097152; +pub const WS_EX_LAYOUTRTL: u32 = 4194304; +pub const WS_EX_COMPOSITED: u32 = 33554432; +pub const WS_EX_NOACTIVATE: u32 = 134217728; +pub const CS_VREDRAW: u32 = 1; +pub const CS_HREDRAW: u32 = 2; +pub const CS_DBLCLKS: u32 = 8; +pub const CS_OWNDC: u32 = 32; +pub const CS_CLASSDC: u32 = 64; +pub const CS_PARENTDC: u32 = 128; +pub const CS_NOCLOSE: u32 = 512; +pub const CS_SAVEBITS: u32 = 2048; +pub const CS_BYTEALIGNCLIENT: u32 = 4096; +pub const CS_BYTEALIGNWINDOW: u32 = 8192; +pub const CS_GLOBALCLASS: u32 = 16384; +pub const CS_IME: u32 = 65536; +pub const CS_DROPSHADOW: u32 = 131072; +pub const PRF_CHECKVISIBLE: u32 = 1; +pub const PRF_NONCLIENT: u32 = 2; +pub const PRF_CLIENT: u32 = 4; +pub const PRF_ERASEBKGND: u32 = 8; +pub const PRF_CHILDREN: u32 = 16; +pub const PRF_OWNED: u32 = 32; +pub const BDR_RAISEDOUTER: u32 = 1; +pub const BDR_SUNKENOUTER: u32 = 2; +pub const BDR_RAISEDINNER: u32 = 4; +pub const BDR_SUNKENINNER: u32 = 8; +pub const BDR_OUTER: u32 = 3; +pub const BDR_INNER: u32 = 12; +pub const BDR_RAISED: u32 = 5; +pub const BDR_SUNKEN: u32 = 10; +pub const EDGE_RAISED: u32 = 5; +pub const EDGE_SUNKEN: u32 = 10; +pub const EDGE_ETCHED: u32 = 6; +pub const EDGE_BUMP: u32 = 9; +pub const BF_LEFT: u32 = 1; +pub const BF_TOP: u32 = 2; +pub const BF_RIGHT: u32 = 4; +pub const BF_BOTTOM: u32 = 8; +pub const BF_TOPLEFT: u32 = 3; +pub const BF_TOPRIGHT: u32 = 6; +pub const BF_BOTTOMLEFT: u32 = 9; +pub const BF_BOTTOMRIGHT: u32 = 12; +pub const BF_RECT: u32 = 15; +pub const BF_DIAGONAL: u32 = 16; +pub const BF_DIAGONAL_ENDTOPRIGHT: u32 = 22; +pub const BF_DIAGONAL_ENDTOPLEFT: u32 = 19; +pub const BF_DIAGONAL_ENDBOTTOMLEFT: u32 = 25; +pub const BF_DIAGONAL_ENDBOTTOMRIGHT: u32 = 28; +pub const BF_MIDDLE: u32 = 2048; +pub const BF_SOFT: u32 = 4096; +pub const BF_ADJUST: u32 = 8192; +pub const BF_FLAT: u32 = 16384; +pub const BF_MONO: u32 = 32768; +pub const DFC_CAPTION: u32 = 1; +pub const DFC_MENU: u32 = 2; +pub const DFC_SCROLL: u32 = 3; +pub const DFC_BUTTON: u32 = 4; +pub const DFC_POPUPMENU: u32 = 5; +pub const DFCS_CAPTIONCLOSE: u32 = 0; +pub const DFCS_CAPTIONMIN: u32 = 1; +pub const DFCS_CAPTIONMAX: u32 = 2; +pub const DFCS_CAPTIONRESTORE: u32 = 3; +pub const DFCS_CAPTIONHELP: u32 = 4; +pub const DFCS_MENUARROW: u32 = 0; +pub const DFCS_MENUCHECK: u32 = 1; +pub const DFCS_MENUBULLET: u32 = 2; +pub const DFCS_MENUARROWRIGHT: u32 = 4; +pub const DFCS_SCROLLUP: u32 = 0; +pub const DFCS_SCROLLDOWN: u32 = 1; +pub const DFCS_SCROLLLEFT: u32 = 2; +pub const DFCS_SCROLLRIGHT: u32 = 3; +pub const DFCS_SCROLLCOMBOBOX: u32 = 5; +pub const DFCS_SCROLLSIZEGRIP: u32 = 8; +pub const DFCS_SCROLLSIZEGRIPRIGHT: u32 = 16; +pub const DFCS_BUTTONCHECK: u32 = 0; +pub const DFCS_BUTTONRADIOIMAGE: u32 = 1; +pub const DFCS_BUTTONRADIOMASK: u32 = 2; +pub const DFCS_BUTTONRADIO: u32 = 4; +pub const DFCS_BUTTON3STATE: u32 = 8; +pub const DFCS_BUTTONPUSH: u32 = 16; +pub const DFCS_INACTIVE: u32 = 256; +pub const DFCS_PUSHED: u32 = 512; +pub const DFCS_CHECKED: u32 = 1024; +pub const DFCS_TRANSPARENT: u32 = 2048; +pub const DFCS_HOT: u32 = 4096; +pub const DFCS_ADJUSTRECT: u32 = 8192; +pub const DFCS_FLAT: u32 = 16384; +pub const DFCS_MONO: u32 = 32768; +pub const DC_ACTIVE: u32 = 1; +pub const DC_SMALLCAP: u32 = 2; +pub const DC_ICON: u32 = 4; +pub const DC_TEXT: u32 = 8; +pub const DC_INBUTTON: u32 = 16; +pub const DC_GRADIENT: u32 = 32; +pub const DC_BUTTONS: u32 = 4096; +pub const IDANI_OPEN: u32 = 1; +pub const IDANI_CAPTION: u32 = 3; +pub const CF_TEXT: u32 = 1; +pub const CF_BITMAP: u32 = 2; +pub const CF_METAFILEPICT: u32 = 3; +pub const CF_SYLK: u32 = 4; +pub const CF_DIF: u32 = 5; +pub const CF_TIFF: u32 = 6; +pub const CF_OEMTEXT: u32 = 7; +pub const CF_DIB: u32 = 8; +pub const CF_PALETTE: u32 = 9; +pub const CF_PENDATA: u32 = 10; +pub const CF_RIFF: u32 = 11; +pub const CF_WAVE: u32 = 12; +pub const CF_UNICODETEXT: u32 = 13; +pub const CF_ENHMETAFILE: u32 = 14; +pub const CF_HDROP: u32 = 15; +pub const CF_LOCALE: u32 = 16; +pub const CF_DIBV5: u32 = 17; +pub const CF_MAX: u32 = 18; +pub const CF_OWNERDISPLAY: u32 = 128; +pub const CF_DSPTEXT: u32 = 129; +pub const CF_DSPBITMAP: u32 = 130; +pub const CF_DSPMETAFILEPICT: u32 = 131; +pub const CF_DSPENHMETAFILE: u32 = 142; +pub const CF_PRIVATEFIRST: u32 = 512; +pub const CF_PRIVATELAST: u32 = 767; +pub const CF_GDIOBJFIRST: u32 = 768; +pub const CF_GDIOBJLAST: u32 = 1023; +pub const FVIRTKEY: u32 = 1; +pub const FNOINVERT: u32 = 2; +pub const FSHIFT: u32 = 4; +pub const FCONTROL: u32 = 8; +pub const FALT: u32 = 16; +pub const WPF_SETMINPOSITION: u32 = 1; +pub const WPF_RESTORETOMAXIMIZED: u32 = 2; +pub const WPF_ASYNCWINDOWPLACEMENT: u32 = 4; +pub const ODT_MENU: u32 = 1; +pub const ODT_LISTBOX: u32 = 2; +pub const ODT_COMBOBOX: u32 = 3; +pub const ODT_BUTTON: u32 = 4; +pub const ODT_STATIC: u32 = 5; +pub const ODA_DRAWENTIRE: u32 = 1; +pub const ODA_SELECT: u32 = 2; +pub const ODA_FOCUS: u32 = 4; +pub const ODS_SELECTED: u32 = 1; +pub const ODS_GRAYED: u32 = 2; +pub const ODS_DISABLED: u32 = 4; +pub const ODS_CHECKED: u32 = 8; +pub const ODS_FOCUS: u32 = 16; +pub const ODS_DEFAULT: u32 = 32; +pub const ODS_COMBOBOXEDIT: u32 = 4096; +pub const ODS_HOTLIGHT: u32 = 64; +pub const ODS_INACTIVE: u32 = 128; +pub const ODS_NOACCEL: u32 = 256; +pub const ODS_NOFOCUSRECT: u32 = 512; +pub const PM_NOREMOVE: u32 = 0; +pub const PM_REMOVE: u32 = 1; +pub const PM_NOYIELD: u32 = 2; +pub const MOD_ALT: u32 = 1; +pub const MOD_CONTROL: u32 = 2; +pub const MOD_SHIFT: u32 = 4; +pub const MOD_WIN: u32 = 8; +pub const MOD_NOREPEAT: u32 = 16384; +pub const IDHOT_SNAPWINDOW: i32 = -1; +pub const IDHOT_SNAPDESKTOP: i32 = -2; +pub const ENDSESSION_CLOSEAPP: u32 = 1; +pub const ENDSESSION_CRITICAL: u32 = 1073741824; +pub const ENDSESSION_LOGOFF: u32 = 2147483648; +pub const EWX_LOGOFF: u32 = 0; +pub const EWX_SHUTDOWN: u32 = 1; +pub const EWX_REBOOT: u32 = 2; +pub const EWX_FORCE: u32 = 4; +pub const EWX_POWEROFF: u32 = 8; +pub const EWX_FORCEIFHUNG: u32 = 16; +pub const EWX_QUICKRESOLVE: u32 = 32; +pub const EWX_RESTARTAPPS: u32 = 64; +pub const EWX_HYBRID_SHUTDOWN: u32 = 4194304; +pub const EWX_BOOTOPTIONS: u32 = 16777216; +pub const EWX_ARSO: u32 = 67108864; +pub const EWX_CHECK_SAFE_FOR_SERVER: u32 = 134217728; +pub const EWX_SYSTEM_INITIATED: u32 = 268435456; +pub const BSM_ALLCOMPONENTS: u32 = 0; +pub const BSM_VXDS: u32 = 1; +pub const BSM_NETDRIVER: u32 = 2; +pub const BSM_INSTALLABLEDRIVERS: u32 = 4; +pub const BSM_APPLICATIONS: u32 = 8; +pub const BSM_ALLDESKTOPS: u32 = 16; +pub const BSF_QUERY: u32 = 1; +pub const BSF_IGNORECURRENTTASK: u32 = 2; +pub const BSF_FLUSHDISK: u32 = 4; +pub const BSF_NOHANG: u32 = 8; +pub const BSF_POSTMESSAGE: u32 = 16; +pub const BSF_FORCEIFHUNG: u32 = 32; +pub const BSF_NOTIMEOUTIFNOTHUNG: u32 = 64; +pub const BSF_ALLOWSFW: u32 = 128; +pub const BSF_SENDNOTIFYMESSAGE: u32 = 256; +pub const BSF_RETURNHDESK: u32 = 512; +pub const BSF_LUID: u32 = 1024; +pub const BROADCAST_QUERY_DENY: u32 = 1112363332; +pub const DEVICE_NOTIFY_WINDOW_HANDLE: u32 = 0; +pub const DEVICE_NOTIFY_SERVICE_HANDLE: u32 = 1; +pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES: u32 = 4; +pub const ISMEX_NOSEND: u32 = 0; +pub const ISMEX_SEND: u32 = 1; +pub const ISMEX_NOTIFY: u32 = 2; +pub const ISMEX_CALLBACK: u32 = 4; +pub const ISMEX_REPLIED: u32 = 8; +pub const PW_CLIENTONLY: u32 = 1; +pub const PW_RENDERFULLCONTENT: u32 = 2; +pub const LWA_COLORKEY: u32 = 1; +pub const LWA_ALPHA: u32 = 2; +pub const ULW_COLORKEY: u32 = 1; +pub const ULW_ALPHA: u32 = 2; +pub const ULW_OPAQUE: u32 = 4; +pub const ULW_EX_NORESIZE: u32 = 8; +pub const FLASHW_STOP: u32 = 0; +pub const FLASHW_CAPTION: u32 = 1; +pub const FLASHW_TRAY: u32 = 2; +pub const FLASHW_ALL: u32 = 3; +pub const FLASHW_TIMER: u32 = 4; +pub const FLASHW_TIMERNOFG: u32 = 12; +pub const WDA_NONE: u32 = 0; +pub const WDA_MONITOR: u32 = 1; +pub const WDA_EXCLUDEFROMCAPTURE: u32 = 17; +pub const SWP_NOSIZE: u32 = 1; +pub const SWP_NOMOVE: u32 = 2; +pub const SWP_NOZORDER: u32 = 4; +pub const SWP_NOREDRAW: u32 = 8; +pub const SWP_NOACTIVATE: u32 = 16; +pub const SWP_FRAMECHANGED: u32 = 32; +pub const SWP_SHOWWINDOW: u32 = 64; +pub const SWP_HIDEWINDOW: u32 = 128; +pub const SWP_NOCOPYBITS: u32 = 256; +pub const SWP_NOOWNERZORDER: u32 = 512; +pub const SWP_NOSENDCHANGING: u32 = 1024; +pub const SWP_DRAWFRAME: u32 = 32; +pub const SWP_NOREPOSITION: u32 = 512; +pub const SWP_DEFERERASE: u32 = 8192; +pub const SWP_ASYNCWINDOWPOS: u32 = 16384; +pub const DLGWINDOWEXTRA: u32 = 30; +pub const KEYEVENTF_EXTENDEDKEY: u32 = 1; +pub const KEYEVENTF_KEYUP: u32 = 2; +pub const KEYEVENTF_UNICODE: u32 = 4; +pub const KEYEVENTF_SCANCODE: u32 = 8; +pub const MOUSEEVENTF_MOVE: u32 = 1; +pub const MOUSEEVENTF_LEFTDOWN: u32 = 2; +pub const MOUSEEVENTF_LEFTUP: u32 = 4; +pub const MOUSEEVENTF_RIGHTDOWN: u32 = 8; +pub const MOUSEEVENTF_RIGHTUP: u32 = 16; +pub const MOUSEEVENTF_MIDDLEDOWN: u32 = 32; +pub const MOUSEEVENTF_MIDDLEUP: u32 = 64; +pub const MOUSEEVENTF_XDOWN: u32 = 128; +pub const MOUSEEVENTF_XUP: u32 = 256; +pub const MOUSEEVENTF_WHEEL: u32 = 2048; +pub const MOUSEEVENTF_HWHEEL: u32 = 4096; +pub const MOUSEEVENTF_MOVE_NOCOALESCE: u32 = 8192; +pub const MOUSEEVENTF_VIRTUALDESK: u32 = 16384; +pub const MOUSEEVENTF_ABSOLUTE: u32 = 32768; +pub const INPUT_MOUSE: u32 = 0; +pub const INPUT_KEYBOARD: u32 = 1; +pub const INPUT_HARDWARE: u32 = 2; +pub const TOUCHEVENTF_MOVE: u32 = 1; +pub const TOUCHEVENTF_DOWN: u32 = 2; +pub const TOUCHEVENTF_UP: u32 = 4; +pub const TOUCHEVENTF_INRANGE: u32 = 8; +pub const TOUCHEVENTF_PRIMARY: u32 = 16; +pub const TOUCHEVENTF_NOCOALESCE: u32 = 32; +pub const TOUCHEVENTF_PEN: u32 = 64; +pub const TOUCHEVENTF_PALM: u32 = 128; +pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: u32 = 1; +pub const TOUCHINPUTMASKF_EXTRAINFO: u32 = 2; +pub const TOUCHINPUTMASKF_CONTACTAREA: u32 = 4; +pub const TWF_FINETOUCH: u32 = 1; +pub const TWF_WANTPALM: u32 = 2; +pub const POINTER_FLAG_NONE: u32 = 0; +pub const POINTER_FLAG_NEW: u32 = 1; +pub const POINTER_FLAG_INRANGE: u32 = 2; +pub const POINTER_FLAG_INCONTACT: u32 = 4; +pub const POINTER_FLAG_FIRSTBUTTON: u32 = 16; +pub const POINTER_FLAG_SECONDBUTTON: u32 = 32; +pub const POINTER_FLAG_THIRDBUTTON: u32 = 64; +pub const POINTER_FLAG_FOURTHBUTTON: u32 = 128; +pub const POINTER_FLAG_FIFTHBUTTON: u32 = 256; +pub const POINTER_FLAG_PRIMARY: u32 = 8192; +pub const POINTER_FLAG_CONFIDENCE: u32 = 16384; +pub const POINTER_FLAG_CANCELED: u32 = 32768; +pub const POINTER_FLAG_DOWN: u32 = 65536; +pub const POINTER_FLAG_UPDATE: u32 = 131072; +pub const POINTER_FLAG_UP: u32 = 262144; +pub const POINTER_FLAG_WHEEL: u32 = 524288; +pub const POINTER_FLAG_HWHEEL: u32 = 1048576; +pub const POINTER_FLAG_CAPTURECHANGED: u32 = 2097152; +pub const POINTER_FLAG_HASTRANSFORM: u32 = 4194304; +pub const POINTER_MOD_SHIFT: u32 = 4; +pub const POINTER_MOD_CTRL: u32 = 8; +pub const TOUCH_FLAG_NONE: u32 = 0; +pub const TOUCH_MASK_NONE: u32 = 0; +pub const TOUCH_MASK_CONTACTAREA: u32 = 1; +pub const TOUCH_MASK_ORIENTATION: u32 = 2; +pub const TOUCH_MASK_PRESSURE: u32 = 4; +pub const PEN_FLAG_NONE: u32 = 0; +pub const PEN_FLAG_BARREL: u32 = 1; +pub const PEN_FLAG_INVERTED: u32 = 2; +pub const PEN_FLAG_ERASER: u32 = 4; +pub const PEN_MASK_NONE: u32 = 0; +pub const PEN_MASK_PRESSURE: u32 = 1; +pub const PEN_MASK_ROTATION: u32 = 2; +pub const PEN_MASK_TILT_X: u32 = 4; +pub const PEN_MASK_TILT_Y: u32 = 8; +pub const POINTER_MESSAGE_FLAG_NEW: u32 = 1; +pub const POINTER_MESSAGE_FLAG_INRANGE: u32 = 2; +pub const POINTER_MESSAGE_FLAG_INCONTACT: u32 = 4; +pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON: u32 = 16; +pub const POINTER_MESSAGE_FLAG_SECONDBUTTON: u32 = 32; +pub const POINTER_MESSAGE_FLAG_THIRDBUTTON: u32 = 64; +pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON: u32 = 128; +pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON: u32 = 256; +pub const POINTER_MESSAGE_FLAG_PRIMARY: u32 = 8192; +pub const POINTER_MESSAGE_FLAG_CONFIDENCE: u32 = 16384; +pub const POINTER_MESSAGE_FLAG_CANCELED: u32 = 32768; +pub const PA_ACTIVATE: u32 = 1; +pub const PA_NOACTIVATE: u32 = 3; +pub const MAX_TOUCH_COUNT: u32 = 256; +pub const TOUCH_FEEDBACK_DEFAULT: u32 = 1; +pub const TOUCH_FEEDBACK_INDIRECT: u32 = 2; +pub const TOUCH_FEEDBACK_NONE: u32 = 3; +pub const TOUCH_HIT_TESTING_DEFAULT: u32 = 0; +pub const TOUCH_HIT_TESTING_CLIENT: u32 = 1; +pub const TOUCH_HIT_TESTING_NONE: u32 = 2; +pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST: u32 = 0; +pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST: u32 = 4095; +pub const GWFS_INCLUDE_ANCESTORS: u32 = 1; +pub const MAPVK_VK_TO_VSC: u32 = 0; +pub const MAPVK_VSC_TO_VK: u32 = 1; +pub const MAPVK_VK_TO_CHAR: u32 = 2; +pub const MAPVK_VSC_TO_VK_EX: u32 = 3; +pub const MAPVK_VK_TO_VSC_EX: u32 = 4; +pub const MWMO_WAITALL: u32 = 1; +pub const MWMO_ALERTABLE: u32 = 2; +pub const MWMO_INPUTAVAILABLE: u32 = 4; +pub const QS_KEY: u32 = 1; +pub const QS_MOUSEMOVE: u32 = 2; +pub const QS_MOUSEBUTTON: u32 = 4; +pub const QS_POSTMESSAGE: u32 = 8; +pub const QS_TIMER: u32 = 16; +pub const QS_PAINT: u32 = 32; +pub const QS_SENDMESSAGE: u32 = 64; +pub const QS_HOTKEY: u32 = 128; +pub const QS_ALLPOSTMESSAGE: u32 = 256; +pub const QS_RAWINPUT: u32 = 1024; +pub const QS_TOUCH: u32 = 2048; +pub const QS_POINTER: u32 = 4096; +pub const QS_MOUSE: u32 = 6; +pub const QS_INPUT: u32 = 7175; +pub const QS_ALLEVENTS: u32 = 7359; +pub const QS_ALLINPUT: u32 = 7423; +pub const USER_TIMER_MAXIMUM: u32 = 2147483647; +pub const USER_TIMER_MINIMUM: u32 = 10; +pub const TIMERV_DEFAULT_COALESCING: u32 = 0; +pub const TIMERV_NO_COALESCING: u32 = 4294967295; +pub const TIMERV_COALESCING_MIN: u32 = 1; +pub const TIMERV_COALESCING_MAX: u32 = 2147483637; +pub const SM_CXSCREEN: u32 = 0; +pub const SM_CYSCREEN: u32 = 1; +pub const SM_CXVSCROLL: u32 = 2; +pub const SM_CYHSCROLL: u32 = 3; +pub const SM_CYCAPTION: u32 = 4; +pub const SM_CXBORDER: u32 = 5; +pub const SM_CYBORDER: u32 = 6; +pub const SM_CXDLGFRAME: u32 = 7; +pub const SM_CYDLGFRAME: u32 = 8; +pub const SM_CYVTHUMB: u32 = 9; +pub const SM_CXHTHUMB: u32 = 10; +pub const SM_CXICON: u32 = 11; +pub const SM_CYICON: u32 = 12; +pub const SM_CXCURSOR: u32 = 13; +pub const SM_CYCURSOR: u32 = 14; +pub const SM_CYMENU: u32 = 15; +pub const SM_CXFULLSCREEN: u32 = 16; +pub const SM_CYFULLSCREEN: u32 = 17; +pub const SM_CYKANJIWINDOW: u32 = 18; +pub const SM_MOUSEPRESENT: u32 = 19; +pub const SM_CYVSCROLL: u32 = 20; +pub const SM_CXHSCROLL: u32 = 21; +pub const SM_DEBUG: u32 = 22; +pub const SM_SWAPBUTTON: u32 = 23; +pub const SM_RESERVED1: u32 = 24; +pub const SM_RESERVED2: u32 = 25; +pub const SM_RESERVED3: u32 = 26; +pub const SM_RESERVED4: u32 = 27; +pub const SM_CXMIN: u32 = 28; +pub const SM_CYMIN: u32 = 29; +pub const SM_CXSIZE: u32 = 30; +pub const SM_CYSIZE: u32 = 31; +pub const SM_CXFRAME: u32 = 32; +pub const SM_CYFRAME: u32 = 33; +pub const SM_CXMINTRACK: u32 = 34; +pub const SM_CYMINTRACK: u32 = 35; +pub const SM_CXDOUBLECLK: u32 = 36; +pub const SM_CYDOUBLECLK: u32 = 37; +pub const SM_CXICONSPACING: u32 = 38; +pub const SM_CYICONSPACING: u32 = 39; +pub const SM_MENUDROPALIGNMENT: u32 = 40; +pub const SM_PENWINDOWS: u32 = 41; +pub const SM_DBCSENABLED: u32 = 42; +pub const SM_CMOUSEBUTTONS: u32 = 43; +pub const SM_CXFIXEDFRAME: u32 = 7; +pub const SM_CYFIXEDFRAME: u32 = 8; +pub const SM_CXSIZEFRAME: u32 = 32; +pub const SM_CYSIZEFRAME: u32 = 33; +pub const SM_SECURE: u32 = 44; +pub const SM_CXEDGE: u32 = 45; +pub const SM_CYEDGE: u32 = 46; +pub const SM_CXMINSPACING: u32 = 47; +pub const SM_CYMINSPACING: u32 = 48; +pub const SM_CXSMICON: u32 = 49; +pub const SM_CYSMICON: u32 = 50; +pub const SM_CYSMCAPTION: u32 = 51; +pub const SM_CXSMSIZE: u32 = 52; +pub const SM_CYSMSIZE: u32 = 53; +pub const SM_CXMENUSIZE: u32 = 54; +pub const SM_CYMENUSIZE: u32 = 55; +pub const SM_ARRANGE: u32 = 56; +pub const SM_CXMINIMIZED: u32 = 57; +pub const SM_CYMINIMIZED: u32 = 58; +pub const SM_CXMAXTRACK: u32 = 59; +pub const SM_CYMAXTRACK: u32 = 60; +pub const SM_CXMAXIMIZED: u32 = 61; +pub const SM_CYMAXIMIZED: u32 = 62; +pub const SM_NETWORK: u32 = 63; +pub const SM_CLEANBOOT: u32 = 67; +pub const SM_CXDRAG: u32 = 68; +pub const SM_CYDRAG: u32 = 69; +pub const SM_SHOWSOUNDS: u32 = 70; +pub const SM_CXMENUCHECK: u32 = 71; +pub const SM_CYMENUCHECK: u32 = 72; +pub const SM_SLOWMACHINE: u32 = 73; +pub const SM_MIDEASTENABLED: u32 = 74; +pub const SM_MOUSEWHEELPRESENT: u32 = 75; +pub const SM_XVIRTUALSCREEN: u32 = 76; +pub const SM_YVIRTUALSCREEN: u32 = 77; +pub const SM_CXVIRTUALSCREEN: u32 = 78; +pub const SM_CYVIRTUALSCREEN: u32 = 79; +pub const SM_CMONITORS: u32 = 80; +pub const SM_SAMEDISPLAYFORMAT: u32 = 81; +pub const SM_IMMENABLED: u32 = 82; +pub const SM_CXFOCUSBORDER: u32 = 83; +pub const SM_CYFOCUSBORDER: u32 = 84; +pub const SM_TABLETPC: u32 = 86; +pub const SM_MEDIACENTER: u32 = 87; +pub const SM_STARTER: u32 = 88; +pub const SM_SERVERR2: u32 = 89; +pub const SM_MOUSEHORIZONTALWHEELPRESENT: u32 = 91; +pub const SM_CXPADDEDBORDER: u32 = 92; +pub const SM_DIGITIZER: u32 = 94; +pub const SM_MAXIMUMTOUCHES: u32 = 95; +pub const SM_CMETRICS: u32 = 97; +pub const SM_REMOTESESSION: u32 = 4096; +pub const SM_SHUTTINGDOWN: u32 = 8192; +pub const SM_REMOTECONTROL: u32 = 8193; +pub const SM_CARETBLINKINGENABLED: u32 = 8194; +pub const SM_CONVERTIBLESLATEMODE: u32 = 8195; +pub const SM_SYSTEMDOCKED: u32 = 8196; +pub const PMB_ACTIVE: u32 = 1; +pub const MNC_IGNORE: u32 = 0; +pub const MNC_CLOSE: u32 = 1; +pub const MNC_EXECUTE: u32 = 2; +pub const MNC_SELECT: u32 = 3; +pub const MNS_NOCHECK: u32 = 2147483648; +pub const MNS_MODELESS: u32 = 1073741824; +pub const MNS_DRAGDROP: u32 = 536870912; +pub const MNS_AUTODISMISS: u32 = 268435456; +pub const MNS_NOTIFYBYPOS: u32 = 134217728; +pub const MNS_CHECKORBMP: u32 = 67108864; +pub const MIM_MAXHEIGHT: u32 = 1; +pub const MIM_BACKGROUND: u32 = 2; +pub const MIM_HELPID: u32 = 4; +pub const MIM_MENUDATA: u32 = 8; +pub const MIM_STYLE: u32 = 16; +pub const MIM_APPLYTOSUBMENUS: u32 = 2147483648; +pub const MND_CONTINUE: u32 = 0; +pub const MND_ENDMENU: u32 = 1; +pub const MNGOF_TOPGAP: u32 = 1; +pub const MNGOF_BOTTOMGAP: u32 = 2; +pub const MNGO_NOINTERFACE: u32 = 0; +pub const MNGO_NOERROR: u32 = 1; +pub const MIIM_STATE: u32 = 1; +pub const MIIM_ID: u32 = 2; +pub const MIIM_SUBMENU: u32 = 4; +pub const MIIM_CHECKMARKS: u32 = 8; +pub const MIIM_TYPE: u32 = 16; +pub const MIIM_DATA: u32 = 32; +pub const MIIM_STRING: u32 = 64; +pub const MIIM_BITMAP: u32 = 128; +pub const MIIM_FTYPE: u32 = 256; +pub const GMDI_USEDISABLED: u32 = 1; +pub const GMDI_GOINTOPOPUPS: u32 = 2; +pub const TPM_LEFTBUTTON: u32 = 0; +pub const TPM_RIGHTBUTTON: u32 = 2; +pub const TPM_LEFTALIGN: u32 = 0; +pub const TPM_CENTERALIGN: u32 = 4; +pub const TPM_RIGHTALIGN: u32 = 8; +pub const TPM_TOPALIGN: u32 = 0; +pub const TPM_VCENTERALIGN: u32 = 16; +pub const TPM_BOTTOMALIGN: u32 = 32; +pub const TPM_HORIZONTAL: u32 = 0; +pub const TPM_VERTICAL: u32 = 64; +pub const TPM_NONOTIFY: u32 = 128; +pub const TPM_RETURNCMD: u32 = 256; +pub const TPM_RECURSE: u32 = 1; +pub const TPM_HORPOSANIMATION: u32 = 1024; +pub const TPM_HORNEGANIMATION: u32 = 2048; +pub const TPM_VERPOSANIMATION: u32 = 4096; +pub const TPM_VERNEGANIMATION: u32 = 8192; +pub const TPM_NOANIMATION: u32 = 16384; +pub const TPM_LAYOUTRTL: u32 = 32768; +pub const TPM_WORKAREA: u32 = 65536; +pub const DOF_EXECUTABLE: u32 = 32769; +pub const DOF_DOCUMENT: u32 = 32770; +pub const DOF_DIRECTORY: u32 = 32771; +pub const DOF_MULTIPLE: u32 = 32772; +pub const DOF_PROGMAN: u32 = 1; +pub const DOF_SHELLDATA: u32 = 2; +pub const DO_DROPFILE: u32 = 1162627398; +pub const DO_PRINTFILE: u32 = 1414419024; +pub const DT_TOP: u32 = 0; +pub const DT_LEFT: u32 = 0; +pub const DT_CENTER: u32 = 1; +pub const DT_RIGHT: u32 = 2; +pub const DT_VCENTER: u32 = 4; +pub const DT_BOTTOM: u32 = 8; +pub const DT_WORDBREAK: u32 = 16; +pub const DT_SINGLELINE: u32 = 32; +pub const DT_EXPANDTABS: u32 = 64; +pub const DT_TABSTOP: u32 = 128; +pub const DT_NOCLIP: u32 = 256; +pub const DT_EXTERNALLEADING: u32 = 512; +pub const DT_CALCRECT: u32 = 1024; +pub const DT_NOPREFIX: u32 = 2048; +pub const DT_INTERNAL: u32 = 4096; +pub const DT_EDITCONTROL: u32 = 8192; +pub const DT_PATH_ELLIPSIS: u32 = 16384; +pub const DT_END_ELLIPSIS: u32 = 32768; +pub const DT_MODIFYSTRING: u32 = 65536; +pub const DT_RTLREADING: u32 = 131072; +pub const DT_WORD_ELLIPSIS: u32 = 262144; +pub const DT_NOFULLWIDTHCHARBREAK: u32 = 524288; +pub const DT_HIDEPREFIX: u32 = 1048576; +pub const DT_PREFIXONLY: u32 = 2097152; +pub const DST_COMPLEX: u32 = 0; +pub const DST_TEXT: u32 = 1; +pub const DST_PREFIXTEXT: u32 = 2; +pub const DST_ICON: u32 = 3; +pub const DST_BITMAP: u32 = 4; +pub const DSS_NORMAL: u32 = 0; +pub const DSS_UNION: u32 = 16; +pub const DSS_DISABLED: u32 = 32; +pub const DSS_MONO: u32 = 128; +pub const DSS_HIDEPREFIX: u32 = 512; +pub const DSS_PREFIXONLY: u32 = 1024; +pub const DSS_RIGHT: u32 = 32768; +pub const LSFW_LOCK: u32 = 1; +pub const LSFW_UNLOCK: u32 = 2; +pub const DCX_WINDOW: u32 = 1; +pub const DCX_CACHE: u32 = 2; +pub const DCX_NORESETATTRS: u32 = 4; +pub const DCX_CLIPCHILDREN: u32 = 8; +pub const DCX_CLIPSIBLINGS: u32 = 16; +pub const DCX_PARENTCLIP: u32 = 32; +pub const DCX_EXCLUDERGN: u32 = 64; +pub const DCX_INTERSECTRGN: u32 = 128; +pub const DCX_EXCLUDEUPDATE: u32 = 256; +pub const DCX_INTERSECTUPDATE: u32 = 512; +pub const DCX_LOCKWINDOWUPDATE: u32 = 1024; +pub const DCX_VALIDATE: u32 = 2097152; +pub const RDW_INVALIDATE: u32 = 1; +pub const RDW_INTERNALPAINT: u32 = 2; +pub const RDW_ERASE: u32 = 4; +pub const RDW_VALIDATE: u32 = 8; +pub const RDW_NOINTERNALPAINT: u32 = 16; +pub const RDW_NOERASE: u32 = 32; +pub const RDW_NOCHILDREN: u32 = 64; +pub const RDW_ALLCHILDREN: u32 = 128; +pub const RDW_UPDATENOW: u32 = 256; +pub const RDW_ERASENOW: u32 = 512; +pub const RDW_FRAME: u32 = 1024; +pub const RDW_NOFRAME: u32 = 2048; +pub const SW_SCROLLCHILDREN: u32 = 1; +pub const SW_INVALIDATE: u32 = 2; +pub const SW_ERASE: u32 = 4; +pub const SW_SMOOTHSCROLL: u32 = 16; +pub const ESB_ENABLE_BOTH: u32 = 0; +pub const ESB_DISABLE_BOTH: u32 = 3; +pub const ESB_DISABLE_LEFT: u32 = 1; +pub const ESB_DISABLE_RIGHT: u32 = 2; +pub const ESB_DISABLE_UP: u32 = 1; +pub const ESB_DISABLE_DOWN: u32 = 2; +pub const ESB_DISABLE_LTUP: u32 = 1; +pub const ESB_DISABLE_RTDN: u32 = 2; +pub const HELPINFO_WINDOW: u32 = 1; +pub const HELPINFO_MENUITEM: u32 = 2; +pub const MB_OK: u32 = 0; +pub const MB_OKCANCEL: u32 = 1; +pub const MB_ABORTRETRYIGNORE: u32 = 2; +pub const MB_YESNOCANCEL: u32 = 3; +pub const MB_YESNO: u32 = 4; +pub const MB_RETRYCANCEL: u32 = 5; +pub const MB_CANCELTRYCONTINUE: u32 = 6; +pub const MB_ICONHAND: u32 = 16; +pub const MB_ICONQUESTION: u32 = 32; +pub const MB_ICONEXCLAMATION: u32 = 48; +pub const MB_ICONASTERISK: u32 = 64; +pub const MB_USERICON: u32 = 128; +pub const MB_ICONWARNING: u32 = 48; +pub const MB_ICONERROR: u32 = 16; +pub const MB_ICONINFORMATION: u32 = 64; +pub const MB_ICONSTOP: u32 = 16; +pub const MB_DEFBUTTON1: u32 = 0; +pub const MB_DEFBUTTON2: u32 = 256; +pub const MB_DEFBUTTON3: u32 = 512; +pub const MB_DEFBUTTON4: u32 = 768; +pub const MB_APPLMODAL: u32 = 0; +pub const MB_SYSTEMMODAL: u32 = 4096; +pub const MB_TASKMODAL: u32 = 8192; +pub const MB_HELP: u32 = 16384; +pub const MB_NOFOCUS: u32 = 32768; +pub const MB_SETFOREGROUND: u32 = 65536; +pub const MB_DEFAULT_DESKTOP_ONLY: u32 = 131072; +pub const MB_TOPMOST: u32 = 262144; +pub const MB_RIGHT: u32 = 524288; +pub const MB_RTLREADING: u32 = 1048576; +pub const MB_SERVICE_NOTIFICATION: u32 = 2097152; +pub const MB_SERVICE_NOTIFICATION_NT3X: u32 = 262144; +pub const MB_TYPEMASK: u32 = 15; +pub const MB_ICONMASK: u32 = 240; +pub const MB_DEFMASK: u32 = 3840; +pub const MB_MODEMASK: u32 = 12288; +pub const MB_MISCMASK: u32 = 49152; +pub const CWP_ALL: u32 = 0; +pub const CWP_SKIPINVISIBLE: u32 = 1; +pub const CWP_SKIPDISABLED: u32 = 2; +pub const CWP_SKIPTRANSPARENT: u32 = 4; +pub const CTLCOLOR_MSGBOX: u32 = 0; +pub const CTLCOLOR_EDIT: u32 = 1; +pub const CTLCOLOR_LISTBOX: u32 = 2; +pub const CTLCOLOR_BTN: u32 = 3; +pub const CTLCOLOR_DLG: u32 = 4; +pub const CTLCOLOR_SCROLLBAR: u32 = 5; +pub const CTLCOLOR_STATIC: u32 = 6; +pub const CTLCOLOR_MAX: u32 = 7; +pub const COLOR_SCROLLBAR: u32 = 0; +pub const COLOR_BACKGROUND: u32 = 1; +pub const COLOR_ACTIVECAPTION: u32 = 2; +pub const COLOR_INACTIVECAPTION: u32 = 3; +pub const COLOR_MENU: u32 = 4; +pub const COLOR_WINDOW: u32 = 5; +pub const COLOR_WINDOWFRAME: u32 = 6; +pub const COLOR_MENUTEXT: u32 = 7; +pub const COLOR_WINDOWTEXT: u32 = 8; +pub const COLOR_CAPTIONTEXT: u32 = 9; +pub const COLOR_ACTIVEBORDER: u32 = 10; +pub const COLOR_INACTIVEBORDER: u32 = 11; +pub const COLOR_APPWORKSPACE: u32 = 12; +pub const COLOR_HIGHLIGHT: u32 = 13; +pub const COLOR_HIGHLIGHTTEXT: u32 = 14; +pub const COLOR_BTNFACE: u32 = 15; +pub const COLOR_BTNSHADOW: u32 = 16; +pub const COLOR_GRAYTEXT: u32 = 17; +pub const COLOR_BTNTEXT: u32 = 18; +pub const COLOR_INACTIVECAPTIONTEXT: u32 = 19; +pub const COLOR_BTNHIGHLIGHT: u32 = 20; +pub const COLOR_3DDKSHADOW: u32 = 21; +pub const COLOR_3DLIGHT: u32 = 22; +pub const COLOR_INFOTEXT: u32 = 23; +pub const COLOR_INFOBK: u32 = 24; +pub const COLOR_HOTLIGHT: u32 = 26; +pub const COLOR_GRADIENTACTIVECAPTION: u32 = 27; +pub const COLOR_GRADIENTINACTIVECAPTION: u32 = 28; +pub const COLOR_MENUHILIGHT: u32 = 29; +pub const COLOR_MENUBAR: u32 = 30; +pub const COLOR_DESKTOP: u32 = 1; +pub const COLOR_3DFACE: u32 = 15; +pub const COLOR_3DSHADOW: u32 = 16; +pub const COLOR_3DHIGHLIGHT: u32 = 20; +pub const COLOR_3DHILIGHT: u32 = 20; +pub const COLOR_BTNHILIGHT: u32 = 20; +pub const GW_HWNDFIRST: u32 = 0; +pub const GW_HWNDLAST: u32 = 1; +pub const GW_HWNDNEXT: u32 = 2; +pub const GW_HWNDPREV: u32 = 3; +pub const GW_OWNER: u32 = 4; +pub const GW_CHILD: u32 = 5; +pub const GW_ENABLEDPOPUP: u32 = 6; +pub const GW_MAX: u32 = 6; +pub const MF_INSERT: u32 = 0; +pub const MF_CHANGE: u32 = 128; +pub const MF_APPEND: u32 = 256; +pub const MF_DELETE: u32 = 512; +pub const MF_REMOVE: u32 = 4096; +pub const MF_BYCOMMAND: u32 = 0; +pub const MF_BYPOSITION: u32 = 1024; +pub const MF_SEPARATOR: u32 = 2048; +pub const MF_ENABLED: u32 = 0; +pub const MF_GRAYED: u32 = 1; +pub const MF_DISABLED: u32 = 2; +pub const MF_UNCHECKED: u32 = 0; +pub const MF_CHECKED: u32 = 8; +pub const MF_USECHECKBITMAPS: u32 = 512; +pub const MF_STRING: u32 = 0; +pub const MF_BITMAP: u32 = 4; +pub const MF_OWNERDRAW: u32 = 256; +pub const MF_POPUP: u32 = 16; +pub const MF_MENUBARBREAK: u32 = 32; +pub const MF_MENUBREAK: u32 = 64; +pub const MF_UNHILITE: u32 = 0; +pub const MF_HILITE: u32 = 128; +pub const MF_DEFAULT: u32 = 4096; +pub const MF_SYSMENU: u32 = 8192; +pub const MF_HELP: u32 = 16384; +pub const MF_RIGHTJUSTIFY: u32 = 16384; +pub const MF_MOUSESELECT: u32 = 32768; +pub const MF_END: u32 = 128; +pub const MFT_STRING: u32 = 0; +pub const MFT_BITMAP: u32 = 4; +pub const MFT_MENUBARBREAK: u32 = 32; +pub const MFT_MENUBREAK: u32 = 64; +pub const MFT_OWNERDRAW: u32 = 256; +pub const MFT_RADIOCHECK: u32 = 512; +pub const MFT_SEPARATOR: u32 = 2048; +pub const MFT_RIGHTORDER: u32 = 8192; +pub const MFT_RIGHTJUSTIFY: u32 = 16384; +pub const MFS_GRAYED: u32 = 3; +pub const MFS_DISABLED: u32 = 3; +pub const MFS_CHECKED: u32 = 8; +pub const MFS_HILITE: u32 = 128; +pub const MFS_ENABLED: u32 = 0; +pub const MFS_UNCHECKED: u32 = 0; +pub const MFS_UNHILITE: u32 = 0; +pub const MFS_DEFAULT: u32 = 4096; +pub const SC_SIZE: u32 = 61440; +pub const SC_MOVE: u32 = 61456; +pub const SC_MINIMIZE: u32 = 61472; +pub const SC_MAXIMIZE: u32 = 61488; +pub const SC_NEXTWINDOW: u32 = 61504; +pub const SC_PREVWINDOW: u32 = 61520; +pub const SC_CLOSE: u32 = 61536; +pub const SC_VSCROLL: u32 = 61552; +pub const SC_HSCROLL: u32 = 61568; +pub const SC_MOUSEMENU: u32 = 61584; +pub const SC_KEYMENU: u32 = 61696; +pub const SC_ARRANGE: u32 = 61712; +pub const SC_RESTORE: u32 = 61728; +pub const SC_TASKLIST: u32 = 61744; +pub const SC_SCREENSAVE: u32 = 61760; +pub const SC_HOTKEY: u32 = 61776; +pub const SC_DEFAULT: u32 = 61792; +pub const SC_MONITORPOWER: u32 = 61808; +pub const SC_CONTEXTHELP: u32 = 61824; +pub const SC_SEPARATOR: u32 = 61455; +pub const SCF_ISSECURE: u32 = 1; +pub const SC_ICON: u32 = 61472; +pub const SC_ZOOM: u32 = 61488; +pub const CURSOR_CREATION_SCALING_NONE: u32 = 1; +pub const CURSOR_CREATION_SCALING_DEFAULT: u32 = 2; +pub const IMAGE_BITMAP: u32 = 0; +pub const IMAGE_ICON: u32 = 1; +pub const IMAGE_CURSOR: u32 = 2; +pub const IMAGE_ENHMETAFILE: u32 = 3; +pub const LR_DEFAULTCOLOR: u32 = 0; +pub const LR_MONOCHROME: u32 = 1; +pub const LR_COLOR: u32 = 2; +pub const LR_COPYRETURNORG: u32 = 4; +pub const LR_COPYDELETEORG: u32 = 8; +pub const LR_LOADFROMFILE: u32 = 16; +pub const LR_LOADTRANSPARENT: u32 = 32; +pub const LR_DEFAULTSIZE: u32 = 64; +pub const LR_VGACOLOR: u32 = 128; +pub const LR_LOADMAP3DCOLORS: u32 = 4096; +pub const LR_CREATEDIBSECTION: u32 = 8192; +pub const LR_COPYFROMRESOURCE: u32 = 16384; +pub const LR_SHARED: u32 = 32768; +pub const DI_MASK: u32 = 1; +pub const DI_IMAGE: u32 = 2; +pub const DI_NORMAL: u32 = 3; +pub const DI_COMPAT: u32 = 4; +pub const DI_DEFAULTSIZE: u32 = 8; +pub const DI_NOMIRROR: u32 = 16; +pub const RES_ICON: u32 = 1; +pub const RES_CURSOR: u32 = 2; +pub const ORD_LANGDRIVER: u32 = 1; +pub const IDOK: u32 = 1; +pub const IDCANCEL: u32 = 2; +pub const IDABORT: u32 = 3; +pub const IDRETRY: u32 = 4; +pub const IDIGNORE: u32 = 5; +pub const IDYES: u32 = 6; +pub const IDNO: u32 = 7; +pub const IDCLOSE: u32 = 8; +pub const IDHELP: u32 = 9; +pub const IDTRYAGAIN: u32 = 10; +pub const IDCONTINUE: u32 = 11; +pub const IDTIMEOUT: u32 = 32000; +pub const ES_LEFT: u32 = 0; +pub const ES_CENTER: u32 = 1; +pub const ES_RIGHT: u32 = 2; +pub const ES_MULTILINE: u32 = 4; +pub const ES_UPPERCASE: u32 = 8; +pub const ES_LOWERCASE: u32 = 16; +pub const ES_PASSWORD: u32 = 32; +pub const ES_AUTOVSCROLL: u32 = 64; +pub const ES_AUTOHSCROLL: u32 = 128; +pub const ES_NOHIDESEL: u32 = 256; +pub const ES_OEMCONVERT: u32 = 1024; +pub const ES_READONLY: u32 = 2048; +pub const ES_WANTRETURN: u32 = 4096; +pub const ES_NUMBER: u32 = 8192; +pub const EN_SETFOCUS: u32 = 256; +pub const EN_KILLFOCUS: u32 = 512; +pub const EN_CHANGE: u32 = 768; +pub const EN_UPDATE: u32 = 1024; +pub const EN_ERRSPACE: u32 = 1280; +pub const EN_MAXTEXT: u32 = 1281; +pub const EN_HSCROLL: u32 = 1537; +pub const EN_VSCROLL: u32 = 1538; +pub const EN_ALIGN_LTR_EC: u32 = 1792; +pub const EN_ALIGN_RTL_EC: u32 = 1793; +pub const EN_BEFORE_PASTE: u32 = 2048; +pub const EN_AFTER_PASTE: u32 = 2049; +pub const EC_LEFTMARGIN: u32 = 1; +pub const EC_RIGHTMARGIN: u32 = 2; +pub const EC_USEFONTINFO: u32 = 65535; +pub const EMSIS_COMPOSITIONSTRING: u32 = 1; +pub const EIMES_GETCOMPSTRATONCE: u32 = 1; +pub const EIMES_CANCELCOMPSTRINFOCUS: u32 = 2; +pub const EIMES_COMPLETECOMPSTRKILLFOCUS: u32 = 4; +pub const EM_GETSEL: u32 = 176; +pub const EM_SETSEL: u32 = 177; +pub const EM_GETRECT: u32 = 178; +pub const EM_SETRECT: u32 = 179; +pub const EM_SETRECTNP: u32 = 180; +pub const EM_SCROLL: u32 = 181; +pub const EM_LINESCROLL: u32 = 182; +pub const EM_SCROLLCARET: u32 = 183; +pub const EM_GETMODIFY: u32 = 184; +pub const EM_SETMODIFY: u32 = 185; +pub const EM_GETLINECOUNT: u32 = 186; +pub const EM_LINEINDEX: u32 = 187; +pub const EM_SETHANDLE: u32 = 188; +pub const EM_GETHANDLE: u32 = 189; +pub const EM_GETTHUMB: u32 = 190; +pub const EM_LINELENGTH: u32 = 193; +pub const EM_REPLACESEL: u32 = 194; +pub const EM_GETLINE: u32 = 196; +pub const EM_LIMITTEXT: u32 = 197; +pub const EM_CANUNDO: u32 = 198; +pub const EM_UNDO: u32 = 199; +pub const EM_FMTLINES: u32 = 200; +pub const EM_LINEFROMCHAR: u32 = 201; +pub const EM_SETTABSTOPS: u32 = 203; +pub const EM_SETPASSWORDCHAR: u32 = 204; +pub const EM_EMPTYUNDOBUFFER: u32 = 205; +pub const EM_GETFIRSTVISIBLELINE: u32 = 206; +pub const EM_SETREADONLY: u32 = 207; +pub const EM_SETWORDBREAKPROC: u32 = 208; +pub const EM_GETWORDBREAKPROC: u32 = 209; +pub const EM_GETPASSWORDCHAR: u32 = 210; +pub const EM_SETMARGINS: u32 = 211; +pub const EM_GETMARGINS: u32 = 212; +pub const EM_SETLIMITTEXT: u32 = 197; +pub const EM_GETLIMITTEXT: u32 = 213; +pub const EM_POSFROMCHAR: u32 = 214; +pub const EM_CHARFROMPOS: u32 = 215; +pub const EM_SETIMESTATUS: u32 = 216; +pub const EM_GETIMESTATUS: u32 = 217; +pub const EM_ENABLEFEATURE: u32 = 218; +pub const WB_LEFT: u32 = 0; +pub const WB_RIGHT: u32 = 1; +pub const WB_ISDELIMITER: u32 = 2; +pub const BS_PUSHBUTTON: u32 = 0; +pub const BS_DEFPUSHBUTTON: u32 = 1; +pub const BS_CHECKBOX: u32 = 2; +pub const BS_AUTOCHECKBOX: u32 = 3; +pub const BS_RADIOBUTTON: u32 = 4; +pub const BS_3STATE: u32 = 5; +pub const BS_AUTO3STATE: u32 = 6; +pub const BS_GROUPBOX: u32 = 7; +pub const BS_USERBUTTON: u32 = 8; +pub const BS_AUTORADIOBUTTON: u32 = 9; +pub const BS_PUSHBOX: u32 = 10; +pub const BS_OWNERDRAW: u32 = 11; +pub const BS_TYPEMASK: u32 = 15; +pub const BS_LEFTTEXT: u32 = 32; +pub const BS_TEXT: u32 = 0; +pub const BS_ICON: u32 = 64; +pub const BS_BITMAP: u32 = 128; +pub const BS_LEFT: u32 = 256; +pub const BS_RIGHT: u32 = 512; +pub const BS_CENTER: u32 = 768; +pub const BS_TOP: u32 = 1024; +pub const BS_BOTTOM: u32 = 2048; +pub const BS_VCENTER: u32 = 3072; +pub const BS_PUSHLIKE: u32 = 4096; +pub const BS_MULTILINE: u32 = 8192; +pub const BS_NOTIFY: u32 = 16384; +pub const BS_FLAT: u32 = 32768; +pub const BS_RIGHTBUTTON: u32 = 32; +pub const BN_CLICKED: u32 = 0; +pub const BN_PAINT: u32 = 1; +pub const BN_HILITE: u32 = 2; +pub const BN_UNHILITE: u32 = 3; +pub const BN_DISABLE: u32 = 4; +pub const BN_DOUBLECLICKED: u32 = 5; +pub const BN_PUSHED: u32 = 2; +pub const BN_UNPUSHED: u32 = 3; +pub const BN_DBLCLK: u32 = 5; +pub const BN_SETFOCUS: u32 = 6; +pub const BN_KILLFOCUS: u32 = 7; +pub const BM_GETCHECK: u32 = 240; +pub const BM_SETCHECK: u32 = 241; +pub const BM_GETSTATE: u32 = 242; +pub const BM_SETSTATE: u32 = 243; +pub const BM_SETSTYLE: u32 = 244; +pub const BM_CLICK: u32 = 245; +pub const BM_GETIMAGE: u32 = 246; +pub const BM_SETIMAGE: u32 = 247; +pub const BM_SETDONTCLICK: u32 = 248; +pub const BST_UNCHECKED: u32 = 0; +pub const BST_CHECKED: u32 = 1; +pub const BST_INDETERMINATE: u32 = 2; +pub const BST_PUSHED: u32 = 4; +pub const BST_FOCUS: u32 = 8; +pub const SS_LEFT: u32 = 0; +pub const SS_CENTER: u32 = 1; +pub const SS_RIGHT: u32 = 2; +pub const SS_ICON: u32 = 3; +pub const SS_BLACKRECT: u32 = 4; +pub const SS_GRAYRECT: u32 = 5; +pub const SS_WHITERECT: u32 = 6; +pub const SS_BLACKFRAME: u32 = 7; +pub const SS_GRAYFRAME: u32 = 8; +pub const SS_WHITEFRAME: u32 = 9; +pub const SS_USERITEM: u32 = 10; +pub const SS_SIMPLE: u32 = 11; +pub const SS_LEFTNOWORDWRAP: u32 = 12; +pub const SS_OWNERDRAW: u32 = 13; +pub const SS_BITMAP: u32 = 14; +pub const SS_ENHMETAFILE: u32 = 15; +pub const SS_ETCHEDHORZ: u32 = 16; +pub const SS_ETCHEDVERT: u32 = 17; +pub const SS_ETCHEDFRAME: u32 = 18; +pub const SS_TYPEMASK: u32 = 31; +pub const SS_REALSIZECONTROL: u32 = 64; +pub const SS_NOPREFIX: u32 = 128; +pub const SS_NOTIFY: u32 = 256; +pub const SS_CENTERIMAGE: u32 = 512; +pub const SS_RIGHTJUST: u32 = 1024; +pub const SS_REALSIZEIMAGE: u32 = 2048; +pub const SS_SUNKEN: u32 = 4096; +pub const SS_EDITCONTROL: u32 = 8192; +pub const SS_ENDELLIPSIS: u32 = 16384; +pub const SS_PATHELLIPSIS: u32 = 32768; +pub const SS_WORDELLIPSIS: u32 = 49152; +pub const SS_ELLIPSISMASK: u32 = 49152; +pub const STM_SETICON: u32 = 368; +pub const STM_GETICON: u32 = 369; +pub const STM_SETIMAGE: u32 = 370; +pub const STM_GETIMAGE: u32 = 371; +pub const STN_CLICKED: u32 = 0; +pub const STN_DBLCLK: u32 = 1; +pub const STN_ENABLE: u32 = 2; +pub const STN_DISABLE: u32 = 3; +pub const STM_MSGMAX: u32 = 372; +pub const DWL_MSGRESULT: u32 = 0; +pub const DWL_DLGPROC: u32 = 4; +pub const DWL_USER: u32 = 8; +pub const DWLP_MSGRESULT: u32 = 0; +pub const DDL_READWRITE: u32 = 0; +pub const DDL_READONLY: u32 = 1; +pub const DDL_HIDDEN: u32 = 2; +pub const DDL_SYSTEM: u32 = 4; +pub const DDL_DIRECTORY: u32 = 16; +pub const DDL_ARCHIVE: u32 = 32; +pub const DDL_POSTMSGS: u32 = 8192; +pub const DDL_DRIVES: u32 = 16384; +pub const DDL_EXCLUSIVE: u32 = 32768; +pub const DS_ABSALIGN: u32 = 1; +pub const DS_SYSMODAL: u32 = 2; +pub const DS_LOCALEDIT: u32 = 32; +pub const DS_SETFONT: u32 = 64; +pub const DS_MODALFRAME: u32 = 128; +pub const DS_NOIDLEMSG: u32 = 256; +pub const DS_SETFOREGROUND: u32 = 512; +pub const DS_3DLOOK: u32 = 4; +pub const DS_FIXEDSYS: u32 = 8; +pub const DS_NOFAILCREATE: u32 = 16; +pub const DS_CONTROL: u32 = 1024; +pub const DS_CENTER: u32 = 2048; +pub const DS_CENTERMOUSE: u32 = 4096; +pub const DS_CONTEXTHELP: u32 = 8192; +pub const DS_SHELLFONT: u32 = 72; +pub const DM_GETDEFID: u32 = 1024; +pub const DM_SETDEFID: u32 = 1025; +pub const DM_REPOSITION: u32 = 1026; +pub const DC_HASDEFID: u32 = 21323; +pub const DLGC_WANTARROWS: u32 = 1; +pub const DLGC_WANTTAB: u32 = 2; +pub const DLGC_WANTALLKEYS: u32 = 4; +pub const DLGC_WANTMESSAGE: u32 = 4; +pub const DLGC_HASSETSEL: u32 = 8; +pub const DLGC_DEFPUSHBUTTON: u32 = 16; +pub const DLGC_UNDEFPUSHBUTTON: u32 = 32; +pub const DLGC_RADIOBUTTON: u32 = 64; +pub const DLGC_WANTCHARS: u32 = 128; +pub const DLGC_STATIC: u32 = 256; +pub const DLGC_BUTTON: u32 = 8192; +pub const LB_CTLCODE: u32 = 0; +pub const LB_OKAY: u32 = 0; +pub const LB_ERR: i32 = -1; +pub const LB_ERRSPACE: i32 = -2; +pub const LBN_ERRSPACE: i32 = -2; +pub const LBN_SELCHANGE: u32 = 1; +pub const LBN_DBLCLK: u32 = 2; +pub const LBN_SELCANCEL: u32 = 3; +pub const LBN_SETFOCUS: u32 = 4; +pub const LBN_KILLFOCUS: u32 = 5; +pub const LB_ADDSTRING: u32 = 384; +pub const LB_INSERTSTRING: u32 = 385; +pub const LB_DELETESTRING: u32 = 386; +pub const LB_SELITEMRANGEEX: u32 = 387; +pub const LB_RESETCONTENT: u32 = 388; +pub const LB_SETSEL: u32 = 389; +pub const LB_SETCURSEL: u32 = 390; +pub const LB_GETSEL: u32 = 391; +pub const LB_GETCURSEL: u32 = 392; +pub const LB_GETTEXT: u32 = 393; +pub const LB_GETTEXTLEN: u32 = 394; +pub const LB_GETCOUNT: u32 = 395; +pub const LB_SELECTSTRING: u32 = 396; +pub const LB_DIR: u32 = 397; +pub const LB_GETTOPINDEX: u32 = 398; +pub const LB_FINDSTRING: u32 = 399; +pub const LB_GETSELCOUNT: u32 = 400; +pub const LB_GETSELITEMS: u32 = 401; +pub const LB_SETTABSTOPS: u32 = 402; +pub const LB_GETHORIZONTALEXTENT: u32 = 403; +pub const LB_SETHORIZONTALEXTENT: u32 = 404; +pub const LB_SETCOLUMNWIDTH: u32 = 405; +pub const LB_ADDFILE: u32 = 406; +pub const LB_SETTOPINDEX: u32 = 407; +pub const LB_GETITEMRECT: u32 = 408; +pub const LB_GETITEMDATA: u32 = 409; +pub const LB_SETITEMDATA: u32 = 410; +pub const LB_SELITEMRANGE: u32 = 411; +pub const LB_SETANCHORINDEX: u32 = 412; +pub const LB_GETANCHORINDEX: u32 = 413; +pub const LB_SETCARETINDEX: u32 = 414; +pub const LB_GETCARETINDEX: u32 = 415; +pub const LB_SETITEMHEIGHT: u32 = 416; +pub const LB_GETITEMHEIGHT: u32 = 417; +pub const LB_FINDSTRINGEXACT: u32 = 418; +pub const LB_SETLOCALE: u32 = 421; +pub const LB_GETLOCALE: u32 = 422; +pub const LB_SETCOUNT: u32 = 423; +pub const LB_INITSTORAGE: u32 = 424; +pub const LB_ITEMFROMPOINT: u32 = 425; +pub const LB_GETLISTBOXINFO: u32 = 434; +pub const LB_MSGMAX: u32 = 435; +pub const LBS_NOTIFY: u32 = 1; +pub const LBS_SORT: u32 = 2; +pub const LBS_NOREDRAW: u32 = 4; +pub const LBS_MULTIPLESEL: u32 = 8; +pub const LBS_OWNERDRAWFIXED: u32 = 16; +pub const LBS_OWNERDRAWVARIABLE: u32 = 32; +pub const LBS_HASSTRINGS: u32 = 64; +pub const LBS_USETABSTOPS: u32 = 128; +pub const LBS_NOINTEGRALHEIGHT: u32 = 256; +pub const LBS_MULTICOLUMN: u32 = 512; +pub const LBS_WANTKEYBOARDINPUT: u32 = 1024; +pub const LBS_EXTENDEDSEL: u32 = 2048; +pub const LBS_DISABLENOSCROLL: u32 = 4096; +pub const LBS_NODATA: u32 = 8192; +pub const LBS_NOSEL: u32 = 16384; +pub const LBS_COMBOBOX: u32 = 32768; +pub const LBS_STANDARD: u32 = 10485763; +pub const CB_OKAY: u32 = 0; +pub const CB_ERR: i32 = -1; +pub const CB_ERRSPACE: i32 = -2; +pub const CBN_ERRSPACE: i32 = -1; +pub const CBN_SELCHANGE: u32 = 1; +pub const CBN_DBLCLK: u32 = 2; +pub const CBN_SETFOCUS: u32 = 3; +pub const CBN_KILLFOCUS: u32 = 4; +pub const CBN_EDITCHANGE: u32 = 5; +pub const CBN_EDITUPDATE: u32 = 6; +pub const CBN_DROPDOWN: u32 = 7; +pub const CBN_CLOSEUP: u32 = 8; +pub const CBN_SELENDOK: u32 = 9; +pub const CBN_SELENDCANCEL: u32 = 10; +pub const CBS_SIMPLE: u32 = 1; +pub const CBS_DROPDOWN: u32 = 2; +pub const CBS_DROPDOWNLIST: u32 = 3; +pub const CBS_OWNERDRAWFIXED: u32 = 16; +pub const CBS_OWNERDRAWVARIABLE: u32 = 32; +pub const CBS_AUTOHSCROLL: u32 = 64; +pub const CBS_OEMCONVERT: u32 = 128; +pub const CBS_SORT: u32 = 256; +pub const CBS_HASSTRINGS: u32 = 512; +pub const CBS_NOINTEGRALHEIGHT: u32 = 1024; +pub const CBS_DISABLENOSCROLL: u32 = 2048; +pub const CBS_UPPERCASE: u32 = 8192; +pub const CBS_LOWERCASE: u32 = 16384; +pub const CB_GETEDITSEL: u32 = 320; +pub const CB_LIMITTEXT: u32 = 321; +pub const CB_SETEDITSEL: u32 = 322; +pub const CB_ADDSTRING: u32 = 323; +pub const CB_DELETESTRING: u32 = 324; +pub const CB_DIR: u32 = 325; +pub const CB_GETCOUNT: u32 = 326; +pub const CB_GETCURSEL: u32 = 327; +pub const CB_GETLBTEXT: u32 = 328; +pub const CB_GETLBTEXTLEN: u32 = 329; +pub const CB_INSERTSTRING: u32 = 330; +pub const CB_RESETCONTENT: u32 = 331; +pub const CB_FINDSTRING: u32 = 332; +pub const CB_SELECTSTRING: u32 = 333; +pub const CB_SETCURSEL: u32 = 334; +pub const CB_SHOWDROPDOWN: u32 = 335; +pub const CB_GETITEMDATA: u32 = 336; +pub const CB_SETITEMDATA: u32 = 337; +pub const CB_GETDROPPEDCONTROLRECT: u32 = 338; +pub const CB_SETITEMHEIGHT: u32 = 339; +pub const CB_GETITEMHEIGHT: u32 = 340; +pub const CB_SETEXTENDEDUI: u32 = 341; +pub const CB_GETEXTENDEDUI: u32 = 342; +pub const CB_GETDROPPEDSTATE: u32 = 343; +pub const CB_FINDSTRINGEXACT: u32 = 344; +pub const CB_SETLOCALE: u32 = 345; +pub const CB_GETLOCALE: u32 = 346; +pub const CB_GETTOPINDEX: u32 = 347; +pub const CB_SETTOPINDEX: u32 = 348; +pub const CB_GETHORIZONTALEXTENT: u32 = 349; +pub const CB_SETHORIZONTALEXTENT: u32 = 350; +pub const CB_GETDROPPEDWIDTH: u32 = 351; +pub const CB_SETDROPPEDWIDTH: u32 = 352; +pub const CB_INITSTORAGE: u32 = 353; +pub const CB_GETCOMBOBOXINFO: u32 = 356; +pub const CB_MSGMAX: u32 = 357; +pub const SBS_HORZ: u32 = 0; +pub const SBS_VERT: u32 = 1; +pub const SBS_TOPALIGN: u32 = 2; +pub const SBS_LEFTALIGN: u32 = 2; +pub const SBS_BOTTOMALIGN: u32 = 4; +pub const SBS_RIGHTALIGN: u32 = 4; +pub const SBS_SIZEBOXTOPLEFTALIGN: u32 = 2; +pub const SBS_SIZEBOXBOTTOMRIGHTALIGN: u32 = 4; +pub const SBS_SIZEBOX: u32 = 8; +pub const SBS_SIZEGRIP: u32 = 16; +pub const SBM_SETPOS: u32 = 224; +pub const SBM_GETPOS: u32 = 225; +pub const SBM_SETRANGE: u32 = 226; +pub const SBM_SETRANGEREDRAW: u32 = 230; +pub const SBM_GETRANGE: u32 = 227; +pub const SBM_ENABLE_ARROWS: u32 = 228; +pub const SBM_SETSCROLLINFO: u32 = 233; +pub const SBM_GETSCROLLINFO: u32 = 234; +pub const SBM_GETSCROLLBARINFO: u32 = 235; +pub const SIF_RANGE: u32 = 1; +pub const SIF_PAGE: u32 = 2; +pub const SIF_POS: u32 = 4; +pub const SIF_DISABLENOSCROLL: u32 = 8; +pub const SIF_TRACKPOS: u32 = 16; +pub const SIF_ALL: u32 = 23; +pub const MDIS_ALLCHILDSTYLES: u32 = 1; +pub const MDITILE_VERTICAL: u32 = 0; +pub const MDITILE_HORIZONTAL: u32 = 1; +pub const MDITILE_SKIPDISABLED: u32 = 2; +pub const MDITILE_ZORDER: u32 = 4; +pub const HELP_CONTEXT: u32 = 1; +pub const HELP_QUIT: u32 = 2; +pub const HELP_INDEX: u32 = 3; +pub const HELP_CONTENTS: u32 = 3; +pub const HELP_HELPONHELP: u32 = 4; +pub const HELP_SETINDEX: u32 = 5; +pub const HELP_SETCONTENTS: u32 = 5; +pub const HELP_CONTEXTPOPUP: u32 = 8; +pub const HELP_FORCEFILE: u32 = 9; +pub const HELP_KEY: u32 = 257; +pub const HELP_COMMAND: u32 = 258; +pub const HELP_PARTIALKEY: u32 = 261; +pub const HELP_MULTIKEY: u32 = 513; +pub const HELP_SETWINPOS: u32 = 515; +pub const HELP_CONTEXTMENU: u32 = 10; +pub const HELP_FINDER: u32 = 11; +pub const HELP_WM_HELP: u32 = 12; +pub const HELP_SETPOPUP_POS: u32 = 13; +pub const HELP_TCARD: u32 = 32768; +pub const HELP_TCARD_DATA: u32 = 16; +pub const HELP_TCARD_OTHER_CALLER: u32 = 17; +pub const IDH_NO_HELP: u32 = 28440; +pub const IDH_MISSING_CONTEXT: u32 = 28441; +pub const IDH_GENERIC_HELP_BUTTON: u32 = 28442; +pub const IDH_OK: u32 = 28443; +pub const IDH_CANCEL: u32 = 28444; +pub const IDH_HELP: u32 = 28445; +pub const GR_GDIOBJECTS: u32 = 0; +pub const GR_USEROBJECTS: u32 = 1; +pub const GR_GDIOBJECTS_PEAK: u32 = 2; +pub const GR_USEROBJECTS_PEAK: u32 = 4; +pub const SPI_GETBEEP: u32 = 1; +pub const SPI_SETBEEP: u32 = 2; +pub const SPI_GETMOUSE: u32 = 3; +pub const SPI_SETMOUSE: u32 = 4; +pub const SPI_GETBORDER: u32 = 5; +pub const SPI_SETBORDER: u32 = 6; +pub const SPI_GETKEYBOARDSPEED: u32 = 10; +pub const SPI_SETKEYBOARDSPEED: u32 = 11; +pub const SPI_LANGDRIVER: u32 = 12; +pub const SPI_ICONHORIZONTALSPACING: u32 = 13; +pub const SPI_GETSCREENSAVETIMEOUT: u32 = 14; +pub const SPI_SETSCREENSAVETIMEOUT: u32 = 15; +pub const SPI_GETSCREENSAVEACTIVE: u32 = 16; +pub const SPI_SETSCREENSAVEACTIVE: u32 = 17; +pub const SPI_GETGRIDGRANULARITY: u32 = 18; +pub const SPI_SETGRIDGRANULARITY: u32 = 19; +pub const SPI_SETDESKWALLPAPER: u32 = 20; +pub const SPI_SETDESKPATTERN: u32 = 21; +pub const SPI_GETKEYBOARDDELAY: u32 = 22; +pub const SPI_SETKEYBOARDDELAY: u32 = 23; +pub const SPI_ICONVERTICALSPACING: u32 = 24; +pub const SPI_GETICONTITLEWRAP: u32 = 25; +pub const SPI_SETICONTITLEWRAP: u32 = 26; +pub const SPI_GETMENUDROPALIGNMENT: u32 = 27; +pub const SPI_SETMENUDROPALIGNMENT: u32 = 28; +pub const SPI_SETDOUBLECLKWIDTH: u32 = 29; +pub const SPI_SETDOUBLECLKHEIGHT: u32 = 30; +pub const SPI_GETICONTITLELOGFONT: u32 = 31; +pub const SPI_SETDOUBLECLICKTIME: u32 = 32; +pub const SPI_SETMOUSEBUTTONSWAP: u32 = 33; +pub const SPI_SETICONTITLELOGFONT: u32 = 34; +pub const SPI_GETFASTTASKSWITCH: u32 = 35; +pub const SPI_SETFASTTASKSWITCH: u32 = 36; +pub const SPI_SETDRAGFULLWINDOWS: u32 = 37; +pub const SPI_GETDRAGFULLWINDOWS: u32 = 38; +pub const SPI_GETNONCLIENTMETRICS: u32 = 41; +pub const SPI_SETNONCLIENTMETRICS: u32 = 42; +pub const SPI_GETMINIMIZEDMETRICS: u32 = 43; +pub const SPI_SETMINIMIZEDMETRICS: u32 = 44; +pub const SPI_GETICONMETRICS: u32 = 45; +pub const SPI_SETICONMETRICS: u32 = 46; +pub const SPI_SETWORKAREA: u32 = 47; +pub const SPI_GETWORKAREA: u32 = 48; +pub const SPI_SETPENWINDOWS: u32 = 49; +pub const SPI_GETHIGHCONTRAST: u32 = 66; +pub const SPI_SETHIGHCONTRAST: u32 = 67; +pub const SPI_GETKEYBOARDPREF: u32 = 68; +pub const SPI_SETKEYBOARDPREF: u32 = 69; +pub const SPI_GETSCREENREADER: u32 = 70; +pub const SPI_SETSCREENREADER: u32 = 71; +pub const SPI_GETANIMATION: u32 = 72; +pub const SPI_SETANIMATION: u32 = 73; +pub const SPI_GETFONTSMOOTHING: u32 = 74; +pub const SPI_SETFONTSMOOTHING: u32 = 75; +pub const SPI_SETDRAGWIDTH: u32 = 76; +pub const SPI_SETDRAGHEIGHT: u32 = 77; +pub const SPI_SETHANDHELD: u32 = 78; +pub const SPI_GETLOWPOWERTIMEOUT: u32 = 79; +pub const SPI_GETPOWEROFFTIMEOUT: u32 = 80; +pub const SPI_SETLOWPOWERTIMEOUT: u32 = 81; +pub const SPI_SETPOWEROFFTIMEOUT: u32 = 82; +pub const SPI_GETLOWPOWERACTIVE: u32 = 83; +pub const SPI_GETPOWEROFFACTIVE: u32 = 84; +pub const SPI_SETLOWPOWERACTIVE: u32 = 85; +pub const SPI_SETPOWEROFFACTIVE: u32 = 86; +pub const SPI_SETCURSORS: u32 = 87; +pub const SPI_SETICONS: u32 = 88; +pub const SPI_GETDEFAULTINPUTLANG: u32 = 89; +pub const SPI_SETDEFAULTINPUTLANG: u32 = 90; +pub const SPI_SETLANGTOGGLE: u32 = 91; +pub const SPI_GETWINDOWSEXTENSION: u32 = 92; +pub const SPI_SETMOUSETRAILS: u32 = 93; +pub const SPI_GETMOUSETRAILS: u32 = 94; +pub const SPI_SETSCREENSAVERRUNNING: u32 = 97; +pub const SPI_SCREENSAVERRUNNING: u32 = 97; +pub const SPI_GETFILTERKEYS: u32 = 50; +pub const SPI_SETFILTERKEYS: u32 = 51; +pub const SPI_GETTOGGLEKEYS: u32 = 52; +pub const SPI_SETTOGGLEKEYS: u32 = 53; +pub const SPI_GETMOUSEKEYS: u32 = 54; +pub const SPI_SETMOUSEKEYS: u32 = 55; +pub const SPI_GETSHOWSOUNDS: u32 = 56; +pub const SPI_SETSHOWSOUNDS: u32 = 57; +pub const SPI_GETSTICKYKEYS: u32 = 58; +pub const SPI_SETSTICKYKEYS: u32 = 59; +pub const SPI_GETACCESSTIMEOUT: u32 = 60; +pub const SPI_SETACCESSTIMEOUT: u32 = 61; +pub const SPI_GETSERIALKEYS: u32 = 62; +pub const SPI_SETSERIALKEYS: u32 = 63; +pub const SPI_GETSOUNDSENTRY: u32 = 64; +pub const SPI_SETSOUNDSENTRY: u32 = 65; +pub const SPI_GETSNAPTODEFBUTTON: u32 = 95; +pub const SPI_SETSNAPTODEFBUTTON: u32 = 96; +pub const SPI_GETMOUSEHOVERWIDTH: u32 = 98; +pub const SPI_SETMOUSEHOVERWIDTH: u32 = 99; +pub const SPI_GETMOUSEHOVERHEIGHT: u32 = 100; +pub const SPI_SETMOUSEHOVERHEIGHT: u32 = 101; +pub const SPI_GETMOUSEHOVERTIME: u32 = 102; +pub const SPI_SETMOUSEHOVERTIME: u32 = 103; +pub const SPI_GETWHEELSCROLLLINES: u32 = 104; +pub const SPI_SETWHEELSCROLLLINES: u32 = 105; +pub const SPI_GETMENUSHOWDELAY: u32 = 106; +pub const SPI_SETMENUSHOWDELAY: u32 = 107; +pub const SPI_GETWHEELSCROLLCHARS: u32 = 108; +pub const SPI_SETWHEELSCROLLCHARS: u32 = 109; +pub const SPI_GETSHOWIMEUI: u32 = 110; +pub const SPI_SETSHOWIMEUI: u32 = 111; +pub const SPI_GETMOUSESPEED: u32 = 112; +pub const SPI_SETMOUSESPEED: u32 = 113; +pub const SPI_GETSCREENSAVERRUNNING: u32 = 114; +pub const SPI_GETDESKWALLPAPER: u32 = 115; +pub const SPI_GETAUDIODESCRIPTION: u32 = 116; +pub const SPI_SETAUDIODESCRIPTION: u32 = 117; +pub const SPI_GETSCREENSAVESECURE: u32 = 118; +pub const SPI_SETSCREENSAVESECURE: u32 = 119; +pub const SPI_GETHUNGAPPTIMEOUT: u32 = 120; +pub const SPI_SETHUNGAPPTIMEOUT: u32 = 121; +pub const SPI_GETWAITTOKILLTIMEOUT: u32 = 122; +pub const SPI_SETWAITTOKILLTIMEOUT: u32 = 123; +pub const SPI_GETWAITTOKILLSERVICETIMEOUT: u32 = 124; +pub const SPI_SETWAITTOKILLSERVICETIMEOUT: u32 = 125; +pub const SPI_GETMOUSEDOCKTHRESHOLD: u32 = 126; +pub const SPI_SETMOUSEDOCKTHRESHOLD: u32 = 127; +pub const SPI_GETPENDOCKTHRESHOLD: u32 = 128; +pub const SPI_SETPENDOCKTHRESHOLD: u32 = 129; +pub const SPI_GETWINARRANGING: u32 = 130; +pub const SPI_SETWINARRANGING: u32 = 131; +pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: u32 = 132; +pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: u32 = 133; +pub const SPI_GETPENDRAGOUTTHRESHOLD: u32 = 134; +pub const SPI_SETPENDRAGOUTTHRESHOLD: u32 = 135; +pub const SPI_GETMOUSESIDEMOVETHRESHOLD: u32 = 136; +pub const SPI_SETMOUSESIDEMOVETHRESHOLD: u32 = 137; +pub const SPI_GETPENSIDEMOVETHRESHOLD: u32 = 138; +pub const SPI_SETPENSIDEMOVETHRESHOLD: u32 = 139; +pub const SPI_GETDRAGFROMMAXIMIZE: u32 = 140; +pub const SPI_SETDRAGFROMMAXIMIZE: u32 = 141; +pub const SPI_GETSNAPSIZING: u32 = 142; +pub const SPI_SETSNAPSIZING: u32 = 143; +pub const SPI_GETDOCKMOVING: u32 = 144; +pub const SPI_SETDOCKMOVING: u32 = 145; +pub const MAX_TOUCH_PREDICTION_FILTER_TAPS: u32 = 3; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY: u32 = 8; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME: u32 = 8; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP: u32 = 1; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA: f64 = 0.001; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN: f64 = 0.9; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX: f64 = 0.999; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE: f64 = 0.001; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA: f64 = 0.99; +pub const SPI_GETTOUCHPREDICTIONPARAMETERS: u32 = 156; +pub const SPI_SETTOUCHPREDICTIONPARAMETERS: u32 = 157; +pub const MAX_LOGICALDPIOVERRIDE: u32 = 2; +pub const MIN_LOGICALDPIOVERRIDE: i32 = -2; +pub const SPI_GETLOGICALDPIOVERRIDE: u32 = 158; +pub const SPI_SETLOGICALDPIOVERRIDE: u32 = 159; +pub const SPI_GETMENURECT: u32 = 162; +pub const SPI_SETMENURECT: u32 = 163; +pub const SPI_GETACTIVEWINDOWTRACKING: u32 = 4096; +pub const SPI_SETACTIVEWINDOWTRACKING: u32 = 4097; +pub const SPI_GETMENUANIMATION: u32 = 4098; +pub const SPI_SETMENUANIMATION: u32 = 4099; +pub const SPI_GETCOMBOBOXANIMATION: u32 = 4100; +pub const SPI_SETCOMBOBOXANIMATION: u32 = 4101; +pub const SPI_GETLISTBOXSMOOTHSCROLLING: u32 = 4102; +pub const SPI_SETLISTBOXSMOOTHSCROLLING: u32 = 4103; +pub const SPI_GETGRADIENTCAPTIONS: u32 = 4104; +pub const SPI_SETGRADIENTCAPTIONS: u32 = 4105; +pub const SPI_GETKEYBOARDCUES: u32 = 4106; +pub const SPI_SETKEYBOARDCUES: u32 = 4107; +pub const SPI_GETMENUUNDERLINES: u32 = 4106; +pub const SPI_SETMENUUNDERLINES: u32 = 4107; +pub const SPI_GETACTIVEWNDTRKZORDER: u32 = 4108; +pub const SPI_SETACTIVEWNDTRKZORDER: u32 = 4109; +pub const SPI_GETHOTTRACKING: u32 = 4110; +pub const SPI_SETHOTTRACKING: u32 = 4111; +pub const SPI_GETMENUFADE: u32 = 4114; +pub const SPI_SETMENUFADE: u32 = 4115; +pub const SPI_GETSELECTIONFADE: u32 = 4116; +pub const SPI_SETSELECTIONFADE: u32 = 4117; +pub const SPI_GETTOOLTIPANIMATION: u32 = 4118; +pub const SPI_SETTOOLTIPANIMATION: u32 = 4119; +pub const SPI_GETTOOLTIPFADE: u32 = 4120; +pub const SPI_SETTOOLTIPFADE: u32 = 4121; +pub const SPI_GETCURSORSHADOW: u32 = 4122; +pub const SPI_SETCURSORSHADOW: u32 = 4123; +pub const SPI_GETMOUSESONAR: u32 = 4124; +pub const SPI_SETMOUSESONAR: u32 = 4125; +pub const SPI_GETMOUSECLICKLOCK: u32 = 4126; +pub const SPI_SETMOUSECLICKLOCK: u32 = 4127; +pub const SPI_GETMOUSEVANISH: u32 = 4128; +pub const SPI_SETMOUSEVANISH: u32 = 4129; +pub const SPI_GETFLATMENU: u32 = 4130; +pub const SPI_SETFLATMENU: u32 = 4131; +pub const SPI_GETDROPSHADOW: u32 = 4132; +pub const SPI_SETDROPSHADOW: u32 = 4133; +pub const SPI_GETBLOCKSENDINPUTRESETS: u32 = 4134; +pub const SPI_SETBLOCKSENDINPUTRESETS: u32 = 4135; +pub const SPI_GETUIEFFECTS: u32 = 4158; +pub const SPI_SETUIEFFECTS: u32 = 4159; +pub const SPI_GETDISABLEOVERLAPPEDCONTENT: u32 = 4160; +pub const SPI_SETDISABLEOVERLAPPEDCONTENT: u32 = 4161; +pub const SPI_GETCLIENTAREAANIMATION: u32 = 4162; +pub const SPI_SETCLIENTAREAANIMATION: u32 = 4163; +pub const SPI_GETCLEARTYPE: u32 = 4168; +pub const SPI_SETCLEARTYPE: u32 = 4169; +pub const SPI_GETSPEECHRECOGNITION: u32 = 4170; +pub const SPI_SETSPEECHRECOGNITION: u32 = 4171; +pub const SPI_GETCARETBROWSING: u32 = 4172; +pub const SPI_SETCARETBROWSING: u32 = 4173; +pub const SPI_GETTHREADLOCALINPUTSETTINGS: u32 = 4174; +pub const SPI_SETTHREADLOCALINPUTSETTINGS: u32 = 4175; +pub const SPI_GETSYSTEMLANGUAGEBAR: u32 = 4176; +pub const SPI_SETSYSTEMLANGUAGEBAR: u32 = 4177; +pub const SPI_GETFOREGROUNDLOCKTIMEOUT: u32 = 8192; +pub const SPI_SETFOREGROUNDLOCKTIMEOUT: u32 = 8193; +pub const SPI_GETACTIVEWNDTRKTIMEOUT: u32 = 8194; +pub const SPI_SETACTIVEWNDTRKTIMEOUT: u32 = 8195; +pub const SPI_GETFOREGROUNDFLASHCOUNT: u32 = 8196; +pub const SPI_SETFOREGROUNDFLASHCOUNT: u32 = 8197; +pub const SPI_GETCARETWIDTH: u32 = 8198; +pub const SPI_SETCARETWIDTH: u32 = 8199; +pub const SPI_GETMOUSECLICKLOCKTIME: u32 = 8200; +pub const SPI_SETMOUSECLICKLOCKTIME: u32 = 8201; +pub const SPI_GETFONTSMOOTHINGTYPE: u32 = 8202; +pub const SPI_SETFONTSMOOTHINGTYPE: u32 = 8203; +pub const FE_FONTSMOOTHINGSTANDARD: u32 = 1; +pub const FE_FONTSMOOTHINGCLEARTYPE: u32 = 2; +pub const SPI_GETFONTSMOOTHINGCONTRAST: u32 = 8204; +pub const SPI_SETFONTSMOOTHINGCONTRAST: u32 = 8205; +pub const SPI_GETFOCUSBORDERWIDTH: u32 = 8206; +pub const SPI_SETFOCUSBORDERWIDTH: u32 = 8207; +pub const SPI_GETFOCUSBORDERHEIGHT: u32 = 8208; +pub const SPI_SETFOCUSBORDERHEIGHT: u32 = 8209; +pub const SPI_GETFONTSMOOTHINGORIENTATION: u32 = 8210; +pub const SPI_SETFONTSMOOTHINGORIENTATION: u32 = 8211; +pub const FE_FONTSMOOTHINGORIENTATIONBGR: u32 = 0; +pub const FE_FONTSMOOTHINGORIENTATIONRGB: u32 = 1; +pub const SPI_GETMINIMUMHITRADIUS: u32 = 8212; +pub const SPI_SETMINIMUMHITRADIUS: u32 = 8213; +pub const SPI_GETMESSAGEDURATION: u32 = 8214; +pub const SPI_SETMESSAGEDURATION: u32 = 8215; +pub const SPI_GETCONTACTVISUALIZATION: u32 = 8216; +pub const SPI_SETCONTACTVISUALIZATION: u32 = 8217; +pub const CONTACTVISUALIZATION_OFF: u32 = 0; +pub const CONTACTVISUALIZATION_ON: u32 = 1; +pub const CONTACTVISUALIZATION_PRESENTATIONMODE: u32 = 2; +pub const SPI_GETGESTUREVISUALIZATION: u32 = 8218; +pub const SPI_SETGESTUREVISUALIZATION: u32 = 8219; +pub const GESTUREVISUALIZATION_OFF: u32 = 0; +pub const GESTUREVISUALIZATION_ON: u32 = 31; +pub const GESTUREVISUALIZATION_TAP: u32 = 1; +pub const GESTUREVISUALIZATION_DOUBLETAP: u32 = 2; +pub const GESTUREVISUALIZATION_PRESSANDTAP: u32 = 4; +pub const GESTUREVISUALIZATION_PRESSANDHOLD: u32 = 8; +pub const GESTUREVISUALIZATION_RIGHTTAP: u32 = 16; +pub const SPI_GETMOUSEWHEELROUTING: u32 = 8220; +pub const SPI_SETMOUSEWHEELROUTING: u32 = 8221; +pub const MOUSEWHEEL_ROUTING_FOCUS: u32 = 0; +pub const MOUSEWHEEL_ROUTING_HYBRID: u32 = 1; +pub const MOUSEWHEEL_ROUTING_MOUSE_POS: u32 = 2; +pub const SPI_GETPENVISUALIZATION: u32 = 8222; +pub const SPI_SETPENVISUALIZATION: u32 = 8223; +pub const PENVISUALIZATION_ON: u32 = 35; +pub const PENVISUALIZATION_OFF: u32 = 0; +pub const PENVISUALIZATION_TAP: u32 = 1; +pub const PENVISUALIZATION_DOUBLETAP: u32 = 2; +pub const PENVISUALIZATION_CURSOR: u32 = 32; +pub const SPI_GETPENARBITRATIONTYPE: u32 = 8224; +pub const SPI_SETPENARBITRATIONTYPE: u32 = 8225; +pub const PENARBITRATIONTYPE_NONE: u32 = 0; +pub const PENARBITRATIONTYPE_WIN8: u32 = 1; +pub const PENARBITRATIONTYPE_FIS: u32 = 2; +pub const PENARBITRATIONTYPE_SPT: u32 = 3; +pub const PENARBITRATIONTYPE_MAX: u32 = 4; +pub const SPI_GETCARETTIMEOUT: u32 = 8226; +pub const SPI_SETCARETTIMEOUT: u32 = 8227; +pub const SPI_GETHANDEDNESS: u32 = 8228; +pub const SPI_SETHANDEDNESS: u32 = 8229; +pub const SPIF_UPDATEINIFILE: u32 = 1; +pub const SPIF_SENDWININICHANGE: u32 = 2; +pub const SPIF_SENDCHANGE: u32 = 2; +pub const METRICS_USEDEFAULT: i32 = -1; +pub const ARW_BOTTOMLEFT: u32 = 0; +pub const ARW_BOTTOMRIGHT: u32 = 1; +pub const ARW_TOPLEFT: u32 = 2; +pub const ARW_TOPRIGHT: u32 = 3; +pub const ARW_STARTMASK: u32 = 3; +pub const ARW_STARTRIGHT: u32 = 1; +pub const ARW_STARTTOP: u32 = 2; +pub const ARW_LEFT: u32 = 0; +pub const ARW_RIGHT: u32 = 0; +pub const ARW_UP: u32 = 4; +pub const ARW_DOWN: u32 = 4; +pub const ARW_HIDE: u32 = 8; +pub const SERKF_SERIALKEYSON: u32 = 1; +pub const SERKF_AVAILABLE: u32 = 2; +pub const SERKF_INDICATOR: u32 = 4; +pub const HCF_HIGHCONTRASTON: u32 = 1; +pub const HCF_AVAILABLE: u32 = 2; +pub const HCF_HOTKEYACTIVE: u32 = 4; +pub const HCF_CONFIRMHOTKEY: u32 = 8; +pub const HCF_HOTKEYSOUND: u32 = 16; +pub const HCF_INDICATOR: u32 = 32; +pub const HCF_HOTKEYAVAILABLE: u32 = 64; +pub const HCF_LOGONDESKTOP: u32 = 256; +pub const HCF_DEFAULTDESKTOP: u32 = 512; +pub const HCF_OPTION_NOTHEMECHANGE: u32 = 4096; +pub const CDS_UPDATEREGISTRY: u32 = 1; +pub const CDS_TEST: u32 = 2; +pub const CDS_FULLSCREEN: u32 = 4; +pub const CDS_GLOBAL: u32 = 8; +pub const CDS_SET_PRIMARY: u32 = 16; +pub const CDS_VIDEOPARAMETERS: u32 = 32; +pub const CDS_ENABLE_UNSAFE_MODES: u32 = 256; +pub const CDS_DISABLE_UNSAFE_MODES: u32 = 512; +pub const CDS_RESET: u32 = 1073741824; +pub const CDS_RESET_EX: u32 = 536870912; +pub const CDS_NORESET: u32 = 268435456; +pub const VP_COMMAND_GET: u32 = 1; +pub const VP_COMMAND_SET: u32 = 2; +pub const VP_FLAGS_TV_MODE: u32 = 1; +pub const VP_FLAGS_TV_STANDARD: u32 = 2; +pub const VP_FLAGS_FLICKER: u32 = 4; +pub const VP_FLAGS_OVERSCAN: u32 = 8; +pub const VP_FLAGS_MAX_UNSCALED: u32 = 16; +pub const VP_FLAGS_POSITION: u32 = 32; +pub const VP_FLAGS_BRIGHTNESS: u32 = 64; +pub const VP_FLAGS_CONTRAST: u32 = 128; +pub const VP_FLAGS_COPYPROTECT: u32 = 256; +pub const VP_MODE_WIN_GRAPHICS: u32 = 1; +pub const VP_MODE_TV_PLAYBACK: u32 = 2; +pub const VP_TV_STANDARD_NTSC_M: u32 = 1; +pub const VP_TV_STANDARD_NTSC_M_J: u32 = 2; +pub const VP_TV_STANDARD_PAL_B: u32 = 4; +pub const VP_TV_STANDARD_PAL_D: u32 = 8; +pub const VP_TV_STANDARD_PAL_H: u32 = 16; +pub const VP_TV_STANDARD_PAL_I: u32 = 32; +pub const VP_TV_STANDARD_PAL_M: u32 = 64; +pub const VP_TV_STANDARD_PAL_N: u32 = 128; +pub const VP_TV_STANDARD_SECAM_B: u32 = 256; +pub const VP_TV_STANDARD_SECAM_D: u32 = 512; +pub const VP_TV_STANDARD_SECAM_G: u32 = 1024; +pub const VP_TV_STANDARD_SECAM_H: u32 = 2048; +pub const VP_TV_STANDARD_SECAM_K: u32 = 4096; +pub const VP_TV_STANDARD_SECAM_K1: u32 = 8192; +pub const VP_TV_STANDARD_SECAM_L: u32 = 16384; +pub const VP_TV_STANDARD_WIN_VGA: u32 = 32768; +pub const VP_TV_STANDARD_NTSC_433: u32 = 65536; +pub const VP_TV_STANDARD_PAL_G: u32 = 131072; +pub const VP_TV_STANDARD_PAL_60: u32 = 262144; +pub const VP_TV_STANDARD_SECAM_L1: u32 = 524288; +pub const VP_CP_TYPE_APS_TRIGGER: u32 = 1; +pub const VP_CP_TYPE_MACROVISION: u32 = 2; +pub const VP_CP_CMD_ACTIVATE: u32 = 1; +pub const VP_CP_CMD_DEACTIVATE: u32 = 2; +pub const VP_CP_CMD_CHANGE: u32 = 4; +pub const DISP_CHANGE_SUCCESSFUL: u32 = 0; +pub const DISP_CHANGE_RESTART: u32 = 1; +pub const DISP_CHANGE_FAILED: i32 = -1; +pub const DISP_CHANGE_BADMODE: i32 = -2; +pub const DISP_CHANGE_NOTUPDATED: i32 = -3; +pub const DISP_CHANGE_BADFLAGS: i32 = -4; +pub const DISP_CHANGE_BADPARAM: i32 = -5; +pub const DISP_CHANGE_BADDUALVIEW: i32 = -6; +pub const EDS_RAWMODE: u32 = 2; +pub const EDS_ROTATEDMODE: u32 = 4; +pub const EDD_GET_DEVICE_INTERFACE_NAME: u32 = 1; +pub const FKF_FILTERKEYSON: u32 = 1; +pub const FKF_AVAILABLE: u32 = 2; +pub const FKF_HOTKEYACTIVE: u32 = 4; +pub const FKF_CONFIRMHOTKEY: u32 = 8; +pub const FKF_HOTKEYSOUND: u32 = 16; +pub const FKF_INDICATOR: u32 = 32; +pub const FKF_CLICKON: u32 = 64; +pub const SKF_STICKYKEYSON: u32 = 1; +pub const SKF_AVAILABLE: u32 = 2; +pub const SKF_HOTKEYACTIVE: u32 = 4; +pub const SKF_CONFIRMHOTKEY: u32 = 8; +pub const SKF_HOTKEYSOUND: u32 = 16; +pub const SKF_INDICATOR: u32 = 32; +pub const SKF_AUDIBLEFEEDBACK: u32 = 64; +pub const SKF_TRISTATE: u32 = 128; +pub const SKF_TWOKEYSOFF: u32 = 256; +pub const SKF_LALTLATCHED: u32 = 268435456; +pub const SKF_LCTLLATCHED: u32 = 67108864; +pub const SKF_LSHIFTLATCHED: u32 = 16777216; +pub const SKF_RALTLATCHED: u32 = 536870912; +pub const SKF_RCTLLATCHED: u32 = 134217728; +pub const SKF_RSHIFTLATCHED: u32 = 33554432; +pub const SKF_LWINLATCHED: u32 = 1073741824; +pub const SKF_RWINLATCHED: u32 = 2147483648; +pub const SKF_LALTLOCKED: u32 = 1048576; +pub const SKF_LCTLLOCKED: u32 = 262144; +pub const SKF_LSHIFTLOCKED: u32 = 65536; +pub const SKF_RALTLOCKED: u32 = 2097152; +pub const SKF_RCTLLOCKED: u32 = 524288; +pub const SKF_RSHIFTLOCKED: u32 = 131072; +pub const SKF_LWINLOCKED: u32 = 4194304; +pub const SKF_RWINLOCKED: u32 = 8388608; +pub const MKF_MOUSEKEYSON: u32 = 1; +pub const MKF_AVAILABLE: u32 = 2; +pub const MKF_HOTKEYACTIVE: u32 = 4; +pub const MKF_CONFIRMHOTKEY: u32 = 8; +pub const MKF_HOTKEYSOUND: u32 = 16; +pub const MKF_INDICATOR: u32 = 32; +pub const MKF_MODIFIERS: u32 = 64; +pub const MKF_REPLACENUMBERS: u32 = 128; +pub const MKF_LEFTBUTTONSEL: u32 = 268435456; +pub const MKF_RIGHTBUTTONSEL: u32 = 536870912; +pub const MKF_LEFTBUTTONDOWN: u32 = 16777216; +pub const MKF_RIGHTBUTTONDOWN: u32 = 33554432; +pub const MKF_MOUSEMODE: u32 = 2147483648; +pub const ATF_TIMEOUTON: u32 = 1; +pub const ATF_ONOFFFEEDBACK: u32 = 2; +pub const SSGF_NONE: u32 = 0; +pub const SSGF_DISPLAY: u32 = 3; +pub const SSTF_NONE: u32 = 0; +pub const SSTF_CHARS: u32 = 1; +pub const SSTF_BORDER: u32 = 2; +pub const SSTF_DISPLAY: u32 = 3; +pub const SSWF_NONE: u32 = 0; +pub const SSWF_TITLE: u32 = 1; +pub const SSWF_WINDOW: u32 = 2; +pub const SSWF_DISPLAY: u32 = 3; +pub const SSWF_CUSTOM: u32 = 4; +pub const SSF_SOUNDSENTRYON: u32 = 1; +pub const SSF_AVAILABLE: u32 = 2; +pub const SSF_INDICATOR: u32 = 4; +pub const TKF_TOGGLEKEYSON: u32 = 1; +pub const TKF_AVAILABLE: u32 = 2; +pub const TKF_HOTKEYACTIVE: u32 = 4; +pub const TKF_CONFIRMHOTKEY: u32 = 8; +pub const TKF_HOTKEYSOUND: u32 = 16; +pub const TKF_INDICATOR: u32 = 32; +pub const SLE_ERROR: u32 = 1; +pub const SLE_MINORERROR: u32 = 2; +pub const SLE_WARNING: u32 = 3; +pub const MONITOR_DEFAULTTONULL: u32 = 0; +pub const MONITOR_DEFAULTTOPRIMARY: u32 = 1; +pub const MONITOR_DEFAULTTONEAREST: u32 = 2; +pub const MONITORINFOF_PRIMARY: u32 = 1; +pub const WINEVENT_OUTOFCONTEXT: u32 = 0; +pub const WINEVENT_SKIPOWNTHREAD: u32 = 1; +pub const WINEVENT_SKIPOWNPROCESS: u32 = 2; +pub const WINEVENT_INCONTEXT: u32 = 4; +pub const CHILDID_SELF: u32 = 0; +pub const INDEXID_OBJECT: u32 = 0; +pub const INDEXID_CONTAINER: u32 = 0; +pub const EVENT_MIN: u32 = 1; +pub const EVENT_MAX: u32 = 2147483647; +pub const EVENT_SYSTEM_SOUND: u32 = 1; +pub const EVENT_SYSTEM_ALERT: u32 = 2; +pub const EVENT_SYSTEM_FOREGROUND: u32 = 3; +pub const EVENT_SYSTEM_MENUSTART: u32 = 4; +pub const EVENT_SYSTEM_MENUEND: u32 = 5; +pub const EVENT_SYSTEM_MENUPOPUPSTART: u32 = 6; +pub const EVENT_SYSTEM_MENUPOPUPEND: u32 = 7; +pub const EVENT_SYSTEM_CAPTURESTART: u32 = 8; +pub const EVENT_SYSTEM_CAPTUREEND: u32 = 9; +pub const EVENT_SYSTEM_MOVESIZESTART: u32 = 10; +pub const EVENT_SYSTEM_MOVESIZEEND: u32 = 11; +pub const EVENT_SYSTEM_CONTEXTHELPSTART: u32 = 12; +pub const EVENT_SYSTEM_CONTEXTHELPEND: u32 = 13; +pub const EVENT_SYSTEM_DRAGDROPSTART: u32 = 14; +pub const EVENT_SYSTEM_DRAGDROPEND: u32 = 15; +pub const EVENT_SYSTEM_DIALOGSTART: u32 = 16; +pub const EVENT_SYSTEM_DIALOGEND: u32 = 17; +pub const EVENT_SYSTEM_SCROLLINGSTART: u32 = 18; +pub const EVENT_SYSTEM_SCROLLINGEND: u32 = 19; +pub const EVENT_SYSTEM_SWITCHSTART: u32 = 20; +pub const EVENT_SYSTEM_SWITCHEND: u32 = 21; +pub const EVENT_SYSTEM_MINIMIZESTART: u32 = 22; +pub const EVENT_SYSTEM_MINIMIZEEND: u32 = 23; +pub const EVENT_SYSTEM_DESKTOPSWITCH: u32 = 32; +pub const EVENT_SYSTEM_SWITCHER_APPGRABBED: u32 = 36; +pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET: u32 = 37; +pub const EVENT_SYSTEM_SWITCHER_APPDROPPED: u32 = 38; +pub const EVENT_SYSTEM_SWITCHER_CANCELLED: u32 = 39; +pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION: u32 = 41; +pub const EVENT_SYSTEM_END: u32 = 255; +pub const EVENT_OEM_DEFINED_START: u32 = 257; +pub const EVENT_OEM_DEFINED_END: u32 = 511; +pub const EVENT_UIA_EVENTID_START: u32 = 19968; +pub const EVENT_UIA_EVENTID_END: u32 = 20223; +pub const EVENT_UIA_PROPID_START: u32 = 29952; +pub const EVENT_UIA_PROPID_END: u32 = 30207; +pub const EVENT_CONSOLE_CARET: u32 = 16385; +pub const EVENT_CONSOLE_UPDATE_REGION: u32 = 16386; +pub const EVENT_CONSOLE_UPDATE_SIMPLE: u32 = 16387; +pub const EVENT_CONSOLE_UPDATE_SCROLL: u32 = 16388; +pub const EVENT_CONSOLE_LAYOUT: u32 = 16389; +pub const EVENT_CONSOLE_START_APPLICATION: u32 = 16390; +pub const EVENT_CONSOLE_END_APPLICATION: u32 = 16391; +pub const CONSOLE_APPLICATION_16BIT: u32 = 0; +pub const CONSOLE_CARET_SELECTION: u32 = 1; +pub const CONSOLE_CARET_VISIBLE: u32 = 2; +pub const EVENT_CONSOLE_END: u32 = 16639; +pub const EVENT_OBJECT_CREATE: u32 = 32768; +pub const EVENT_OBJECT_DESTROY: u32 = 32769; +pub const EVENT_OBJECT_SHOW: u32 = 32770; +pub const EVENT_OBJECT_HIDE: u32 = 32771; +pub const EVENT_OBJECT_REORDER: u32 = 32772; +pub const EVENT_OBJECT_FOCUS: u32 = 32773; +pub const EVENT_OBJECT_SELECTION: u32 = 32774; +pub const EVENT_OBJECT_SELECTIONADD: u32 = 32775; +pub const EVENT_OBJECT_SELECTIONREMOVE: u32 = 32776; +pub const EVENT_OBJECT_SELECTIONWITHIN: u32 = 32777; +pub const EVENT_OBJECT_STATECHANGE: u32 = 32778; +pub const EVENT_OBJECT_LOCATIONCHANGE: u32 = 32779; +pub const EVENT_OBJECT_NAMECHANGE: u32 = 32780; +pub const EVENT_OBJECT_DESCRIPTIONCHANGE: u32 = 32781; +pub const EVENT_OBJECT_VALUECHANGE: u32 = 32782; +pub const EVENT_OBJECT_PARENTCHANGE: u32 = 32783; +pub const EVENT_OBJECT_HELPCHANGE: u32 = 32784; +pub const EVENT_OBJECT_DEFACTIONCHANGE: u32 = 32785; +pub const EVENT_OBJECT_ACCELERATORCHANGE: u32 = 32786; +pub const EVENT_OBJECT_INVOKED: u32 = 32787; +pub const EVENT_OBJECT_TEXTSELECTIONCHANGED: u32 = 32788; +pub const EVENT_OBJECT_CONTENTSCROLLED: u32 = 32789; +pub const EVENT_SYSTEM_ARRANGMENTPREVIEW: u32 = 32790; +pub const EVENT_OBJECT_CLOAKED: u32 = 32791; +pub const EVENT_OBJECT_UNCLOAKED: u32 = 32792; +pub const EVENT_OBJECT_LIVEREGIONCHANGED: u32 = 32793; +pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED: u32 = 32800; +pub const EVENT_OBJECT_DRAGSTART: u32 = 32801; +pub const EVENT_OBJECT_DRAGCANCEL: u32 = 32802; +pub const EVENT_OBJECT_DRAGCOMPLETE: u32 = 32803; +pub const EVENT_OBJECT_DRAGENTER: u32 = 32804; +pub const EVENT_OBJECT_DRAGLEAVE: u32 = 32805; +pub const EVENT_OBJECT_DRAGDROPPED: u32 = 32806; +pub const EVENT_OBJECT_IME_SHOW: u32 = 32807; +pub const EVENT_OBJECT_IME_HIDE: u32 = 32808; +pub const EVENT_OBJECT_IME_CHANGE: u32 = 32809; +pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED: u32 = 32816; +pub const EVENT_OBJECT_END: u32 = 33023; +pub const EVENT_AIA_START: u32 = 40960; +pub const EVENT_AIA_END: u32 = 45055; +pub const SOUND_SYSTEM_STARTUP: u32 = 1; +pub const SOUND_SYSTEM_SHUTDOWN: u32 = 2; +pub const SOUND_SYSTEM_BEEP: u32 = 3; +pub const SOUND_SYSTEM_ERROR: u32 = 4; +pub const SOUND_SYSTEM_QUESTION: u32 = 5; +pub const SOUND_SYSTEM_WARNING: u32 = 6; +pub const SOUND_SYSTEM_INFORMATION: u32 = 7; +pub const SOUND_SYSTEM_MAXIMIZE: u32 = 8; +pub const SOUND_SYSTEM_MINIMIZE: u32 = 9; +pub const SOUND_SYSTEM_RESTOREUP: u32 = 10; +pub const SOUND_SYSTEM_RESTOREDOWN: u32 = 11; +pub const SOUND_SYSTEM_APPSTART: u32 = 12; +pub const SOUND_SYSTEM_FAULT: u32 = 13; +pub const SOUND_SYSTEM_APPEND: u32 = 14; +pub const SOUND_SYSTEM_MENUCOMMAND: u32 = 15; +pub const SOUND_SYSTEM_MENUPOPUP: u32 = 16; +pub const CSOUND_SYSTEM: u32 = 16; +pub const ALERT_SYSTEM_INFORMATIONAL: u32 = 1; +pub const ALERT_SYSTEM_WARNING: u32 = 2; +pub const ALERT_SYSTEM_ERROR: u32 = 3; +pub const ALERT_SYSTEM_QUERY: u32 = 4; +pub const ALERT_SYSTEM_CRITICAL: u32 = 5; +pub const CALERT_SYSTEM: u32 = 6; +pub const GUI_CARETBLINKING: u32 = 1; +pub const GUI_INMOVESIZE: u32 = 2; +pub const GUI_INMENUMODE: u32 = 4; +pub const GUI_SYSTEMMENUMODE: u32 = 8; +pub const GUI_POPUPMENUMODE: u32 = 16; +pub const GUI_16BITTASK: u32 = 0; +pub const USER_DEFAULT_SCREEN_DPI: u32 = 96; +pub const STATE_SYSTEM_UNAVAILABLE: u32 = 1; +pub const STATE_SYSTEM_SELECTED: u32 = 2; +pub const STATE_SYSTEM_FOCUSED: u32 = 4; +pub const STATE_SYSTEM_PRESSED: u32 = 8; +pub const STATE_SYSTEM_CHECKED: u32 = 16; +pub const STATE_SYSTEM_MIXED: u32 = 32; +pub const STATE_SYSTEM_INDETERMINATE: u32 = 32; +pub const STATE_SYSTEM_READONLY: u32 = 64; +pub const STATE_SYSTEM_HOTTRACKED: u32 = 128; +pub const STATE_SYSTEM_DEFAULT: u32 = 256; +pub const STATE_SYSTEM_EXPANDED: u32 = 512; +pub const STATE_SYSTEM_COLLAPSED: u32 = 1024; +pub const STATE_SYSTEM_BUSY: u32 = 2048; +pub const STATE_SYSTEM_FLOATING: u32 = 4096; +pub const STATE_SYSTEM_MARQUEED: u32 = 8192; +pub const STATE_SYSTEM_ANIMATED: u32 = 16384; +pub const STATE_SYSTEM_INVISIBLE: u32 = 32768; +pub const STATE_SYSTEM_OFFSCREEN: u32 = 65536; +pub const STATE_SYSTEM_SIZEABLE: u32 = 131072; +pub const STATE_SYSTEM_MOVEABLE: u32 = 262144; +pub const STATE_SYSTEM_SELFVOICING: u32 = 524288; +pub const STATE_SYSTEM_FOCUSABLE: u32 = 1048576; +pub const STATE_SYSTEM_SELECTABLE: u32 = 2097152; +pub const STATE_SYSTEM_LINKED: u32 = 4194304; +pub const STATE_SYSTEM_TRAVERSED: u32 = 8388608; +pub const STATE_SYSTEM_MULTISELECTABLE: u32 = 16777216; +pub const STATE_SYSTEM_EXTSELECTABLE: u32 = 33554432; +pub const STATE_SYSTEM_ALERT_LOW: u32 = 67108864; +pub const STATE_SYSTEM_ALERT_MEDIUM: u32 = 134217728; +pub const STATE_SYSTEM_ALERT_HIGH: u32 = 268435456; +pub const STATE_SYSTEM_PROTECTED: u32 = 536870912; +pub const STATE_SYSTEM_VALID: u32 = 1073741823; +pub const CCHILDREN_TITLEBAR: u32 = 5; +pub const CCHILDREN_SCROLLBAR: u32 = 5; +pub const CURSOR_SHOWING: u32 = 1; +pub const CURSOR_SUPPRESSED: u32 = 2; +pub const WS_ACTIVECAPTION: u32 = 1; +pub const GA_PARENT: u32 = 1; +pub const GA_ROOT: u32 = 2; +pub const GA_ROOTOWNER: u32 = 3; +pub const RIM_INPUT: u32 = 0; +pub const RIM_INPUTSINK: u32 = 1; +pub const RIM_TYPEMOUSE: u32 = 0; +pub const RIM_TYPEKEYBOARD: u32 = 1; +pub const RIM_TYPEHID: u32 = 2; +pub const RIM_TYPEMAX: u32 = 2; +pub const RI_MOUSE_LEFT_BUTTON_DOWN: u32 = 1; +pub const RI_MOUSE_LEFT_BUTTON_UP: u32 = 2; +pub const RI_MOUSE_RIGHT_BUTTON_DOWN: u32 = 4; +pub const RI_MOUSE_RIGHT_BUTTON_UP: u32 = 8; +pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: u32 = 16; +pub const RI_MOUSE_MIDDLE_BUTTON_UP: u32 = 32; +pub const RI_MOUSE_BUTTON_1_DOWN: u32 = 1; +pub const RI_MOUSE_BUTTON_1_UP: u32 = 2; +pub const RI_MOUSE_BUTTON_2_DOWN: u32 = 4; +pub const RI_MOUSE_BUTTON_2_UP: u32 = 8; +pub const RI_MOUSE_BUTTON_3_DOWN: u32 = 16; +pub const RI_MOUSE_BUTTON_3_UP: u32 = 32; +pub const RI_MOUSE_BUTTON_4_DOWN: u32 = 64; +pub const RI_MOUSE_BUTTON_4_UP: u32 = 128; +pub const RI_MOUSE_BUTTON_5_DOWN: u32 = 256; +pub const RI_MOUSE_BUTTON_5_UP: u32 = 512; +pub const RI_MOUSE_WHEEL: u32 = 1024; +pub const RI_MOUSE_HWHEEL: u32 = 2048; +pub const MOUSE_MOVE_RELATIVE: u32 = 0; +pub const MOUSE_MOVE_ABSOLUTE: u32 = 1; +pub const MOUSE_VIRTUAL_DESKTOP: u32 = 2; +pub const MOUSE_ATTRIBUTES_CHANGED: u32 = 4; +pub const MOUSE_MOVE_NOCOALESCE: u32 = 8; +pub const KEYBOARD_OVERRUN_MAKE_CODE: u32 = 255; +pub const RI_KEY_MAKE: u32 = 0; +pub const RI_KEY_BREAK: u32 = 1; +pub const RI_KEY_E0: u32 = 2; +pub const RI_KEY_E1: u32 = 4; +pub const RI_KEY_TERMSRV_SET_LED: u32 = 8; +pub const RI_KEY_TERMSRV_SHADOW: u32 = 16; +pub const RID_INPUT: u32 = 268435459; +pub const RID_HEADER: u32 = 268435461; +pub const RIDI_PREPARSEDDATA: u32 = 536870917; +pub const RIDI_DEVICENAME: u32 = 536870919; +pub const RIDI_DEVICEINFO: u32 = 536870923; +pub const RIDEV_REMOVE: u32 = 1; +pub const RIDEV_EXCLUDE: u32 = 16; +pub const RIDEV_PAGEONLY: u32 = 32; +pub const RIDEV_NOLEGACY: u32 = 48; +pub const RIDEV_INPUTSINK: u32 = 256; +pub const RIDEV_CAPTUREMOUSE: u32 = 512; +pub const RIDEV_NOHOTKEYS: u32 = 512; +pub const RIDEV_APPKEYS: u32 = 1024; +pub const RIDEV_EXINPUTSINK: u32 = 4096; +pub const RIDEV_DEVNOTIFY: u32 = 8192; +pub const RIDEV_EXMODEMASK: u32 = 240; +pub const GIDC_ARRIVAL: u32 = 1; +pub const GIDC_REMOVAL: u32 = 2; +pub const POINTER_DEVICE_PRODUCT_STRING_MAX: u32 = 520; +pub const PDC_ARRIVAL: u32 = 1; +pub const PDC_REMOVAL: u32 = 2; +pub const PDC_ORIENTATION_0: u32 = 4; +pub const PDC_ORIENTATION_90: u32 = 8; +pub const PDC_ORIENTATION_180: u32 = 16; +pub const PDC_ORIENTATION_270: u32 = 32; +pub const PDC_MODE_DEFAULT: u32 = 64; +pub const PDC_MODE_CENTERED: u32 = 128; +pub const PDC_MAPPING_CHANGE: u32 = 256; +pub const PDC_RESOLUTION: u32 = 512; +pub const PDC_ORIGIN: u32 = 1024; +pub const PDC_MODE_ASPECTRATIOPRESERVED: u32 = 2048; +pub const MSGFLT_ADD: u32 = 1; +pub const MSGFLT_REMOVE: u32 = 2; +pub const MSGFLTINFO_NONE: u32 = 0; +pub const MSGFLTINFO_ALREADYALLOWED_FORWND: u32 = 1; +pub const MSGFLTINFO_ALREADYDISALLOWED_FORWND: u32 = 2; +pub const MSGFLTINFO_ALLOWED_HIGHER: u32 = 3; +pub const MSGFLT_RESET: u32 = 0; +pub const MSGFLT_ALLOW: u32 = 1; +pub const MSGFLT_DISALLOW: u32 = 2; +pub const GF_BEGIN: u32 = 1; +pub const GF_INERTIA: u32 = 2; +pub const GF_END: u32 = 4; +pub const GID_BEGIN: u32 = 1; +pub const GID_END: u32 = 2; +pub const GID_ZOOM: u32 = 3; +pub const GID_PAN: u32 = 4; +pub const GID_ROTATE: u32 = 5; +pub const GID_TWOFINGERTAP: u32 = 6; +pub const GID_PRESSANDTAP: u32 = 7; +pub const GID_ROLLOVER: u32 = 7; +pub const GC_ALLGESTURES: u32 = 1; +pub const GC_ZOOM: u32 = 1; +pub const GC_PAN: u32 = 1; +pub const GC_PAN_WITH_SINGLE_FINGER_VERTICALLY: u32 = 2; +pub const GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY: u32 = 4; +pub const GC_PAN_WITH_GUTTER: u32 = 8; +pub const GC_PAN_WITH_INERTIA: u32 = 16; +pub const GC_ROTATE: u32 = 1; +pub const GC_TWOFINGERTAP: u32 = 1; +pub const GC_PRESSANDTAP: u32 = 1; +pub const GC_ROLLOVER: u32 = 1; +pub const GESTURECONFIGMAXCOUNT: u32 = 256; +pub const GCF_INCLUDE_ANCESTORS: u32 = 1; +pub const NID_INTEGRATED_TOUCH: u32 = 1; +pub const NID_EXTERNAL_TOUCH: u32 = 2; +pub const NID_INTEGRATED_PEN: u32 = 4; +pub const NID_EXTERNAL_PEN: u32 = 8; +pub const NID_MULTI_INPUT: u32 = 64; +pub const NID_READY: u32 = 128; +pub const MAX_STR_BLOCKREASON: u32 = 256; +pub const MAX_LEADBYTES: u32 = 12; +pub const MAX_DEFAULTCHAR: u32 = 2; +pub const HIGH_SURROGATE_START: u32 = 55296; +pub const HIGH_SURROGATE_END: u32 = 56319; +pub const LOW_SURROGATE_START: u32 = 56320; +pub const LOW_SURROGATE_END: u32 = 57343; +pub const MB_PRECOMPOSED: u32 = 1; +pub const MB_COMPOSITE: u32 = 2; +pub const MB_USEGLYPHCHARS: u32 = 4; +pub const MB_ERR_INVALID_CHARS: u32 = 8; +pub const WC_COMPOSITECHECK: u32 = 512; +pub const WC_DISCARDNS: u32 = 16; +pub const WC_SEPCHARS: u32 = 32; +pub const WC_DEFAULTCHAR: u32 = 64; +pub const WC_ERR_INVALID_CHARS: u32 = 128; +pub const WC_NO_BEST_FIT_CHARS: u32 = 1024; +pub const CT_CTYPE1: u32 = 1; +pub const CT_CTYPE2: u32 = 2; +pub const CT_CTYPE3: u32 = 4; +pub const C1_UPPER: u32 = 1; +pub const C1_LOWER: u32 = 2; +pub const C1_DIGIT: u32 = 4; +pub const C1_SPACE: u32 = 8; +pub const C1_PUNCT: u32 = 16; +pub const C1_CNTRL: u32 = 32; +pub const C1_BLANK: u32 = 64; +pub const C1_XDIGIT: u32 = 128; +pub const C1_ALPHA: u32 = 256; +pub const C1_DEFINED: u32 = 512; +pub const C2_LEFTTORIGHT: u32 = 1; +pub const C2_RIGHTTOLEFT: u32 = 2; +pub const C2_EUROPENUMBER: u32 = 3; +pub const C2_EUROPESEPARATOR: u32 = 4; +pub const C2_EUROPETERMINATOR: u32 = 5; +pub const C2_ARABICNUMBER: u32 = 6; +pub const C2_COMMONSEPARATOR: u32 = 7; +pub const C2_BLOCKSEPARATOR: u32 = 8; +pub const C2_SEGMENTSEPARATOR: u32 = 9; +pub const C2_WHITESPACE: u32 = 10; +pub const C2_OTHERNEUTRAL: u32 = 11; +pub const C2_NOTAPPLICABLE: u32 = 0; +pub const C3_NONSPACING: u32 = 1; +pub const C3_DIACRITIC: u32 = 2; +pub const C3_VOWELMARK: u32 = 4; +pub const C3_SYMBOL: u32 = 8; +pub const C3_KATAKANA: u32 = 16; +pub const C3_HIRAGANA: u32 = 32; +pub const C3_HALFWIDTH: u32 = 64; +pub const C3_FULLWIDTH: u32 = 128; +pub const C3_IDEOGRAPH: u32 = 256; +pub const C3_KASHIDA: u32 = 512; +pub const C3_LEXICAL: u32 = 1024; +pub const C3_HIGHSURROGATE: u32 = 2048; +pub const C3_LOWSURROGATE: u32 = 4096; +pub const C3_ALPHA: u32 = 32768; +pub const C3_NOTAPPLICABLE: u32 = 0; +pub const NORM_IGNORECASE: u32 = 1; +pub const NORM_IGNORENONSPACE: u32 = 2; +pub const NORM_IGNORESYMBOLS: u32 = 4; +pub const LINGUISTIC_IGNORECASE: u32 = 16; +pub const LINGUISTIC_IGNOREDIACRITIC: u32 = 32; +pub const NORM_IGNOREKANATYPE: u32 = 65536; +pub const NORM_IGNOREWIDTH: u32 = 131072; +pub const NORM_LINGUISTIC_CASING: u32 = 134217728; +pub const MAP_FOLDCZONE: u32 = 16; +pub const MAP_PRECOMPOSED: u32 = 32; +pub const MAP_COMPOSITE: u32 = 64; +pub const MAP_FOLDDIGITS: u32 = 128; +pub const MAP_EXPAND_LIGATURES: u32 = 8192; +pub const LCMAP_LOWERCASE: u32 = 256; +pub const LCMAP_UPPERCASE: u32 = 512; +pub const LCMAP_TITLECASE: u32 = 768; +pub const LCMAP_SORTKEY: u32 = 1024; +pub const LCMAP_BYTEREV: u32 = 2048; +pub const LCMAP_HIRAGANA: u32 = 1048576; +pub const LCMAP_KATAKANA: u32 = 2097152; +pub const LCMAP_HALFWIDTH: u32 = 4194304; +pub const LCMAP_FULLWIDTH: u32 = 8388608; +pub const LCMAP_LINGUISTIC_CASING: u32 = 16777216; +pub const LCMAP_SIMPLIFIED_CHINESE: u32 = 33554432; +pub const LCMAP_TRADITIONAL_CHINESE: u32 = 67108864; +pub const LCMAP_SORTHANDLE: u32 = 536870912; +pub const LCMAP_HASH: u32 = 262144; +pub const FIND_STARTSWITH: u32 = 1048576; +pub const FIND_ENDSWITH: u32 = 2097152; +pub const FIND_FROMSTART: u32 = 4194304; +pub const FIND_FROMEND: u32 = 8388608; +pub const LGRPID_INSTALLED: u32 = 1; +pub const LGRPID_SUPPORTED: u32 = 2; +pub const LCID_INSTALLED: u32 = 1; +pub const LCID_SUPPORTED: u32 = 2; +pub const LCID_ALTERNATE_SORTS: u32 = 4; +pub const LOCALE_ALL: u32 = 0; +pub const LOCALE_WINDOWS: u32 = 1; +pub const LOCALE_SUPPLEMENTAL: u32 = 2; +pub const LOCALE_ALTERNATE_SORTS: u32 = 4; +pub const LOCALE_REPLACEMENT: u32 = 8; +pub const LOCALE_NEUTRALDATA: u32 = 16; +pub const LOCALE_SPECIFICDATA: u32 = 32; +pub const CP_INSTALLED: u32 = 1; +pub const CP_SUPPORTED: u32 = 2; +pub const SORT_STRINGSORT: u32 = 4096; +pub const SORT_DIGITSASNUMBERS: u32 = 8; +pub const CSTR_LESS_THAN: u32 = 1; +pub const CSTR_EQUAL: u32 = 2; +pub const CSTR_GREATER_THAN: u32 = 3; +pub const CP_ACP: u32 = 0; +pub const CP_OEMCP: u32 = 1; +pub const CP_MACCP: u32 = 2; +pub const CP_THREAD_ACP: u32 = 3; +pub const CP_SYMBOL: u32 = 42; +pub const CP_UTF7: u32 = 65000; +pub const CP_UTF8: u32 = 65001; +pub const CTRY_DEFAULT: u32 = 0; +pub const CTRY_ALBANIA: u32 = 355; +pub const CTRY_ALGERIA: u32 = 213; +pub const CTRY_ARGENTINA: u32 = 54; +pub const CTRY_ARMENIA: u32 = 374; +pub const CTRY_AUSTRALIA: u32 = 61; +pub const CTRY_AUSTRIA: u32 = 43; +pub const CTRY_AZERBAIJAN: u32 = 994; +pub const CTRY_BAHRAIN: u32 = 973; +pub const CTRY_BELARUS: u32 = 375; +pub const CTRY_BELGIUM: u32 = 32; +pub const CTRY_BELIZE: u32 = 501; +pub const CTRY_BOLIVIA: u32 = 591; +pub const CTRY_BRAZIL: u32 = 55; +pub const CTRY_BRUNEI_DARUSSALAM: u32 = 673; +pub const CTRY_BULGARIA: u32 = 359; +pub const CTRY_CANADA: u32 = 2; +pub const CTRY_CARIBBEAN: u32 = 1; +pub const CTRY_CHILE: u32 = 56; +pub const CTRY_COLOMBIA: u32 = 57; +pub const CTRY_COSTA_RICA: u32 = 506; +pub const CTRY_CROATIA: u32 = 385; +pub const CTRY_CZECH: u32 = 420; +pub const CTRY_DENMARK: u32 = 45; +pub const CTRY_DOMINICAN_REPUBLIC: u32 = 1; +pub const CTRY_ECUADOR: u32 = 593; +pub const CTRY_EGYPT: u32 = 20; +pub const CTRY_EL_SALVADOR: u32 = 503; +pub const CTRY_ESTONIA: u32 = 372; +pub const CTRY_FAEROE_ISLANDS: u32 = 298; +pub const CTRY_FINLAND: u32 = 358; +pub const CTRY_FRANCE: u32 = 33; +pub const CTRY_GEORGIA: u32 = 995; +pub const CTRY_GERMANY: u32 = 49; +pub const CTRY_GREECE: u32 = 30; +pub const CTRY_GUATEMALA: u32 = 502; +pub const CTRY_HONDURAS: u32 = 504; +pub const CTRY_HONG_KONG: u32 = 852; +pub const CTRY_HUNGARY: u32 = 36; +pub const CTRY_ICELAND: u32 = 354; +pub const CTRY_INDIA: u32 = 91; +pub const CTRY_INDONESIA: u32 = 62; +pub const CTRY_IRAN: u32 = 981; +pub const CTRY_IRAQ: u32 = 964; +pub const CTRY_IRELAND: u32 = 353; +pub const CTRY_ISRAEL: u32 = 972; +pub const CTRY_ITALY: u32 = 39; +pub const CTRY_JAMAICA: u32 = 1; +pub const CTRY_JAPAN: u32 = 81; +pub const CTRY_JORDAN: u32 = 962; +pub const CTRY_KAZAKSTAN: u32 = 7; +pub const CTRY_KENYA: u32 = 254; +pub const CTRY_KUWAIT: u32 = 965; +pub const CTRY_KYRGYZSTAN: u32 = 996; +pub const CTRY_LATVIA: u32 = 371; +pub const CTRY_LEBANON: u32 = 961; +pub const CTRY_LIBYA: u32 = 218; +pub const CTRY_LIECHTENSTEIN: u32 = 41; +pub const CTRY_LITHUANIA: u32 = 370; +pub const CTRY_LUXEMBOURG: u32 = 352; +pub const CTRY_MACAU: u32 = 853; +pub const CTRY_MACEDONIA: u32 = 389; +pub const CTRY_MALAYSIA: u32 = 60; +pub const CTRY_MALDIVES: u32 = 960; +pub const CTRY_MEXICO: u32 = 52; +pub const CTRY_MONACO: u32 = 33; +pub const CTRY_MONGOLIA: u32 = 976; +pub const CTRY_MOROCCO: u32 = 212; +pub const CTRY_NETHERLANDS: u32 = 31; +pub const CTRY_NEW_ZEALAND: u32 = 64; +pub const CTRY_NICARAGUA: u32 = 505; +pub const CTRY_NORWAY: u32 = 47; +pub const CTRY_OMAN: u32 = 968; +pub const CTRY_PAKISTAN: u32 = 92; +pub const CTRY_PANAMA: u32 = 507; +pub const CTRY_PARAGUAY: u32 = 595; +pub const CTRY_PERU: u32 = 51; +pub const CTRY_PHILIPPINES: u32 = 63; +pub const CTRY_POLAND: u32 = 48; +pub const CTRY_PORTUGAL: u32 = 351; +pub const CTRY_PRCHINA: u32 = 86; +pub const CTRY_PUERTO_RICO: u32 = 1; +pub const CTRY_QATAR: u32 = 974; +pub const CTRY_ROMANIA: u32 = 40; +pub const CTRY_RUSSIA: u32 = 7; +pub const CTRY_SAUDI_ARABIA: u32 = 966; +pub const CTRY_SERBIA: u32 = 381; +pub const CTRY_SINGAPORE: u32 = 65; +pub const CTRY_SLOVAK: u32 = 421; +pub const CTRY_SLOVENIA: u32 = 386; +pub const CTRY_SOUTH_AFRICA: u32 = 27; +pub const CTRY_SOUTH_KOREA: u32 = 82; +pub const CTRY_SPAIN: u32 = 34; +pub const CTRY_SWEDEN: u32 = 46; +pub const CTRY_SWITZERLAND: u32 = 41; +pub const CTRY_SYRIA: u32 = 963; +pub const CTRY_TAIWAN: u32 = 886; +pub const CTRY_TATARSTAN: u32 = 7; +pub const CTRY_THAILAND: u32 = 66; +pub const CTRY_TRINIDAD_Y_TOBAGO: u32 = 1; +pub const CTRY_TUNISIA: u32 = 216; +pub const CTRY_TURKEY: u32 = 90; +pub const CTRY_UAE: u32 = 971; +pub const CTRY_UKRAINE: u32 = 380; +pub const CTRY_UNITED_KINGDOM: u32 = 44; +pub const CTRY_UNITED_STATES: u32 = 1; +pub const CTRY_URUGUAY: u32 = 598; +pub const CTRY_UZBEKISTAN: u32 = 7; +pub const CTRY_VENEZUELA: u32 = 58; +pub const CTRY_VIET_NAM: u32 = 84; +pub const CTRY_YEMEN: u32 = 967; +pub const CTRY_ZIMBABWE: u32 = 263; +pub const LOCALE_NOUSEROVERRIDE: u32 = 2147483648; +pub const LOCALE_USE_CP_ACP: u32 = 1073741824; +pub const LOCALE_RETURN_NUMBER: u32 = 536870912; +pub const LOCALE_RETURN_GENITIVE_NAMES: u32 = 268435456; +pub const LOCALE_ALLOW_NEUTRAL_NAMES: u32 = 134217728; +pub const LOCALE_SLOCALIZEDDISPLAYNAME: u32 = 2; +pub const LOCALE_SENGLISHDISPLAYNAME: u32 = 114; +pub const LOCALE_SNATIVEDISPLAYNAME: u32 = 115; +pub const LOCALE_SLOCALIZEDLANGUAGENAME: u32 = 111; +pub const LOCALE_SENGLISHLANGUAGENAME: u32 = 4097; +pub const LOCALE_SNATIVELANGUAGENAME: u32 = 4; +pub const LOCALE_SLOCALIZEDCOUNTRYNAME: u32 = 6; +pub const LOCALE_SENGLISHCOUNTRYNAME: u32 = 4098; +pub const LOCALE_SNATIVECOUNTRYNAME: u32 = 8; +pub const LOCALE_IDIALINGCODE: u32 = 5; +pub const LOCALE_SLIST: u32 = 12; +pub const LOCALE_IMEASURE: u32 = 13; +pub const LOCALE_SDECIMAL: u32 = 14; +pub const LOCALE_STHOUSAND: u32 = 15; +pub const LOCALE_SGROUPING: u32 = 16; +pub const LOCALE_IDIGITS: u32 = 17; +pub const LOCALE_ILZERO: u32 = 18; +pub const LOCALE_INEGNUMBER: u32 = 4112; +pub const LOCALE_SNATIVEDIGITS: u32 = 19; +pub const LOCALE_SCURRENCY: u32 = 20; +pub const LOCALE_SINTLSYMBOL: u32 = 21; +pub const LOCALE_SMONDECIMALSEP: u32 = 22; +pub const LOCALE_SMONTHOUSANDSEP: u32 = 23; +pub const LOCALE_SMONGROUPING: u32 = 24; +pub const LOCALE_ICURRDIGITS: u32 = 25; +pub const LOCALE_ICURRENCY: u32 = 27; +pub const LOCALE_INEGCURR: u32 = 28; +pub const LOCALE_SSHORTDATE: u32 = 31; +pub const LOCALE_SLONGDATE: u32 = 32; +pub const LOCALE_STIMEFORMAT: u32 = 4099; +pub const LOCALE_SAM: u32 = 40; +pub const LOCALE_SPM: u32 = 41; +pub const LOCALE_ICALENDARTYPE: u32 = 4105; +pub const LOCALE_IOPTIONALCALENDAR: u32 = 4107; +pub const LOCALE_IFIRSTDAYOFWEEK: u32 = 4108; +pub const LOCALE_IFIRSTWEEKOFYEAR: u32 = 4109; +pub const LOCALE_SDAYNAME1: u32 = 42; +pub const LOCALE_SDAYNAME2: u32 = 43; +pub const LOCALE_SDAYNAME3: u32 = 44; +pub const LOCALE_SDAYNAME4: u32 = 45; +pub const LOCALE_SDAYNAME5: u32 = 46; +pub const LOCALE_SDAYNAME6: u32 = 47; +pub const LOCALE_SDAYNAME7: u32 = 48; +pub const LOCALE_SABBREVDAYNAME1: u32 = 49; +pub const LOCALE_SABBREVDAYNAME2: u32 = 50; +pub const LOCALE_SABBREVDAYNAME3: u32 = 51; +pub const LOCALE_SABBREVDAYNAME4: u32 = 52; +pub const LOCALE_SABBREVDAYNAME5: u32 = 53; +pub const LOCALE_SABBREVDAYNAME6: u32 = 54; +pub const LOCALE_SABBREVDAYNAME7: u32 = 55; +pub const LOCALE_SMONTHNAME1: u32 = 56; +pub const LOCALE_SMONTHNAME2: u32 = 57; +pub const LOCALE_SMONTHNAME3: u32 = 58; +pub const LOCALE_SMONTHNAME4: u32 = 59; +pub const LOCALE_SMONTHNAME5: u32 = 60; +pub const LOCALE_SMONTHNAME6: u32 = 61; +pub const LOCALE_SMONTHNAME7: u32 = 62; +pub const LOCALE_SMONTHNAME8: u32 = 63; +pub const LOCALE_SMONTHNAME9: u32 = 64; +pub const LOCALE_SMONTHNAME10: u32 = 65; +pub const LOCALE_SMONTHNAME11: u32 = 66; +pub const LOCALE_SMONTHNAME12: u32 = 67; +pub const LOCALE_SMONTHNAME13: u32 = 4110; +pub const LOCALE_SABBREVMONTHNAME1: u32 = 68; +pub const LOCALE_SABBREVMONTHNAME2: u32 = 69; +pub const LOCALE_SABBREVMONTHNAME3: u32 = 70; +pub const LOCALE_SABBREVMONTHNAME4: u32 = 71; +pub const LOCALE_SABBREVMONTHNAME5: u32 = 72; +pub const LOCALE_SABBREVMONTHNAME6: u32 = 73; +pub const LOCALE_SABBREVMONTHNAME7: u32 = 74; +pub const LOCALE_SABBREVMONTHNAME8: u32 = 75; +pub const LOCALE_SABBREVMONTHNAME9: u32 = 76; +pub const LOCALE_SABBREVMONTHNAME10: u32 = 77; +pub const LOCALE_SABBREVMONTHNAME11: u32 = 78; +pub const LOCALE_SABBREVMONTHNAME12: u32 = 79; +pub const LOCALE_SABBREVMONTHNAME13: u32 = 4111; +pub const LOCALE_SPOSITIVESIGN: u32 = 80; +pub const LOCALE_SNEGATIVESIGN: u32 = 81; +pub const LOCALE_IPOSSIGNPOSN: u32 = 82; +pub const LOCALE_INEGSIGNPOSN: u32 = 83; +pub const LOCALE_IPOSSYMPRECEDES: u32 = 84; +pub const LOCALE_IPOSSEPBYSPACE: u32 = 85; +pub const LOCALE_INEGSYMPRECEDES: u32 = 86; +pub const LOCALE_INEGSEPBYSPACE: u32 = 87; +pub const LOCALE_FONTSIGNATURE: u32 = 88; +pub const LOCALE_SISO639LANGNAME: u32 = 89; +pub const LOCALE_SISO3166CTRYNAME: u32 = 90; +pub const LOCALE_IPAPERSIZE: u32 = 4106; +pub const LOCALE_SENGCURRNAME: u32 = 4103; +pub const LOCALE_SNATIVECURRNAME: u32 = 4104; +pub const LOCALE_SYEARMONTH: u32 = 4102; +pub const LOCALE_SSORTNAME: u32 = 4115; +pub const LOCALE_IDIGITSUBSTITUTION: u32 = 4116; +pub const LOCALE_SNAME: u32 = 92; +pub const LOCALE_SDURATION: u32 = 93; +pub const LOCALE_SSHORTESTDAYNAME1: u32 = 96; +pub const LOCALE_SSHORTESTDAYNAME2: u32 = 97; +pub const LOCALE_SSHORTESTDAYNAME3: u32 = 98; +pub const LOCALE_SSHORTESTDAYNAME4: u32 = 99; +pub const LOCALE_SSHORTESTDAYNAME5: u32 = 100; +pub const LOCALE_SSHORTESTDAYNAME6: u32 = 101; +pub const LOCALE_SSHORTESTDAYNAME7: u32 = 102; +pub const LOCALE_SISO639LANGNAME2: u32 = 103; +pub const LOCALE_SISO3166CTRYNAME2: u32 = 104; +pub const LOCALE_SNAN: u32 = 105; +pub const LOCALE_SPOSINFINITY: u32 = 106; +pub const LOCALE_SNEGINFINITY: u32 = 107; +pub const LOCALE_SSCRIPTS: u32 = 108; +pub const LOCALE_SPARENT: u32 = 109; +pub const LOCALE_SCONSOLEFALLBACKNAME: u32 = 110; +pub const LOCALE_IREADINGLAYOUT: u32 = 112; +pub const LOCALE_INEUTRAL: u32 = 113; +pub const LOCALE_INEGATIVEPERCENT: u32 = 116; +pub const LOCALE_IPOSITIVEPERCENT: u32 = 117; +pub const LOCALE_SPERCENT: u32 = 118; +pub const LOCALE_SPERMILLE: u32 = 119; +pub const LOCALE_SMONTHDAY: u32 = 120; +pub const LOCALE_SSHORTTIME: u32 = 121; +pub const LOCALE_SOPENTYPELANGUAGETAG: u32 = 122; +pub const LOCALE_SSORTLOCALE: u32 = 123; +pub const LOCALE_SRELATIVELONGDATE: u32 = 124; +pub const LOCALE_ICONSTRUCTEDLOCALE: u32 = 125; +pub const LOCALE_SSHORTESTAM: u32 = 126; +pub const LOCALE_SSHORTESTPM: u32 = 127; +pub const LOCALE_IUSEUTF8LEGACYACP: u32 = 1638; +pub const LOCALE_IUSEUTF8LEGACYOEMCP: u32 = 2457; +pub const LOCALE_IDEFAULTCODEPAGE: u32 = 11; +pub const LOCALE_IDEFAULTANSICODEPAGE: u32 = 4100; +pub const LOCALE_IDEFAULTMACCODEPAGE: u32 = 4113; +pub const LOCALE_IDEFAULTEBCDICCODEPAGE: u32 = 4114; +pub const LOCALE_ILANGUAGE: u32 = 1; +pub const LOCALE_SABBREVLANGNAME: u32 = 3; +pub const LOCALE_SABBREVCTRYNAME: u32 = 7; +pub const LOCALE_IGEOID: u32 = 91; +pub const LOCALE_IDEFAULTLANGUAGE: u32 = 9; +pub const LOCALE_IDEFAULTCOUNTRY: u32 = 10; +pub const LOCALE_IINTLCURRDIGITS: u32 = 26; +pub const LOCALE_SDATE: u32 = 29; +pub const LOCALE_STIME: u32 = 30; +pub const LOCALE_IDATE: u32 = 33; +pub const LOCALE_ILDATE: u32 = 34; +pub const LOCALE_ITIME: u32 = 35; +pub const LOCALE_ITIMEMARKPOSN: u32 = 4101; +pub const LOCALE_ICENTURY: u32 = 36; +pub const LOCALE_ITLZERO: u32 = 37; +pub const LOCALE_IDAYLZERO: u32 = 38; +pub const LOCALE_IMONLZERO: u32 = 39; +pub const LOCALE_SKEYBOARDSTOINSTALL: u32 = 94; +pub const LOCALE_SLANGUAGE: u32 = 2; +pub const LOCALE_SLANGDISPLAYNAME: u32 = 111; +pub const LOCALE_SENGLANGUAGE: u32 = 4097; +pub const LOCALE_SNATIVELANGNAME: u32 = 4; +pub const LOCALE_SCOUNTRY: u32 = 6; +pub const LOCALE_SENGCOUNTRY: u32 = 4098; +pub const LOCALE_SNATIVECTRYNAME: u32 = 8; +pub const LOCALE_ICOUNTRY: u32 = 5; +pub const LOCALE_S1159: u32 = 40; +pub const LOCALE_S2359: u32 = 41; +pub const TIME_NOMINUTESORSECONDS: u32 = 1; +pub const TIME_NOSECONDS: u32 = 2; +pub const TIME_NOTIMEMARKER: u32 = 4; +pub const TIME_FORCE24HOURFORMAT: u32 = 8; +pub const DATE_SHORTDATE: u32 = 1; +pub const DATE_LONGDATE: u32 = 2; +pub const DATE_USE_ALT_CALENDAR: u32 = 4; +pub const DATE_YEARMONTH: u32 = 8; +pub const DATE_LTRREADING: u32 = 16; +pub const DATE_RTLREADING: u32 = 32; +pub const DATE_AUTOLAYOUT: u32 = 64; +pub const DATE_MONTHDAY: u32 = 128; +pub const CAL_NOUSEROVERRIDE: u32 = 2147483648; +pub const CAL_USE_CP_ACP: u32 = 1073741824; +pub const CAL_RETURN_NUMBER: u32 = 536870912; +pub const CAL_RETURN_GENITIVE_NAMES: u32 = 268435456; +pub const CAL_ICALINTVALUE: u32 = 1; +pub const CAL_SCALNAME: u32 = 2; +pub const CAL_IYEAROFFSETRANGE: u32 = 3; +pub const CAL_SERASTRING: u32 = 4; +pub const CAL_SSHORTDATE: u32 = 5; +pub const CAL_SLONGDATE: u32 = 6; +pub const CAL_SDAYNAME1: u32 = 7; +pub const CAL_SDAYNAME2: u32 = 8; +pub const CAL_SDAYNAME3: u32 = 9; +pub const CAL_SDAYNAME4: u32 = 10; +pub const CAL_SDAYNAME5: u32 = 11; +pub const CAL_SDAYNAME6: u32 = 12; +pub const CAL_SDAYNAME7: u32 = 13; +pub const CAL_SABBREVDAYNAME1: u32 = 14; +pub const CAL_SABBREVDAYNAME2: u32 = 15; +pub const CAL_SABBREVDAYNAME3: u32 = 16; +pub const CAL_SABBREVDAYNAME4: u32 = 17; +pub const CAL_SABBREVDAYNAME5: u32 = 18; +pub const CAL_SABBREVDAYNAME6: u32 = 19; +pub const CAL_SABBREVDAYNAME7: u32 = 20; +pub const CAL_SMONTHNAME1: u32 = 21; +pub const CAL_SMONTHNAME2: u32 = 22; +pub const CAL_SMONTHNAME3: u32 = 23; +pub const CAL_SMONTHNAME4: u32 = 24; +pub const CAL_SMONTHNAME5: u32 = 25; +pub const CAL_SMONTHNAME6: u32 = 26; +pub const CAL_SMONTHNAME7: u32 = 27; +pub const CAL_SMONTHNAME8: u32 = 28; +pub const CAL_SMONTHNAME9: u32 = 29; +pub const CAL_SMONTHNAME10: u32 = 30; +pub const CAL_SMONTHNAME11: u32 = 31; +pub const CAL_SMONTHNAME12: u32 = 32; +pub const CAL_SMONTHNAME13: u32 = 33; +pub const CAL_SABBREVMONTHNAME1: u32 = 34; +pub const CAL_SABBREVMONTHNAME2: u32 = 35; +pub const CAL_SABBREVMONTHNAME3: u32 = 36; +pub const CAL_SABBREVMONTHNAME4: u32 = 37; +pub const CAL_SABBREVMONTHNAME5: u32 = 38; +pub const CAL_SABBREVMONTHNAME6: u32 = 39; +pub const CAL_SABBREVMONTHNAME7: u32 = 40; +pub const CAL_SABBREVMONTHNAME8: u32 = 41; +pub const CAL_SABBREVMONTHNAME9: u32 = 42; +pub const CAL_SABBREVMONTHNAME10: u32 = 43; +pub const CAL_SABBREVMONTHNAME11: u32 = 44; +pub const CAL_SABBREVMONTHNAME12: u32 = 45; +pub const CAL_SABBREVMONTHNAME13: u32 = 46; +pub const CAL_SYEARMONTH: u32 = 47; +pub const CAL_ITWODIGITYEARMAX: u32 = 48; +pub const CAL_SSHORTESTDAYNAME1: u32 = 49; +pub const CAL_SSHORTESTDAYNAME2: u32 = 50; +pub const CAL_SSHORTESTDAYNAME3: u32 = 51; +pub const CAL_SSHORTESTDAYNAME4: u32 = 52; +pub const CAL_SSHORTESTDAYNAME5: u32 = 53; +pub const CAL_SSHORTESTDAYNAME6: u32 = 54; +pub const CAL_SSHORTESTDAYNAME7: u32 = 55; +pub const CAL_SMONTHDAY: u32 = 56; +pub const CAL_SABBREVERASTRING: u32 = 57; +pub const CAL_SRELATIVELONGDATE: u32 = 58; +pub const CAL_SENGLISHERANAME: u32 = 59; +pub const CAL_SENGLISHABBREVERANAME: u32 = 60; +pub const CAL_SJAPANESEERAFIRSTYEAR: u32 = 61; +pub const ENUM_ALL_CALENDARS: u32 = 4294967295; +pub const CAL_GREGORIAN: u32 = 1; +pub const CAL_GREGORIAN_US: u32 = 2; +pub const CAL_JAPAN: u32 = 3; +pub const CAL_TAIWAN: u32 = 4; +pub const CAL_KOREA: u32 = 5; +pub const CAL_HIJRI: u32 = 6; +pub const CAL_THAI: u32 = 7; +pub const CAL_HEBREW: u32 = 8; +pub const CAL_GREGORIAN_ME_FRENCH: u32 = 9; +pub const CAL_GREGORIAN_ARABIC: u32 = 10; +pub const CAL_GREGORIAN_XLIT_ENGLISH: u32 = 11; +pub const CAL_GREGORIAN_XLIT_FRENCH: u32 = 12; +pub const CAL_PERSIAN: u32 = 22; +pub const CAL_UMALQURA: u32 = 23; +pub const LGRPID_WESTERN_EUROPE: u32 = 1; +pub const LGRPID_CENTRAL_EUROPE: u32 = 2; +pub const LGRPID_BALTIC: u32 = 3; +pub const LGRPID_GREEK: u32 = 4; +pub const LGRPID_CYRILLIC: u32 = 5; +pub const LGRPID_TURKIC: u32 = 6; +pub const LGRPID_TURKISH: u32 = 6; +pub const LGRPID_JAPANESE: u32 = 7; +pub const LGRPID_KOREAN: u32 = 8; +pub const LGRPID_TRADITIONAL_CHINESE: u32 = 9; +pub const LGRPID_SIMPLIFIED_CHINESE: u32 = 10; +pub const LGRPID_THAI: u32 = 11; +pub const LGRPID_HEBREW: u32 = 12; +pub const LGRPID_ARABIC: u32 = 13; +pub const LGRPID_VIETNAMESE: u32 = 14; +pub const LGRPID_INDIC: u32 = 15; +pub const LGRPID_GEORGIAN: u32 = 16; +pub const LGRPID_ARMENIAN: u32 = 17; +pub const MUI_LANGUAGE_ID: u32 = 4; +pub const MUI_LANGUAGE_NAME: u32 = 8; +pub const MUI_MERGE_SYSTEM_FALLBACK: u32 = 16; +pub const MUI_MERGE_USER_FALLBACK: u32 = 32; +pub const MUI_UI_FALLBACK: u32 = 48; +pub const MUI_THREAD_LANGUAGES: u32 = 64; +pub const MUI_CONSOLE_FILTER: u32 = 256; +pub const MUI_COMPLEX_SCRIPT_FILTER: u32 = 512; +pub const MUI_RESET_FILTERS: u32 = 1; +pub const MUI_USER_PREFERRED_UI_LANGUAGES: u32 = 16; +pub const MUI_USE_INSTALLED_LANGUAGES: u32 = 32; +pub const MUI_USE_SEARCH_ALL_LANGUAGES: u32 = 64; +pub const MUI_LANG_NEUTRAL_PE_FILE: u32 = 256; +pub const MUI_NON_LANG_NEUTRAL_FILE: u32 = 512; +pub const MUI_MACHINE_LANGUAGE_SETTINGS: u32 = 1024; +pub const MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL: u32 = 1; +pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN: u32 = 2; +pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI: u32 = 4; +pub const MUI_QUERY_TYPE: u32 = 1; +pub const MUI_QUERY_CHECKSUM: u32 = 2; +pub const MUI_QUERY_LANGUAGE_NAME: u32 = 4; +pub const MUI_QUERY_RESOURCE_TYPES: u32 = 8; +pub const MUI_FILEINFO_VERSION: u32 = 1; +pub const MUI_FULL_LANGUAGE: u32 = 1; +pub const MUI_PARTIAL_LANGUAGE: u32 = 2; +pub const MUI_LIP_LANGUAGE: u32 = 4; +pub const MUI_LANGUAGE_INSTALLED: u32 = 32; +pub const MUI_LANGUAGE_LICENSED: u32 = 64; +pub const GEOID_NOT_AVAILABLE: i32 = -1; +pub const SORTING_PARADIGM_NLS: u32 = 0; +pub const SORTING_PARADIGM_ICU: u32 = 16777216; +pub const IDN_ALLOW_UNASSIGNED: u32 = 1; +pub const IDN_USE_STD3_ASCII_RULES: u32 = 2; +pub const IDN_EMAIL_ADDRESS: u32 = 4; +pub const IDN_RAW_PUNYCODE: u32 = 8; +pub const VS_ALLOW_LATIN: u32 = 1; +pub const GSS_ALLOW_INHERITED_COMMON: u32 = 1; +pub const MUI_FORMAT_REG_COMPAT: u32 = 1; +pub const MUI_FORMAT_INF_COMPAT: u32 = 2; +pub const MUI_VERIFY_FILE_EXISTS: u32 = 4; +pub const MUI_SKIP_STRING_CACHE: u32 = 8; +pub const MUI_IMMUTABLE_LOOKUP: u32 = 16; +pub const LOCALE_NAME_INVARIANT: &[u8; 1usize] = b"\0"; +pub const LOCALE_NAME_SYSTEM_DEFAULT: &[u8; 22usize] = b"!x-sys-default-locale\0"; +pub const RIGHT_ALT_PRESSED: u32 = 1; +pub const LEFT_ALT_PRESSED: u32 = 2; +pub const RIGHT_CTRL_PRESSED: u32 = 4; +pub const LEFT_CTRL_PRESSED: u32 = 8; +pub const SHIFT_PRESSED: u32 = 16; +pub const NUMLOCK_ON: u32 = 32; +pub const SCROLLLOCK_ON: u32 = 64; +pub const CAPSLOCK_ON: u32 = 128; +pub const ENHANCED_KEY: u32 = 256; +pub const NLS_DBCSCHAR: u32 = 65536; +pub const NLS_ALPHANUMERIC: u32 = 0; +pub const NLS_KATAKANA: u32 = 131072; +pub const NLS_HIRAGANA: u32 = 262144; +pub const NLS_ROMAN: u32 = 4194304; +pub const NLS_IME_CONVERSION: u32 = 8388608; +pub const ALTNUMPAD_BIT: u32 = 67108864; +pub const NLS_IME_DISABLE: u32 = 536870912; +pub const FROM_LEFT_1ST_BUTTON_PRESSED: u32 = 1; +pub const RIGHTMOST_BUTTON_PRESSED: u32 = 2; +pub const FROM_LEFT_2ND_BUTTON_PRESSED: u32 = 4; +pub const FROM_LEFT_3RD_BUTTON_PRESSED: u32 = 8; +pub const FROM_LEFT_4TH_BUTTON_PRESSED: u32 = 16; +pub const MOUSE_MOVED: u32 = 1; +pub const DOUBLE_CLICK: u32 = 2; +pub const MOUSE_WHEELED: u32 = 4; +pub const MOUSE_HWHEELED: u32 = 8; +pub const KEY_EVENT: u32 = 1; +pub const MOUSE_EVENT: u32 = 2; +pub const WINDOW_BUFFER_SIZE_EVENT: u32 = 4; +pub const MENU_EVENT: u32 = 8; +pub const FOCUS_EVENT: u32 = 16; +pub const ENABLE_PROCESSED_INPUT: u32 = 1; +pub const ENABLE_LINE_INPUT: u32 = 2; +pub const ENABLE_ECHO_INPUT: u32 = 4; +pub const ENABLE_WINDOW_INPUT: u32 = 8; +pub const ENABLE_MOUSE_INPUT: u32 = 16; +pub const ENABLE_INSERT_MODE: u32 = 32; +pub const ENABLE_QUICK_EDIT_MODE: u32 = 64; +pub const ENABLE_EXTENDED_FLAGS: u32 = 128; +pub const ENABLE_AUTO_POSITION: u32 = 256; +pub const ENABLE_VIRTUAL_TERMINAL_INPUT: u32 = 512; +pub const ENABLE_PROCESSED_OUTPUT: u32 = 1; +pub const ENABLE_WRAP_AT_EOL_OUTPUT: u32 = 2; +pub const ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 = 4; +pub const DISABLE_NEWLINE_AUTO_RETURN: u32 = 8; +pub const ENABLE_LVB_GRID_WORLDWIDE: u32 = 16; +pub const CTRL_C_EVENT: u32 = 0; +pub const CTRL_BREAK_EVENT: u32 = 1; +pub const CTRL_CLOSE_EVENT: u32 = 2; +pub const CTRL_LOGOFF_EVENT: u32 = 5; +pub const CTRL_SHUTDOWN_EVENT: u32 = 6; +pub const PSEUDOCONSOLE_INHERIT_CURSOR: u32 = 1; +pub const FOREGROUND_BLUE: u32 = 1; +pub const FOREGROUND_GREEN: u32 = 2; +pub const FOREGROUND_RED: u32 = 4; +pub const FOREGROUND_INTENSITY: u32 = 8; +pub const BACKGROUND_BLUE: u32 = 16; +pub const BACKGROUND_GREEN: u32 = 32; +pub const BACKGROUND_RED: u32 = 64; +pub const BACKGROUND_INTENSITY: u32 = 128; +pub const COMMON_LVB_LEADING_BYTE: u32 = 256; +pub const COMMON_LVB_TRAILING_BYTE: u32 = 512; +pub const COMMON_LVB_GRID_HORIZONTAL: u32 = 1024; +pub const COMMON_LVB_GRID_LVERTICAL: u32 = 2048; +pub const COMMON_LVB_GRID_RVERTICAL: u32 = 4096; +pub const COMMON_LVB_REVERSE_VIDEO: u32 = 16384; +pub const COMMON_LVB_UNDERSCORE: u32 = 32768; +pub const COMMON_LVB_SBCSDBCS: u32 = 768; +pub const CONSOLE_NO_SELECTION: u32 = 0; +pub const CONSOLE_SELECTION_IN_PROGRESS: u32 = 1; +pub const CONSOLE_SELECTION_NOT_EMPTY: u32 = 2; +pub const CONSOLE_MOUSE_SELECTION: u32 = 4; +pub const CONSOLE_MOUSE_DOWN: u32 = 8; +pub const HISTORY_NO_DUP_FLAG: u32 = 1; +pub const CONSOLE_FULLSCREEN: u32 = 1; +pub const CONSOLE_FULLSCREEN_HARDWARE: u32 = 2; +pub const CONSOLE_FULLSCREEN_MODE: u32 = 1; +pub const CONSOLE_WINDOWED_MODE: u32 = 2; +pub const CONSOLE_TEXTMODE_BUFFER: u32 = 1; +pub const VS_VERSION_INFO: u32 = 1; +pub const VS_USER_DEFINED: u32 = 100; +pub const VS_FFI_SIGNATURE: u32 = 4277077181; +pub const VS_FFI_STRUCVERSION: u32 = 65536; +pub const VS_FFI_FILEFLAGSMASK: u32 = 63; +pub const VS_FF_DEBUG: u32 = 1; +pub const VS_FF_PRERELEASE: u32 = 2; +pub const VS_FF_PATCHED: u32 = 4; +pub const VS_FF_PRIVATEBUILD: u32 = 8; +pub const VS_FF_INFOINFERRED: u32 = 16; +pub const VS_FF_SPECIALBUILD: u32 = 32; +pub const VOS_UNKNOWN: u32 = 0; +pub const VOS_DOS: u32 = 65536; +pub const VOS_OS216: u32 = 131072; +pub const VOS_OS232: u32 = 196608; +pub const VOS_NT: u32 = 262144; +pub const VOS_WINCE: u32 = 327680; +pub const VOS__BASE: u32 = 0; +pub const VOS__WINDOWS16: u32 = 1; +pub const VOS__PM16: u32 = 2; +pub const VOS__PM32: u32 = 3; +pub const VOS__WINDOWS32: u32 = 4; +pub const VOS_DOS_WINDOWS16: u32 = 65537; +pub const VOS_DOS_WINDOWS32: u32 = 65540; +pub const VOS_OS216_PM16: u32 = 131074; +pub const VOS_OS232_PM32: u32 = 196611; +pub const VOS_NT_WINDOWS32: u32 = 262148; +pub const VFT_UNKNOWN: u32 = 0; +pub const VFT_APP: u32 = 1; +pub const VFT_DLL: u32 = 2; +pub const VFT_DRV: u32 = 3; +pub const VFT_FONT: u32 = 4; +pub const VFT_VXD: u32 = 5; +pub const VFT_STATIC_LIB: u32 = 7; +pub const VFT2_UNKNOWN: u32 = 0; +pub const VFT2_DRV_PRINTER: u32 = 1; +pub const VFT2_DRV_KEYBOARD: u32 = 2; +pub const VFT2_DRV_LANGUAGE: u32 = 3; +pub const VFT2_DRV_DISPLAY: u32 = 4; +pub const VFT2_DRV_MOUSE: u32 = 5; +pub const VFT2_DRV_NETWORK: u32 = 6; +pub const VFT2_DRV_SYSTEM: u32 = 7; +pub const VFT2_DRV_INSTALLABLE: u32 = 8; +pub const VFT2_DRV_SOUND: u32 = 9; +pub const VFT2_DRV_COMM: u32 = 10; +pub const VFT2_DRV_INPUTMETHOD: u32 = 11; +pub const VFT2_DRV_VERSIONED_PRINTER: u32 = 12; +pub const VFT2_FONT_RASTER: u32 = 1; +pub const VFT2_FONT_VECTOR: u32 = 2; +pub const VFT2_FONT_TRUETYPE: u32 = 3; +pub const VFFF_ISSHAREDFILE: u32 = 1; +pub const VFF_CURNEDEST: u32 = 1; +pub const VFF_FILEINUSE: u32 = 2; +pub const VFF_BUFFTOOSMALL: u32 = 4; +pub const VIFF_FORCEINSTALL: u32 = 1; +pub const VIFF_DONTDELETEOLD: u32 = 2; +pub const VIF_TEMPFILE: u32 = 1; +pub const VIF_MISMATCH: u32 = 2; +pub const VIF_SRCOLD: u32 = 4; +pub const VIF_DIFFLANG: u32 = 8; +pub const VIF_DIFFCODEPG: u32 = 16; +pub const VIF_DIFFTYPE: u32 = 32; +pub const VIF_WRITEPROT: u32 = 64; +pub const VIF_FILEINUSE: u32 = 128; +pub const VIF_OUTOFSPACE: u32 = 256; +pub const VIF_ACCESSVIOLATION: u32 = 512; +pub const VIF_SHARINGVIOLATION: u32 = 1024; +pub const VIF_CANNOTCREATE: u32 = 2048; +pub const VIF_CANNOTDELETE: u32 = 4096; +pub const VIF_CANNOTRENAME: u32 = 8192; +pub const VIF_CANNOTDELETECUR: u32 = 16384; +pub const VIF_OUTOFMEMORY: u32 = 32768; +pub const VIF_CANNOTREADSRC: u32 = 65536; +pub const VIF_CANNOTREADDST: u32 = 131072; +pub const VIF_BUFFTOOSMALL: u32 = 262144; +pub const VIF_CANNOTLOADLZ32: u32 = 524288; +pub const VIF_CANNOTLOADCABINET: u32 = 1048576; +pub const FILE_VER_GET_LOCALISED: u32 = 1; +pub const FILE_VER_GET_NEUTRAL: u32 = 2; +pub const FILE_VER_GET_PREFETCHED: u32 = 4; +pub const RRF_RT_REG_NONE: u32 = 1; +pub const RRF_RT_REG_SZ: u32 = 2; +pub const RRF_RT_REG_EXPAND_SZ: u32 = 4; +pub const RRF_RT_REG_BINARY: u32 = 8; +pub const RRF_RT_REG_DWORD: u32 = 16; +pub const RRF_RT_REG_MULTI_SZ: u32 = 32; +pub const RRF_RT_REG_QWORD: u32 = 64; +pub const RRF_RT_DWORD: u32 = 24; +pub const RRF_RT_QWORD: u32 = 72; +pub const RRF_RT_ANY: u32 = 65535; +pub const RRF_SUBKEY_WOW6464KEY: u32 = 65536; +pub const RRF_SUBKEY_WOW6432KEY: u32 = 131072; +pub const RRF_WOW64_MASK: u32 = 196608; +pub const RRF_NOEXPAND: u32 = 268435456; +pub const RRF_ZEROONFAILURE: u32 = 536870912; +pub const REG_PROCESS_APPKEY: u32 = 1; +pub const REG_USE_CURRENT_SECURITY_CONTEXT: u32 = 2; +pub const PROVIDER_KEEPS_VALUE_LENGTH: u32 = 1; +pub const REG_MUI_STRING_TRUNCATE: u32 = 1; +pub const REG_SECURE_CONNECTION: u32 = 1; +pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: u32 = 16777216; +pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: u32 = 33554432; +pub const SHTDN_REASON_FLAG_CLEAN_UI: u32 = 67108864; +pub const SHTDN_REASON_FLAG_DIRTY_UI: u32 = 134217728; +pub const SHTDN_REASON_FLAG_MOBILE_UI_RESERVED: u32 = 268435456; +pub const SHTDN_REASON_FLAG_USER_DEFINED: u32 = 1073741824; +pub const SHTDN_REASON_FLAG_PLANNED: u32 = 2147483648; +pub const SHTDN_REASON_MAJOR_OTHER: u32 = 0; +pub const SHTDN_REASON_MAJOR_NONE: u32 = 0; +pub const SHTDN_REASON_MAJOR_HARDWARE: u32 = 65536; +pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: u32 = 131072; +pub const SHTDN_REASON_MAJOR_SOFTWARE: u32 = 196608; +pub const SHTDN_REASON_MAJOR_APPLICATION: u32 = 262144; +pub const SHTDN_REASON_MAJOR_SYSTEM: u32 = 327680; +pub const SHTDN_REASON_MAJOR_POWER: u32 = 393216; +pub const SHTDN_REASON_MAJOR_LEGACY_API: u32 = 458752; +pub const SHTDN_REASON_MINOR_OTHER: u32 = 0; +pub const SHTDN_REASON_MINOR_NONE: u32 = 255; +pub const SHTDN_REASON_MINOR_MAINTENANCE: u32 = 1; +pub const SHTDN_REASON_MINOR_INSTALLATION: u32 = 2; +pub const SHTDN_REASON_MINOR_UPGRADE: u32 = 3; +pub const SHTDN_REASON_MINOR_RECONFIG: u32 = 4; +pub const SHTDN_REASON_MINOR_HUNG: u32 = 5; +pub const SHTDN_REASON_MINOR_UNSTABLE: u32 = 6; +pub const SHTDN_REASON_MINOR_DISK: u32 = 7; +pub const SHTDN_REASON_MINOR_PROCESSOR: u32 = 8; +pub const SHTDN_REASON_MINOR_NETWORKCARD: u32 = 9; +pub const SHTDN_REASON_MINOR_POWER_SUPPLY: u32 = 10; +pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: u32 = 11; +pub const SHTDN_REASON_MINOR_ENVIRONMENT: u32 = 12; +pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: u32 = 13; +pub const SHTDN_REASON_MINOR_OTHERDRIVER: u32 = 14; +pub const SHTDN_REASON_MINOR_BLUESCREEN: u32 = 15; +pub const SHTDN_REASON_MINOR_SERVICEPACK: u32 = 16; +pub const SHTDN_REASON_MINOR_HOTFIX: u32 = 17; +pub const SHTDN_REASON_MINOR_SECURITYFIX: u32 = 18; +pub const SHTDN_REASON_MINOR_SECURITY: u32 = 19; +pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 20; +pub const SHTDN_REASON_MINOR_WMI: u32 = 21; +pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 22; +pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: u32 = 23; +pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 24; +pub const SHTDN_REASON_MINOR_MMC: u32 = 25; +pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: u32 = 26; +pub const SHTDN_REASON_MINOR_TERMSRV: u32 = 32; +pub const SHTDN_REASON_MINOR_DC_PROMOTION: u32 = 33; +pub const SHTDN_REASON_MINOR_DC_DEMOTION: u32 = 34; +pub const SHTDN_REASON_UNKNOWN: u32 = 255; +pub const SHTDN_REASON_LEGACY_API: u32 = 2147942400; +pub const SHTDN_REASON_VALID_BIT_MASK: u32 = 3238002687; +pub const PCLEANUI: u32 = 2214592512; +pub const UCLEANUI: u32 = 67108864; +pub const PDIRTYUI: u32 = 2281701376; +pub const UDIRTYUI: u32 = 134217728; +pub const MAX_REASON_NAME_LEN: u32 = 64; +pub const MAX_REASON_DESC_LEN: u32 = 256; +pub const MAX_REASON_BUGID_LEN: u32 = 32; +pub const MAX_REASON_COMMENT_LEN: u32 = 512; +pub const SHUTDOWN_TYPE_LEN: u32 = 32; +pub const POLICY_SHOWREASONUI_NEVER: u32 = 0; +pub const POLICY_SHOWREASONUI_ALWAYS: u32 = 1; +pub const POLICY_SHOWREASONUI_WORKSTATIONONLY: u32 = 2; +pub const POLICY_SHOWREASONUI_SERVERONLY: u32 = 3; +pub const SNAPSHOT_POLICY_NEVER: u32 = 0; +pub const SNAPSHOT_POLICY_ALWAYS: u32 = 1; +pub const SNAPSHOT_POLICY_UNPLANNED: u32 = 2; +pub const MAX_NUM_REASONS: u32 = 256; +pub const REASON_SWINSTALL: u32 = 196610; +pub const REASON_HWINSTALL: u32 = 65538; +pub const REASON_SERVICEHANG: u32 = 196613; +pub const REASON_UNSTABLE: u32 = 327686; +pub const REASON_SWHWRECONF: u32 = 196612; +pub const REASON_OTHER: u32 = 0; +pub const REASON_UNKNOWN: u32 = 255; +pub const REASON_LEGACY_API: u32 = 2147942400; +pub const REASON_PLANNED_FLAG: u32 = 2147483648; +pub const MAX_SHUTDOWN_TIMEOUT: u32 = 315360000; +pub const SHUTDOWN_FORCE_OTHERS: u32 = 1; +pub const SHUTDOWN_FORCE_SELF: u32 = 2; +pub const SHUTDOWN_RESTART: u32 = 4; +pub const SHUTDOWN_POWEROFF: u32 = 8; +pub const SHUTDOWN_NOREBOOT: u32 = 16; +pub const SHUTDOWN_GRACE_OVERRIDE: u32 = 32; +pub const SHUTDOWN_INSTALL_UPDATES: u32 = 64; +pub const SHUTDOWN_RESTARTAPPS: u32 = 128; +pub const SHUTDOWN_SKIP_SVC_PRESHUTDOWN: u32 = 256; +pub const SHUTDOWN_HYBRID: u32 = 512; +pub const SHUTDOWN_RESTART_BOOTOPTIONS: u32 = 1024; +pub const SHUTDOWN_SOFT_REBOOT: u32 = 2048; +pub const SHUTDOWN_MOBILE_UI: u32 = 4096; +pub const SHUTDOWN_ARSO: u32 = 8192; +pub const SHUTDOWN_CHECK_SAFE_FOR_SERVER: u32 = 16384; +pub const SHUTDOWN_VAIL_CONTAINER: u32 = 32768; +pub const SHUTDOWN_SYSTEM_INITIATED: u32 = 65536; +pub const WNNC_NET_MSNET: u32 = 65536; +pub const WNNC_NET_SMB: u32 = 131072; +pub const WNNC_NET_NETWARE: u32 = 196608; +pub const WNNC_NET_VINES: u32 = 262144; +pub const WNNC_NET_10NET: u32 = 327680; +pub const WNNC_NET_LOCUS: u32 = 393216; +pub const WNNC_NET_SUN_PC_NFS: u32 = 458752; +pub const WNNC_NET_LANSTEP: u32 = 524288; +pub const WNNC_NET_9TILES: u32 = 589824; +pub const WNNC_NET_LANTASTIC: u32 = 655360; +pub const WNNC_NET_AS400: u32 = 720896; +pub const WNNC_NET_FTP_NFS: u32 = 786432; +pub const WNNC_NET_PATHWORKS: u32 = 851968; +pub const WNNC_NET_LIFENET: u32 = 917504; +pub const WNNC_NET_POWERLAN: u32 = 983040; +pub const WNNC_NET_BWNFS: u32 = 1048576; +pub const WNNC_NET_COGENT: u32 = 1114112; +pub const WNNC_NET_FARALLON: u32 = 1179648; +pub const WNNC_NET_APPLETALK: u32 = 1245184; +pub const WNNC_NET_INTERGRAPH: u32 = 1310720; +pub const WNNC_NET_SYMFONET: u32 = 1376256; +pub const WNNC_NET_CLEARCASE: u32 = 1441792; +pub const WNNC_NET_FRONTIER: u32 = 1507328; +pub const WNNC_NET_BMC: u32 = 1572864; +pub const WNNC_NET_DCE: u32 = 1638400; +pub const WNNC_NET_AVID: u32 = 1703936; +pub const WNNC_NET_DOCUSPACE: u32 = 1769472; +pub const WNNC_NET_MANGOSOFT: u32 = 1835008; +pub const WNNC_NET_SERNET: u32 = 1900544; +pub const WNNC_NET_RIVERFRONT1: u32 = 1966080; +pub const WNNC_NET_RIVERFRONT2: u32 = 2031616; +pub const WNNC_NET_DECORB: u32 = 2097152; +pub const WNNC_NET_PROTSTOR: u32 = 2162688; +pub const WNNC_NET_FJ_REDIR: u32 = 2228224; +pub const WNNC_NET_DISTINCT: u32 = 2293760; +pub const WNNC_NET_TWINS: u32 = 2359296; +pub const WNNC_NET_RDR2SAMPLE: u32 = 2424832; +pub const WNNC_NET_CSC: u32 = 2490368; +pub const WNNC_NET_3IN1: u32 = 2555904; +pub const WNNC_NET_EXTENDNET: u32 = 2686976; +pub const WNNC_NET_STAC: u32 = 2752512; +pub const WNNC_NET_FOXBAT: u32 = 2818048; +pub const WNNC_NET_YAHOO: u32 = 2883584; +pub const WNNC_NET_EXIFS: u32 = 2949120; +pub const WNNC_NET_DAV: u32 = 3014656; +pub const WNNC_NET_KNOWARE: u32 = 3080192; +pub const WNNC_NET_OBJECT_DIRE: u32 = 3145728; +pub const WNNC_NET_MASFAX: u32 = 3211264; +pub const WNNC_NET_HOB_NFS: u32 = 3276800; +pub const WNNC_NET_SHIVA: u32 = 3342336; +pub const WNNC_NET_IBMAL: u32 = 3407872; +pub const WNNC_NET_LOCK: u32 = 3473408; +pub const WNNC_NET_TERMSRV: u32 = 3538944; +pub const WNNC_NET_SRT: u32 = 3604480; +pub const WNNC_NET_QUINCY: u32 = 3670016; +pub const WNNC_NET_OPENAFS: u32 = 3735552; +pub const WNNC_NET_AVID1: u32 = 3801088; +pub const WNNC_NET_DFS: u32 = 3866624; +pub const WNNC_NET_KWNP: u32 = 3932160; +pub const WNNC_NET_ZENWORKS: u32 = 3997696; +pub const WNNC_NET_DRIVEONWEB: u32 = 4063232; +pub const WNNC_NET_VMWARE: u32 = 4128768; +pub const WNNC_NET_RSFX: u32 = 4194304; +pub const WNNC_NET_MFILES: u32 = 4259840; +pub const WNNC_NET_MS_NFS: u32 = 4325376; +pub const WNNC_NET_GOOGLE: u32 = 4390912; +pub const WNNC_NET_NDFS: u32 = 4456448; +pub const WNNC_NET_DOCUSHARE: u32 = 4521984; +pub const WNNC_NET_AURISTOR_FS: u32 = 4587520; +pub const WNNC_NET_SECUREAGENT: u32 = 4653056; +pub const WNNC_NET_9P: u32 = 4718592; +pub const WNNC_CRED_MANAGER: u32 = 4294901760; +pub const WNNC_NET_LANMAN: u32 = 131072; +pub const RESOURCE_CONNECTED: u32 = 1; +pub const RESOURCE_GLOBALNET: u32 = 2; +pub const RESOURCE_REMEMBERED: u32 = 3; +pub const RESOURCE_RECENT: u32 = 4; +pub const RESOURCE_CONTEXT: u32 = 5; +pub const RESOURCETYPE_ANY: u32 = 0; +pub const RESOURCETYPE_DISK: u32 = 1; +pub const RESOURCETYPE_PRINT: u32 = 2; +pub const RESOURCETYPE_RESERVED: u32 = 8; +pub const RESOURCETYPE_UNKNOWN: u32 = 4294967295; +pub const RESOURCEUSAGE_CONNECTABLE: u32 = 1; +pub const RESOURCEUSAGE_CONTAINER: u32 = 2; +pub const RESOURCEUSAGE_NOLOCALDEVICE: u32 = 4; +pub const RESOURCEUSAGE_SIBLING: u32 = 8; +pub const RESOURCEUSAGE_ATTACHED: u32 = 16; +pub const RESOURCEUSAGE_ALL: u32 = 19; +pub const RESOURCEUSAGE_RESERVED: u32 = 2147483648; +pub const RESOURCEDISPLAYTYPE_GENERIC: u32 = 0; +pub const RESOURCEDISPLAYTYPE_DOMAIN: u32 = 1; +pub const RESOURCEDISPLAYTYPE_SERVER: u32 = 2; +pub const RESOURCEDISPLAYTYPE_SHARE: u32 = 3; +pub const RESOURCEDISPLAYTYPE_FILE: u32 = 4; +pub const RESOURCEDISPLAYTYPE_GROUP: u32 = 5; +pub const RESOURCEDISPLAYTYPE_NETWORK: u32 = 6; +pub const RESOURCEDISPLAYTYPE_ROOT: u32 = 7; +pub const RESOURCEDISPLAYTYPE_SHAREADMIN: u32 = 8; +pub const RESOURCEDISPLAYTYPE_DIRECTORY: u32 = 9; +pub const RESOURCEDISPLAYTYPE_TREE: u32 = 10; +pub const RESOURCEDISPLAYTYPE_NDSCONTAINER: u32 = 11; +pub const NETPROPERTY_PERSISTENT: u32 = 1; +pub const CONNECT_UPDATE_PROFILE: u32 = 1; +pub const CONNECT_UPDATE_RECENT: u32 = 2; +pub const CONNECT_TEMPORARY: u32 = 4; +pub const CONNECT_INTERACTIVE: u32 = 8; +pub const CONNECT_PROMPT: u32 = 16; +pub const CONNECT_NEED_DRIVE: u32 = 32; +pub const CONNECT_REFCOUNT: u32 = 64; +pub const CONNECT_REDIRECT: u32 = 128; +pub const CONNECT_LOCALDRIVE: u32 = 256; +pub const CONNECT_CURRENT_MEDIA: u32 = 512; +pub const CONNECT_DEFERRED: u32 = 1024; +pub const CONNECT_RESERVED: u32 = 4278190080; +pub const CONNECT_COMMANDLINE: u32 = 2048; +pub const CONNECT_CMD_SAVECRED: u32 = 4096; +pub const CONNECT_CRED_RESET: u32 = 8192; +pub const CONNECT_REQUIRE_INTEGRITY: u32 = 16384; +pub const CONNECT_REQUIRE_PRIVACY: u32 = 32768; +pub const CONNECT_WRITE_THROUGH_SEMANTICS: u32 = 65536; +pub const CONNECT_GLOBAL_MAPPING: u32 = 262144; +pub const CONNDLG_RO_PATH: u32 = 1; +pub const CONNDLG_CONN_POINT: u32 = 2; +pub const CONNDLG_USE_MRU: u32 = 4; +pub const CONNDLG_HIDE_BOX: u32 = 8; +pub const CONNDLG_PERSIST: u32 = 16; +pub const CONNDLG_NOT_PERSIST: u32 = 32; +pub const DISC_UPDATE_PROFILE: u32 = 1; +pub const DISC_NO_FORCE: u32 = 64; +pub const UNIVERSAL_NAME_INFO_LEVEL: u32 = 1; +pub const REMOTE_NAME_INFO_LEVEL: u32 = 2; +pub const WNFMT_MULTILINE: u32 = 1; +pub const WNFMT_ABBREVIATED: u32 = 2; +pub const WNFMT_INENUM: u32 = 16; +pub const WNFMT_CONNECTION: u32 = 32; +pub const NETINFO_DLL16: u32 = 1; +pub const NETINFO_DISKRED: u32 = 4; +pub const NETINFO_PRINTERRED: u32 = 8; +pub const WN_SUCCESS: u32 = 0; +pub const WN_NO_ERROR: u32 = 0; +pub const WN_NOT_SUPPORTED: u32 = 50; +pub const WN_CANCEL: u32 = 1223; +pub const WN_RETRY: u32 = 1237; +pub const WN_NET_ERROR: u32 = 59; +pub const WN_MORE_DATA: u32 = 234; +pub const WN_BAD_POINTER: u32 = 487; +pub const WN_BAD_VALUE: u32 = 87; +pub const WN_BAD_USER: u32 = 2202; +pub const WN_BAD_PASSWORD: u32 = 86; +pub const WN_ACCESS_DENIED: u32 = 5; +pub const WN_FUNCTION_BUSY: u32 = 170; +pub const WN_WINDOWS_ERROR: u32 = 59; +pub const WN_OUT_OF_MEMORY: u32 = 8; +pub const WN_NO_NETWORK: u32 = 1222; +pub const WN_EXTENDED_ERROR: u32 = 1208; +pub const WN_BAD_LEVEL: u32 = 124; +pub const WN_BAD_HANDLE: u32 = 6; +pub const WN_NOT_INITIALIZING: u32 = 1247; +pub const WN_NO_MORE_DEVICES: u32 = 1248; +pub const WN_NOT_CONNECTED: u32 = 2250; +pub const WN_OPEN_FILES: u32 = 2401; +pub const WN_DEVICE_IN_USE: u32 = 2404; +pub const WN_BAD_NETNAME: u32 = 67; +pub const WN_BAD_LOCALNAME: u32 = 1200; +pub const WN_ALREADY_CONNECTED: u32 = 85; +pub const WN_DEVICE_ERROR: u32 = 31; +pub const WN_CONNECTION_CLOSED: u32 = 1201; +pub const WN_NO_NET_OR_BAD_PATH: u32 = 1203; +pub const WN_BAD_PROVIDER: u32 = 1204; +pub const WN_CANNOT_OPEN_PROFILE: u32 = 1205; +pub const WN_BAD_PROFILE: u32 = 1206; +pub const WN_BAD_DEV_TYPE: u32 = 66; +pub const WN_DEVICE_ALREADY_REMEMBERED: u32 = 1202; +pub const WN_CONNECTED_OTHER_PASSWORD: u32 = 2108; +pub const WN_CONNECTED_OTHER_PASSWORD_DEFAULT: u32 = 2109; +pub const WN_NO_MORE_ENTRIES: u32 = 259; +pub const WN_NOT_CONTAINER: u32 = 1207; +pub const WN_NOT_AUTHENTICATED: u32 = 1244; +pub const WN_NOT_LOGGED_ON: u32 = 1245; +pub const WN_NOT_VALIDATED: u32 = 1311; +pub const WNCON_FORNETCARD: u32 = 1; +pub const WNCON_NOTROUTED: u32 = 2; +pub const WNCON_SLOWLINK: u32 = 4; +pub const WNCON_DYNAMIC: u32 = 8; +pub const CDERR_DIALOGFAILURE: u32 = 65535; +pub const CDERR_GENERALCODES: u32 = 0; +pub const CDERR_STRUCTSIZE: u32 = 1; +pub const CDERR_INITIALIZATION: u32 = 2; +pub const CDERR_NOTEMPLATE: u32 = 3; +pub const CDERR_NOHINSTANCE: u32 = 4; +pub const CDERR_LOADSTRFAILURE: u32 = 5; +pub const CDERR_FINDRESFAILURE: u32 = 6; +pub const CDERR_LOADRESFAILURE: u32 = 7; +pub const CDERR_LOCKRESFAILURE: u32 = 8; +pub const CDERR_MEMALLOCFAILURE: u32 = 9; +pub const CDERR_MEMLOCKFAILURE: u32 = 10; +pub const CDERR_NOHOOK: u32 = 11; +pub const CDERR_REGISTERMSGFAIL: u32 = 12; +pub const PDERR_PRINTERCODES: u32 = 4096; +pub const PDERR_SETUPFAILURE: u32 = 4097; +pub const PDERR_PARSEFAILURE: u32 = 4098; +pub const PDERR_RETDEFFAILURE: u32 = 4099; +pub const PDERR_LOADDRVFAILURE: u32 = 4100; +pub const PDERR_GETDEVMODEFAIL: u32 = 4101; +pub const PDERR_INITFAILURE: u32 = 4102; +pub const PDERR_NODEVICES: u32 = 4103; +pub const PDERR_NODEFAULTPRN: u32 = 4104; +pub const PDERR_DNDMMISMATCH: u32 = 4105; +pub const PDERR_CREATEICFAILURE: u32 = 4106; +pub const PDERR_PRINTERNOTFOUND: u32 = 4107; +pub const PDERR_DEFAULTDIFFERENT: u32 = 4108; +pub const CFERR_CHOOSEFONTCODES: u32 = 8192; +pub const CFERR_NOFONTS: u32 = 8193; +pub const CFERR_MAXLESSTHANMIN: u32 = 8194; +pub const FNERR_FILENAMECODES: u32 = 12288; +pub const FNERR_SUBCLASSFAILURE: u32 = 12289; +pub const FNERR_INVALIDFILENAME: u32 = 12290; +pub const FNERR_BUFFERTOOSMALL: u32 = 12291; +pub const FRERR_FINDREPLACECODES: u32 = 16384; +pub const FRERR_BUFFERLENGTHZERO: u32 = 16385; +pub const CCERR_CHOOSECOLORCODES: u32 = 20480; +pub const WM_DDE_FIRST: u32 = 992; +pub const WM_DDE_INITIATE: u32 = 992; +pub const WM_DDE_TERMINATE: u32 = 993; +pub const WM_DDE_ADVISE: u32 = 994; +pub const WM_DDE_UNADVISE: u32 = 995; +pub const WM_DDE_ACK: u32 = 996; +pub const WM_DDE_DATA: u32 = 997; +pub const WM_DDE_REQUEST: u32 = 998; +pub const WM_DDE_POKE: u32 = 999; +pub const WM_DDE_EXECUTE: u32 = 1000; +pub const WM_DDE_LAST: u32 = 1000; +pub const XST_NULL: u32 = 0; +pub const XST_INCOMPLETE: u32 = 1; +pub const XST_CONNECTED: u32 = 2; +pub const XST_INIT1: u32 = 3; +pub const XST_INIT2: u32 = 4; +pub const XST_REQSENT: u32 = 5; +pub const XST_DATARCVD: u32 = 6; +pub const XST_POKESENT: u32 = 7; +pub const XST_POKEACKRCVD: u32 = 8; +pub const XST_EXECSENT: u32 = 9; +pub const XST_EXECACKRCVD: u32 = 10; +pub const XST_ADVSENT: u32 = 11; +pub const XST_UNADVSENT: u32 = 12; +pub const XST_ADVACKRCVD: u32 = 13; +pub const XST_UNADVACKRCVD: u32 = 14; +pub const XST_ADVDATASENT: u32 = 15; +pub const XST_ADVDATAACKRCVD: u32 = 16; +pub const CADV_LATEACK: u32 = 65535; +pub const ST_CONNECTED: u32 = 1; +pub const ST_ADVISE: u32 = 2; +pub const ST_ISLOCAL: u32 = 4; +pub const ST_BLOCKED: u32 = 8; +pub const ST_CLIENT: u32 = 16; +pub const ST_TERMINATED: u32 = 32; +pub const ST_INLIST: u32 = 64; +pub const ST_BLOCKNEXT: u32 = 128; +pub const ST_ISSELF: u32 = 256; +pub const DDE_FACK: u32 = 32768; +pub const DDE_FBUSY: u32 = 16384; +pub const DDE_FDEFERUPD: u32 = 16384; +pub const DDE_FACKREQ: u32 = 32768; +pub const DDE_FRELEASE: u32 = 8192; +pub const DDE_FREQUESTED: u32 = 4096; +pub const DDE_FAPPSTATUS: u32 = 255; +pub const DDE_FNOTPROCESSED: u32 = 0; +pub const DDE_FACKRESERVED: i32 = -49408; +pub const DDE_FADVRESERVED: i32 = -49153; +pub const DDE_FDATRESERVED: i32 = -45057; +pub const DDE_FPOKRESERVED: i32 = -8193; +pub const MSGF_DDEMGR: u32 = 32769; +pub const CP_WINANSI: u32 = 1004; +pub const CP_WINUNICODE: u32 = 1200; +pub const CP_WINNEUTRAL: u32 = 1004; +pub const XTYPF_NOBLOCK: u32 = 2; +pub const XTYPF_NODATA: u32 = 4; +pub const XTYPF_ACKREQ: u32 = 8; +pub const XCLASS_MASK: u32 = 64512; +pub const XCLASS_BOOL: u32 = 4096; +pub const XCLASS_DATA: u32 = 8192; +pub const XCLASS_FLAGS: u32 = 16384; +pub const XCLASS_NOTIFICATION: u32 = 32768; +pub const XTYP_ERROR: u32 = 32770; +pub const XTYP_ADVDATA: u32 = 16400; +pub const XTYP_ADVREQ: u32 = 8226; +pub const XTYP_ADVSTART: u32 = 4144; +pub const XTYP_ADVSTOP: u32 = 32832; +pub const XTYP_EXECUTE: u32 = 16464; +pub const XTYP_CONNECT: u32 = 4194; +pub const XTYP_CONNECT_CONFIRM: u32 = 32882; +pub const XTYP_XACT_COMPLETE: u32 = 32896; +pub const XTYP_POKE: u32 = 16528; +pub const XTYP_REGISTER: u32 = 32930; +pub const XTYP_REQUEST: u32 = 8368; +pub const XTYP_DISCONNECT: u32 = 32962; +pub const XTYP_UNREGISTER: u32 = 32978; +pub const XTYP_WILDCONNECT: u32 = 8418; +pub const XTYP_MASK: u32 = 240; +pub const XTYP_SHIFT: u32 = 4; +pub const TIMEOUT_ASYNC: u32 = 4294967295; +pub const QID_SYNC: u32 = 4294967295; +pub const SZDDESYS_TOPIC: &[u8; 7usize] = b"System\0"; +pub const SZDDESYS_ITEM_TOPICS: &[u8; 7usize] = b"Topics\0"; +pub const SZDDESYS_ITEM_SYSITEMS: &[u8; 9usize] = b"SysItems\0"; +pub const SZDDESYS_ITEM_RTNMSG: &[u8; 14usize] = b"ReturnMessage\0"; +pub const SZDDESYS_ITEM_STATUS: &[u8; 7usize] = b"Status\0"; +pub const SZDDESYS_ITEM_FORMATS: &[u8; 8usize] = b"Formats\0"; +pub const SZDDESYS_ITEM_HELP: &[u8; 5usize] = b"Help\0"; +pub const SZDDE_ITEM_ITEMLIST: &[u8; 14usize] = b"TopicItemList\0"; +pub const CBF_FAIL_SELFCONNECTIONS: u32 = 4096; +pub const CBF_FAIL_CONNECTIONS: u32 = 8192; +pub const CBF_FAIL_ADVISES: u32 = 16384; +pub const CBF_FAIL_EXECUTES: u32 = 32768; +pub const CBF_FAIL_POKES: u32 = 65536; +pub const CBF_FAIL_REQUESTS: u32 = 131072; +pub const CBF_FAIL_ALLSVRXACTIONS: u32 = 258048; +pub const CBF_SKIP_CONNECT_CONFIRMS: u32 = 262144; +pub const CBF_SKIP_REGISTRATIONS: u32 = 524288; +pub const CBF_SKIP_UNREGISTRATIONS: u32 = 1048576; +pub const CBF_SKIP_DISCONNECTS: u32 = 2097152; +pub const CBF_SKIP_ALLNOTIFICATIONS: u32 = 3932160; +pub const APPCMD_CLIENTONLY: u32 = 16; +pub const APPCMD_FILTERINITS: u32 = 32; +pub const APPCMD_MASK: u32 = 4080; +pub const APPCLASS_STANDARD: u32 = 0; +pub const APPCLASS_MASK: u32 = 15; +pub const EC_ENABLEALL: u32 = 0; +pub const EC_ENABLEONE: u32 = 128; +pub const EC_DISABLE: u32 = 8; +pub const EC_QUERYWAITING: u32 = 2; +pub const DNS_REGISTER: u32 = 1; +pub const DNS_UNREGISTER: u32 = 2; +pub const DNS_FILTERON: u32 = 4; +pub const DNS_FILTEROFF: u32 = 8; +pub const HDATA_APPOWNED: u32 = 1; +pub const DMLERR_NO_ERROR: u32 = 0; +pub const DMLERR_FIRST: u32 = 16384; +pub const DMLERR_ADVACKTIMEOUT: u32 = 16384; +pub const DMLERR_BUSY: u32 = 16385; +pub const DMLERR_DATAACKTIMEOUT: u32 = 16386; +pub const DMLERR_DLL_NOT_INITIALIZED: u32 = 16387; +pub const DMLERR_DLL_USAGE: u32 = 16388; +pub const DMLERR_EXECACKTIMEOUT: u32 = 16389; +pub const DMLERR_INVALIDPARAMETER: u32 = 16390; +pub const DMLERR_LOW_MEMORY: u32 = 16391; +pub const DMLERR_MEMORY_ERROR: u32 = 16392; +pub const DMLERR_NOTPROCESSED: u32 = 16393; +pub const DMLERR_NO_CONV_ESTABLISHED: u32 = 16394; +pub const DMLERR_POKEACKTIMEOUT: u32 = 16395; +pub const DMLERR_POSTMSG_FAILED: u32 = 16396; +pub const DMLERR_REENTRANCY: u32 = 16397; +pub const DMLERR_SERVER_DIED: u32 = 16398; +pub const DMLERR_SYS_ERROR: u32 = 16399; +pub const DMLERR_UNADVACKTIMEOUT: u32 = 16400; +pub const DMLERR_UNFOUND_QUEUE_ID: u32 = 16401; +pub const DMLERR_LAST: u32 = 16401; +pub const MH_CREATE: u32 = 1; +pub const MH_KEEP: u32 = 2; +pub const MH_DELETE: u32 = 3; +pub const MH_CLEANUP: u32 = 4; +pub const MAX_MONITORS: u32 = 4; +pub const APPCLASS_MONITOR: u32 = 1; +pub const XTYP_MONITOR: u32 = 33010; +pub const MF_HSZ_INFO: u32 = 16777216; +pub const MF_SENDMSGS: u32 = 33554432; +pub const MF_POSTMSGS: u32 = 67108864; +pub const MF_CALLBACKS: u32 = 134217728; +pub const MF_ERRORS: u32 = 268435456; +pub const MF_LINKS: u32 = 536870912; +pub const MF_CONV: u32 = 1073741824; +pub const MF_MASK: u32 = 4278190080; +pub const ctlFirst: u32 = 1024; +pub const ctlLast: u32 = 1279; +pub const psh1: u32 = 1024; +pub const psh2: u32 = 1025; +pub const psh3: u32 = 1026; +pub const psh4: u32 = 1027; +pub const psh5: u32 = 1028; +pub const psh6: u32 = 1029; +pub const psh7: u32 = 1030; +pub const psh8: u32 = 1031; +pub const psh9: u32 = 1032; +pub const psh10: u32 = 1033; +pub const psh11: u32 = 1034; +pub const psh12: u32 = 1035; +pub const psh13: u32 = 1036; +pub const psh14: u32 = 1037; +pub const psh15: u32 = 1038; +pub const pshHelp: u32 = 1038; +pub const psh16: u32 = 1039; +pub const chx1: u32 = 1040; +pub const chx2: u32 = 1041; +pub const chx3: u32 = 1042; +pub const chx4: u32 = 1043; +pub const chx5: u32 = 1044; +pub const chx6: u32 = 1045; +pub const chx7: u32 = 1046; +pub const chx8: u32 = 1047; +pub const chx9: u32 = 1048; +pub const chx10: u32 = 1049; +pub const chx11: u32 = 1050; +pub const chx12: u32 = 1051; +pub const chx13: u32 = 1052; +pub const chx14: u32 = 1053; +pub const chx15: u32 = 1054; +pub const chx16: u32 = 1055; +pub const rad1: u32 = 1056; +pub const rad2: u32 = 1057; +pub const rad3: u32 = 1058; +pub const rad4: u32 = 1059; +pub const rad5: u32 = 1060; +pub const rad6: u32 = 1061; +pub const rad7: u32 = 1062; +pub const rad8: u32 = 1063; +pub const rad9: u32 = 1064; +pub const rad10: u32 = 1065; +pub const rad11: u32 = 1066; +pub const rad12: u32 = 1067; +pub const rad13: u32 = 1068; +pub const rad14: u32 = 1069; +pub const rad15: u32 = 1070; +pub const rad16: u32 = 1071; +pub const grp1: u32 = 1072; +pub const grp2: u32 = 1073; +pub const grp3: u32 = 1074; +pub const grp4: u32 = 1075; +pub const frm1: u32 = 1076; +pub const frm2: u32 = 1077; +pub const frm3: u32 = 1078; +pub const frm4: u32 = 1079; +pub const rct1: u32 = 1080; +pub const rct2: u32 = 1081; +pub const rct3: u32 = 1082; +pub const rct4: u32 = 1083; +pub const ico1: u32 = 1084; +pub const ico2: u32 = 1085; +pub const ico3: u32 = 1086; +pub const ico4: u32 = 1087; +pub const stc1: u32 = 1088; +pub const stc2: u32 = 1089; +pub const stc3: u32 = 1090; +pub const stc4: u32 = 1091; +pub const stc5: u32 = 1092; +pub const stc6: u32 = 1093; +pub const stc7: u32 = 1094; +pub const stc8: u32 = 1095; +pub const stc9: u32 = 1096; +pub const stc10: u32 = 1097; +pub const stc11: u32 = 1098; +pub const stc12: u32 = 1099; +pub const stc13: u32 = 1100; +pub const stc14: u32 = 1101; +pub const stc15: u32 = 1102; +pub const stc16: u32 = 1103; +pub const stc17: u32 = 1104; +pub const stc18: u32 = 1105; +pub const stc19: u32 = 1106; +pub const stc20: u32 = 1107; +pub const stc21: u32 = 1108; +pub const stc22: u32 = 1109; +pub const stc23: u32 = 1110; +pub const stc24: u32 = 1111; +pub const stc25: u32 = 1112; +pub const stc26: u32 = 1113; +pub const stc27: u32 = 1114; +pub const stc28: u32 = 1115; +pub const stc29: u32 = 1116; +pub const stc30: u32 = 1117; +pub const stc31: u32 = 1118; +pub const stc32: u32 = 1119; +pub const lst1: u32 = 1120; +pub const lst2: u32 = 1121; +pub const lst3: u32 = 1122; +pub const lst4: u32 = 1123; +pub const lst5: u32 = 1124; +pub const lst6: u32 = 1125; +pub const lst7: u32 = 1126; +pub const lst8: u32 = 1127; +pub const lst9: u32 = 1128; +pub const lst10: u32 = 1129; +pub const lst11: u32 = 1130; +pub const lst12: u32 = 1131; +pub const lst13: u32 = 1132; +pub const lst14: u32 = 1133; +pub const lst15: u32 = 1134; +pub const lst16: u32 = 1135; +pub const cmb1: u32 = 1136; +pub const cmb2: u32 = 1137; +pub const cmb3: u32 = 1138; +pub const cmb4: u32 = 1139; +pub const cmb5: u32 = 1140; +pub const cmb6: u32 = 1141; +pub const cmb7: u32 = 1142; +pub const cmb8: u32 = 1143; +pub const cmb9: u32 = 1144; +pub const cmb10: u32 = 1145; +pub const cmb11: u32 = 1146; +pub const cmb12: u32 = 1147; +pub const cmb13: u32 = 1148; +pub const cmb14: u32 = 1149; +pub const cmb15: u32 = 1150; +pub const cmb16: u32 = 1151; +pub const edt1: u32 = 1152; +pub const edt2: u32 = 1153; +pub const edt3: u32 = 1154; +pub const edt4: u32 = 1155; +pub const edt5: u32 = 1156; +pub const edt6: u32 = 1157; +pub const edt7: u32 = 1158; +pub const edt8: u32 = 1159; +pub const edt9: u32 = 1160; +pub const edt10: u32 = 1161; +pub const edt11: u32 = 1162; +pub const edt12: u32 = 1163; +pub const edt13: u32 = 1164; +pub const edt14: u32 = 1165; +pub const edt15: u32 = 1166; +pub const edt16: u32 = 1167; +pub const scr1: u32 = 1168; +pub const scr2: u32 = 1169; +pub const scr3: u32 = 1170; +pub const scr4: u32 = 1171; +pub const scr5: u32 = 1172; +pub const scr6: u32 = 1173; +pub const scr7: u32 = 1174; +pub const scr8: u32 = 1175; +pub const ctl1: u32 = 1184; +pub const FILEOPENORD: u32 = 1536; +pub const MULTIFILEOPENORD: u32 = 1537; +pub const PRINTDLGORD: u32 = 1538; +pub const PRNSETUPDLGORD: u32 = 1539; +pub const FINDDLGORD: u32 = 1540; +pub const REPLACEDLGORD: u32 = 1541; +pub const FONTDLGORD: u32 = 1542; +pub const FORMATDLGORD31: u32 = 1543; +pub const FORMATDLGORD30: u32 = 1544; +pub const RUNDLGORD: u32 = 1545; +pub const PAGESETUPDLGORD: u32 = 1546; +pub const NEWFILEOPENORD: u32 = 1547; +pub const PRINTDLGEXORD: u32 = 1549; +pub const PAGESETUPDLGORDMOTIF: u32 = 1550; +pub const COLORMGMTDLGORD: u32 = 1551; +pub const NEWFILEOPENV2ORD: u32 = 1552; +pub const NEWFILEOPENV3ORD: u32 = 1553; +pub const NEWFORMATDLGWITHLINK: u32 = 1591; +pub const IDC_MANAGE_LINK: u32 = 1592; +pub const LZERROR_BADINHANDLE: i32 = -1; +pub const LZERROR_BADOUTHANDLE: i32 = -2; +pub const LZERROR_READ: i32 = -3; +pub const LZERROR_WRITE: i32 = -4; +pub const LZERROR_GLOBALLOC: i32 = -5; +pub const LZERROR_GLOBLOCK: i32 = -6; +pub const LZERROR_BADVALUE: i32 = -7; +pub const LZERROR_UNKNOWNALG: i32 = -8; +pub const MAXPNAMELEN: u32 = 32; +pub const MAXERRORLENGTH: u32 = 256; +pub const MAX_JOYSTICKOEMVXDNAME: u32 = 260; +pub const TIME_MS: u32 = 1; +pub const TIME_SAMPLES: u32 = 2; +pub const TIME_BYTES: u32 = 4; +pub const TIME_SMPTE: u32 = 8; +pub const TIME_MIDI: u32 = 16; +pub const TIME_TICKS: u32 = 32; +pub const MM_JOY1MOVE: u32 = 928; +pub const MM_JOY2MOVE: u32 = 929; +pub const MM_JOY1ZMOVE: u32 = 930; +pub const MM_JOY2ZMOVE: u32 = 931; +pub const MM_JOY1BUTTONDOWN: u32 = 949; +pub const MM_JOY2BUTTONDOWN: u32 = 950; +pub const MM_JOY1BUTTONUP: u32 = 951; +pub const MM_JOY2BUTTONUP: u32 = 952; +pub const MM_MCINOTIFY: u32 = 953; +pub const MM_WOM_OPEN: u32 = 955; +pub const MM_WOM_CLOSE: u32 = 956; +pub const MM_WOM_DONE: u32 = 957; +pub const MM_WIM_OPEN: u32 = 958; +pub const MM_WIM_CLOSE: u32 = 959; +pub const MM_WIM_DATA: u32 = 960; +pub const MM_MIM_OPEN: u32 = 961; +pub const MM_MIM_CLOSE: u32 = 962; +pub const MM_MIM_DATA: u32 = 963; +pub const MM_MIM_LONGDATA: u32 = 964; +pub const MM_MIM_ERROR: u32 = 965; +pub const MM_MIM_LONGERROR: u32 = 966; +pub const MM_MOM_OPEN: u32 = 967; +pub const MM_MOM_CLOSE: u32 = 968; +pub const MM_MOM_DONE: u32 = 969; +pub const MM_DRVM_OPEN: u32 = 976; +pub const MM_DRVM_CLOSE: u32 = 977; +pub const MM_DRVM_DATA: u32 = 978; +pub const MM_DRVM_ERROR: u32 = 979; +pub const MM_STREAM_OPEN: u32 = 980; +pub const MM_STREAM_CLOSE: u32 = 981; +pub const MM_STREAM_DONE: u32 = 982; +pub const MM_STREAM_ERROR: u32 = 983; +pub const MM_MOM_POSITIONCB: u32 = 970; +pub const MM_MCISIGNAL: u32 = 971; +pub const MM_MIM_MOREDATA: u32 = 972; +pub const MM_MIXM_LINE_CHANGE: u32 = 976; +pub const MM_MIXM_CONTROL_CHANGE: u32 = 977; +pub const MMSYSERR_BASE: u32 = 0; +pub const WAVERR_BASE: u32 = 32; +pub const MIDIERR_BASE: u32 = 64; +pub const TIMERR_BASE: u32 = 96; +pub const JOYERR_BASE: u32 = 160; +pub const MCIERR_BASE: u32 = 256; +pub const MIXERR_BASE: u32 = 1024; +pub const MCI_STRING_OFFSET: u32 = 512; +pub const MCI_VD_OFFSET: u32 = 1024; +pub const MCI_CD_OFFSET: u32 = 1088; +pub const MCI_WAVE_OFFSET: u32 = 1152; +pub const MCI_SEQ_OFFSET: u32 = 1216; +pub const MMSYSERR_NOERROR: u32 = 0; +pub const MMSYSERR_ERROR: u32 = 1; +pub const MMSYSERR_BADDEVICEID: u32 = 2; +pub const MMSYSERR_NOTENABLED: u32 = 3; +pub const MMSYSERR_ALLOCATED: u32 = 4; +pub const MMSYSERR_INVALHANDLE: u32 = 5; +pub const MMSYSERR_NODRIVER: u32 = 6; +pub const MMSYSERR_NOMEM: u32 = 7; +pub const MMSYSERR_NOTSUPPORTED: u32 = 8; +pub const MMSYSERR_BADERRNUM: u32 = 9; +pub const MMSYSERR_INVALFLAG: u32 = 10; +pub const MMSYSERR_INVALPARAM: u32 = 11; +pub const MMSYSERR_HANDLEBUSY: u32 = 12; +pub const MMSYSERR_INVALIDALIAS: u32 = 13; +pub const MMSYSERR_BADDB: u32 = 14; +pub const MMSYSERR_KEYNOTFOUND: u32 = 15; +pub const MMSYSERR_READERROR: u32 = 16; +pub const MMSYSERR_WRITEERROR: u32 = 17; +pub const MMSYSERR_DELETEERROR: u32 = 18; +pub const MMSYSERR_VALNOTFOUND: u32 = 19; +pub const MMSYSERR_NODRIVERCB: u32 = 20; +pub const MMSYSERR_MOREDATA: u32 = 21; +pub const MMSYSERR_LASTERROR: u32 = 21; +pub const CALLBACK_TYPEMASK: u32 = 458752; +pub const CALLBACK_NULL: u32 = 0; +pub const CALLBACK_WINDOW: u32 = 65536; +pub const CALLBACK_TASK: u32 = 131072; +pub const CALLBACK_FUNCTION: u32 = 196608; +pub const CALLBACK_THREAD: u32 = 131072; +pub const CALLBACK_EVENT: u32 = 327680; +pub const MCIERR_INVALID_DEVICE_ID: u32 = 257; +pub const MCIERR_UNRECOGNIZED_KEYWORD: u32 = 259; +pub const MCIERR_UNRECOGNIZED_COMMAND: u32 = 261; +pub const MCIERR_HARDWARE: u32 = 262; +pub const MCIERR_INVALID_DEVICE_NAME: u32 = 263; +pub const MCIERR_OUT_OF_MEMORY: u32 = 264; +pub const MCIERR_DEVICE_OPEN: u32 = 265; +pub const MCIERR_CANNOT_LOAD_DRIVER: u32 = 266; +pub const MCIERR_MISSING_COMMAND_STRING: u32 = 267; +pub const MCIERR_PARAM_OVERFLOW: u32 = 268; +pub const MCIERR_MISSING_STRING_ARGUMENT: u32 = 269; +pub const MCIERR_BAD_INTEGER: u32 = 270; +pub const MCIERR_PARSER_INTERNAL: u32 = 271; +pub const MCIERR_DRIVER_INTERNAL: u32 = 272; +pub const MCIERR_MISSING_PARAMETER: u32 = 273; +pub const MCIERR_UNSUPPORTED_FUNCTION: u32 = 274; +pub const MCIERR_FILE_NOT_FOUND: u32 = 275; +pub const MCIERR_DEVICE_NOT_READY: u32 = 276; +pub const MCIERR_INTERNAL: u32 = 277; +pub const MCIERR_DRIVER: u32 = 278; +pub const MCIERR_CANNOT_USE_ALL: u32 = 279; +pub const MCIERR_MULTIPLE: u32 = 280; +pub const MCIERR_EXTENSION_NOT_FOUND: u32 = 281; +pub const MCIERR_OUTOFRANGE: u32 = 282; +pub const MCIERR_FLAGS_NOT_COMPATIBLE: u32 = 284; +pub const MCIERR_FILE_NOT_SAVED: u32 = 286; +pub const MCIERR_DEVICE_TYPE_REQUIRED: u32 = 287; +pub const MCIERR_DEVICE_LOCKED: u32 = 288; +pub const MCIERR_DUPLICATE_ALIAS: u32 = 289; +pub const MCIERR_BAD_CONSTANT: u32 = 290; +pub const MCIERR_MUST_USE_SHAREABLE: u32 = 291; +pub const MCIERR_MISSING_DEVICE_NAME: u32 = 292; +pub const MCIERR_BAD_TIME_FORMAT: u32 = 293; +pub const MCIERR_NO_CLOSING_QUOTE: u32 = 294; +pub const MCIERR_DUPLICATE_FLAGS: u32 = 295; +pub const MCIERR_INVALID_FILE: u32 = 296; +pub const MCIERR_NULL_PARAMETER_BLOCK: u32 = 297; +pub const MCIERR_UNNAMED_RESOURCE: u32 = 298; +pub const MCIERR_NEW_REQUIRES_ALIAS: u32 = 299; +pub const MCIERR_NOTIFY_ON_AUTO_OPEN: u32 = 300; +pub const MCIERR_NO_ELEMENT_ALLOWED: u32 = 301; +pub const MCIERR_NONAPPLICABLE_FUNCTION: u32 = 302; +pub const MCIERR_ILLEGAL_FOR_AUTO_OPEN: u32 = 303; +pub const MCIERR_FILENAME_REQUIRED: u32 = 304; +pub const MCIERR_EXTRA_CHARACTERS: u32 = 305; +pub const MCIERR_DEVICE_NOT_INSTALLED: u32 = 306; +pub const MCIERR_GET_CD: u32 = 307; +pub const MCIERR_SET_CD: u32 = 308; +pub const MCIERR_SET_DRIVE: u32 = 309; +pub const MCIERR_DEVICE_LENGTH: u32 = 310; +pub const MCIERR_DEVICE_ORD_LENGTH: u32 = 311; +pub const MCIERR_NO_INTEGER: u32 = 312; +pub const MCIERR_WAVE_OUTPUTSINUSE: u32 = 320; +pub const MCIERR_WAVE_SETOUTPUTINUSE: u32 = 321; +pub const MCIERR_WAVE_INPUTSINUSE: u32 = 322; +pub const MCIERR_WAVE_SETINPUTINUSE: u32 = 323; +pub const MCIERR_WAVE_OUTPUTUNSPECIFIED: u32 = 324; +pub const MCIERR_WAVE_INPUTUNSPECIFIED: u32 = 325; +pub const MCIERR_WAVE_OUTPUTSUNSUITABLE: u32 = 326; +pub const MCIERR_WAVE_SETOUTPUTUNSUITABLE: u32 = 327; +pub const MCIERR_WAVE_INPUTSUNSUITABLE: u32 = 328; +pub const MCIERR_WAVE_SETINPUTUNSUITABLE: u32 = 329; +pub const MCIERR_SEQ_DIV_INCOMPATIBLE: u32 = 336; +pub const MCIERR_SEQ_PORT_INUSE: u32 = 337; +pub const MCIERR_SEQ_PORT_NONEXISTENT: u32 = 338; +pub const MCIERR_SEQ_PORT_MAPNODEVICE: u32 = 339; +pub const MCIERR_SEQ_PORT_MISCERROR: u32 = 340; +pub const MCIERR_SEQ_TIMER: u32 = 341; +pub const MCIERR_SEQ_PORTUNSPECIFIED: u32 = 342; +pub const MCIERR_SEQ_NOMIDIPRESENT: u32 = 343; +pub const MCIERR_NO_WINDOW: u32 = 346; +pub const MCIERR_CREATEWINDOW: u32 = 347; +pub const MCIERR_FILE_READ: u32 = 348; +pub const MCIERR_FILE_WRITE: u32 = 349; +pub const MCIERR_NO_IDENTITY: u32 = 350; +pub const MCIERR_CUSTOM_DRIVER_BASE: u32 = 512; +pub const MCI_OPEN: u32 = 2051; +pub const MCI_CLOSE: u32 = 2052; +pub const MCI_ESCAPE: u32 = 2053; +pub const MCI_PLAY: u32 = 2054; +pub const MCI_SEEK: u32 = 2055; +pub const MCI_STOP: u32 = 2056; +pub const MCI_PAUSE: u32 = 2057; +pub const MCI_INFO: u32 = 2058; +pub const MCI_GETDEVCAPS: u32 = 2059; +pub const MCI_SPIN: u32 = 2060; +pub const MCI_SET: u32 = 2061; +pub const MCI_STEP: u32 = 2062; +pub const MCI_RECORD: u32 = 2063; +pub const MCI_SYSINFO: u32 = 2064; +pub const MCI_BREAK: u32 = 2065; +pub const MCI_SAVE: u32 = 2067; +pub const MCI_STATUS: u32 = 2068; +pub const MCI_CUE: u32 = 2096; +pub const MCI_REALIZE: u32 = 2112; +pub const MCI_WINDOW: u32 = 2113; +pub const MCI_PUT: u32 = 2114; +pub const MCI_WHERE: u32 = 2115; +pub const MCI_FREEZE: u32 = 2116; +pub const MCI_UNFREEZE: u32 = 2117; +pub const MCI_LOAD: u32 = 2128; +pub const MCI_CUT: u32 = 2129; +pub const MCI_COPY: u32 = 2130; +pub const MCI_PASTE: u32 = 2131; +pub const MCI_UPDATE: u32 = 2132; +pub const MCI_RESUME: u32 = 2133; +pub const MCI_DELETE: u32 = 2134; +pub const MCI_LAST: u32 = 4095; +pub const MCI_DEVTYPE_VCR: u32 = 513; +pub const MCI_DEVTYPE_VIDEODISC: u32 = 514; +pub const MCI_DEVTYPE_OVERLAY: u32 = 515; +pub const MCI_DEVTYPE_CD_AUDIO: u32 = 516; +pub const MCI_DEVTYPE_DAT: u32 = 517; +pub const MCI_DEVTYPE_SCANNER: u32 = 518; +pub const MCI_DEVTYPE_ANIMATION: u32 = 519; +pub const MCI_DEVTYPE_DIGITAL_VIDEO: u32 = 520; +pub const MCI_DEVTYPE_OTHER: u32 = 521; +pub const MCI_DEVTYPE_WAVEFORM_AUDIO: u32 = 522; +pub const MCI_DEVTYPE_SEQUENCER: u32 = 523; +pub const MCI_DEVTYPE_FIRST: u32 = 513; +pub const MCI_DEVTYPE_LAST: u32 = 523; +pub const MCI_DEVTYPE_FIRST_USER: u32 = 4096; +pub const MCI_MODE_NOT_READY: u32 = 524; +pub const MCI_MODE_STOP: u32 = 525; +pub const MCI_MODE_PLAY: u32 = 526; +pub const MCI_MODE_RECORD: u32 = 527; +pub const MCI_MODE_SEEK: u32 = 528; +pub const MCI_MODE_PAUSE: u32 = 529; +pub const MCI_MODE_OPEN: u32 = 530; +pub const MCI_FORMAT_MILLISECONDS: u32 = 0; +pub const MCI_FORMAT_HMS: u32 = 1; +pub const MCI_FORMAT_MSF: u32 = 2; +pub const MCI_FORMAT_FRAMES: u32 = 3; +pub const MCI_FORMAT_SMPTE_24: u32 = 4; +pub const MCI_FORMAT_SMPTE_25: u32 = 5; +pub const MCI_FORMAT_SMPTE_30: u32 = 6; +pub const MCI_FORMAT_SMPTE_30DROP: u32 = 7; +pub const MCI_FORMAT_BYTES: u32 = 8; +pub const MCI_FORMAT_SAMPLES: u32 = 9; +pub const MCI_FORMAT_TMSF: u32 = 10; +pub const MCI_NOTIFY_SUCCESSFUL: u32 = 1; +pub const MCI_NOTIFY_SUPERSEDED: u32 = 2; +pub const MCI_NOTIFY_ABORTED: u32 = 4; +pub const MCI_NOTIFY_FAILURE: u32 = 8; +pub const MCI_NOTIFY: u32 = 1; +pub const MCI_WAIT: u32 = 2; +pub const MCI_FROM: u32 = 4; +pub const MCI_TO: u32 = 8; +pub const MCI_TRACK: u32 = 16; +pub const MCI_OPEN_SHAREABLE: u32 = 256; +pub const MCI_OPEN_ELEMENT: u32 = 512; +pub const MCI_OPEN_ALIAS: u32 = 1024; +pub const MCI_OPEN_ELEMENT_ID: u32 = 2048; +pub const MCI_OPEN_TYPE_ID: u32 = 4096; +pub const MCI_OPEN_TYPE: u32 = 8192; +pub const MCI_SEEK_TO_START: u32 = 256; +pub const MCI_SEEK_TO_END: u32 = 512; +pub const MCI_STATUS_ITEM: u32 = 256; +pub const MCI_STATUS_START: u32 = 512; +pub const MCI_STATUS_LENGTH: u32 = 1; +pub const MCI_STATUS_POSITION: u32 = 2; +pub const MCI_STATUS_NUMBER_OF_TRACKS: u32 = 3; +pub const MCI_STATUS_MODE: u32 = 4; +pub const MCI_STATUS_MEDIA_PRESENT: u32 = 5; +pub const MCI_STATUS_TIME_FORMAT: u32 = 6; +pub const MCI_STATUS_READY: u32 = 7; +pub const MCI_STATUS_CURRENT_TRACK: u32 = 8; +pub const MCI_INFO_PRODUCT: u32 = 256; +pub const MCI_INFO_FILE: u32 = 512; +pub const MCI_INFO_MEDIA_UPC: u32 = 1024; +pub const MCI_INFO_MEDIA_IDENTITY: u32 = 2048; +pub const MCI_INFO_NAME: u32 = 4096; +pub const MCI_INFO_COPYRIGHT: u32 = 8192; +pub const MCI_GETDEVCAPS_ITEM: u32 = 256; +pub const MCI_GETDEVCAPS_CAN_RECORD: u32 = 1; +pub const MCI_GETDEVCAPS_HAS_AUDIO: u32 = 2; +pub const MCI_GETDEVCAPS_HAS_VIDEO: u32 = 3; +pub const MCI_GETDEVCAPS_DEVICE_TYPE: u32 = 4; +pub const MCI_GETDEVCAPS_USES_FILES: u32 = 5; +pub const MCI_GETDEVCAPS_COMPOUND_DEVICE: u32 = 6; +pub const MCI_GETDEVCAPS_CAN_EJECT: u32 = 7; +pub const MCI_GETDEVCAPS_CAN_PLAY: u32 = 8; +pub const MCI_GETDEVCAPS_CAN_SAVE: u32 = 9; +pub const MCI_SYSINFO_QUANTITY: u32 = 256; +pub const MCI_SYSINFO_OPEN: u32 = 512; +pub const MCI_SYSINFO_NAME: u32 = 1024; +pub const MCI_SYSINFO_INSTALLNAME: u32 = 2048; +pub const MCI_SET_DOOR_OPEN: u32 = 256; +pub const MCI_SET_DOOR_CLOSED: u32 = 512; +pub const MCI_SET_TIME_FORMAT: u32 = 1024; +pub const MCI_SET_AUDIO: u32 = 2048; +pub const MCI_SET_VIDEO: u32 = 4096; +pub const MCI_SET_ON: u32 = 8192; +pub const MCI_SET_OFF: u32 = 16384; +pub const MCI_SET_AUDIO_ALL: u32 = 0; +pub const MCI_SET_AUDIO_LEFT: u32 = 1; +pub const MCI_SET_AUDIO_RIGHT: u32 = 2; +pub const MCI_BREAK_KEY: u32 = 256; +pub const MCI_BREAK_HWND: u32 = 512; +pub const MCI_BREAK_OFF: u32 = 1024; +pub const MCI_RECORD_INSERT: u32 = 256; +pub const MCI_RECORD_OVERWRITE: u32 = 512; +pub const MCI_SAVE_FILE: u32 = 256; +pub const MCI_LOAD_FILE: u32 = 256; +pub const MCI_VD_MODE_PARK: u32 = 1025; +pub const MCI_VD_MEDIA_CLV: u32 = 1026; +pub const MCI_VD_MEDIA_CAV: u32 = 1027; +pub const MCI_VD_MEDIA_OTHER: u32 = 1028; +pub const MCI_VD_FORMAT_TRACK: u32 = 16385; +pub const MCI_VD_PLAY_REVERSE: u32 = 65536; +pub const MCI_VD_PLAY_FAST: u32 = 131072; +pub const MCI_VD_PLAY_SPEED: u32 = 262144; +pub const MCI_VD_PLAY_SCAN: u32 = 524288; +pub const MCI_VD_PLAY_SLOW: u32 = 1048576; +pub const MCI_VD_SEEK_REVERSE: u32 = 65536; +pub const MCI_VD_STATUS_SPEED: u32 = 16386; +pub const MCI_VD_STATUS_FORWARD: u32 = 16387; +pub const MCI_VD_STATUS_MEDIA_TYPE: u32 = 16388; +pub const MCI_VD_STATUS_SIDE: u32 = 16389; +pub const MCI_VD_STATUS_DISC_SIZE: u32 = 16390; +pub const MCI_VD_GETDEVCAPS_CLV: u32 = 65536; +pub const MCI_VD_GETDEVCAPS_CAV: u32 = 131072; +pub const MCI_VD_SPIN_UP: u32 = 65536; +pub const MCI_VD_SPIN_DOWN: u32 = 131072; +pub const MCI_VD_GETDEVCAPS_CAN_REVERSE: u32 = 16386; +pub const MCI_VD_GETDEVCAPS_FAST_RATE: u32 = 16387; +pub const MCI_VD_GETDEVCAPS_SLOW_RATE: u32 = 16388; +pub const MCI_VD_GETDEVCAPS_NORMAL_RATE: u32 = 16389; +pub const MCI_VD_STEP_FRAMES: u32 = 65536; +pub const MCI_VD_STEP_REVERSE: u32 = 131072; +pub const MCI_VD_ESCAPE_STRING: u32 = 256; +pub const MCI_CDA_STATUS_TYPE_TRACK: u32 = 16385; +pub const MCI_CDA_TRACK_AUDIO: u32 = 1088; +pub const MCI_CDA_TRACK_OTHER: u32 = 1089; +pub const MCI_WAVE_PCM: u32 = 1152; +pub const MCI_WAVE_MAPPER: u32 = 1153; +pub const MCI_WAVE_OPEN_BUFFER: u32 = 65536; +pub const MCI_WAVE_SET_FORMATTAG: u32 = 65536; +pub const MCI_WAVE_SET_CHANNELS: u32 = 131072; +pub const MCI_WAVE_SET_SAMPLESPERSEC: u32 = 262144; +pub const MCI_WAVE_SET_AVGBYTESPERSEC: u32 = 524288; +pub const MCI_WAVE_SET_BLOCKALIGN: u32 = 1048576; +pub const MCI_WAVE_SET_BITSPERSAMPLE: u32 = 2097152; +pub const MCI_WAVE_INPUT: u32 = 4194304; +pub const MCI_WAVE_OUTPUT: u32 = 8388608; +pub const MCI_WAVE_STATUS_FORMATTAG: u32 = 16385; +pub const MCI_WAVE_STATUS_CHANNELS: u32 = 16386; +pub const MCI_WAVE_STATUS_SAMPLESPERSEC: u32 = 16387; +pub const MCI_WAVE_STATUS_AVGBYTESPERSEC: u32 = 16388; +pub const MCI_WAVE_STATUS_BLOCKALIGN: u32 = 16389; +pub const MCI_WAVE_STATUS_BITSPERSAMPLE: u32 = 16390; +pub const MCI_WAVE_STATUS_LEVEL: u32 = 16391; +pub const MCI_WAVE_SET_ANYINPUT: u32 = 67108864; +pub const MCI_WAVE_SET_ANYOUTPUT: u32 = 134217728; +pub const MCI_WAVE_GETDEVCAPS_INPUTS: u32 = 16385; +pub const MCI_WAVE_GETDEVCAPS_OUTPUTS: u32 = 16386; +pub const MCI_SEQ_DIV_PPQN: u32 = 1216; +pub const MCI_SEQ_DIV_SMPTE_24: u32 = 1217; +pub const MCI_SEQ_DIV_SMPTE_25: u32 = 1218; +pub const MCI_SEQ_DIV_SMPTE_30DROP: u32 = 1219; +pub const MCI_SEQ_DIV_SMPTE_30: u32 = 1220; +pub const MCI_SEQ_FORMAT_SONGPTR: u32 = 16385; +pub const MCI_SEQ_FILE: u32 = 16386; +pub const MCI_SEQ_MIDI: u32 = 16387; +pub const MCI_SEQ_SMPTE: u32 = 16388; +pub const MCI_SEQ_NONE: u32 = 65533; +pub const MCI_SEQ_MAPPER: u32 = 65535; +pub const MCI_SEQ_STATUS_TEMPO: u32 = 16386; +pub const MCI_SEQ_STATUS_PORT: u32 = 16387; +pub const MCI_SEQ_STATUS_SLAVE: u32 = 16391; +pub const MCI_SEQ_STATUS_MASTER: u32 = 16392; +pub const MCI_SEQ_STATUS_OFFSET: u32 = 16393; +pub const MCI_SEQ_STATUS_DIVTYPE: u32 = 16394; +pub const MCI_SEQ_STATUS_NAME: u32 = 16395; +pub const MCI_SEQ_STATUS_COPYRIGHT: u32 = 16396; +pub const MCI_SEQ_SET_TEMPO: u32 = 65536; +pub const MCI_SEQ_SET_PORT: u32 = 131072; +pub const MCI_SEQ_SET_SLAVE: u32 = 262144; +pub const MCI_SEQ_SET_MASTER: u32 = 524288; +pub const MCI_SEQ_SET_OFFSET: u32 = 16777216; +pub const MCI_ANIM_OPEN_WS: u32 = 65536; +pub const MCI_ANIM_OPEN_PARENT: u32 = 131072; +pub const MCI_ANIM_OPEN_NOSTATIC: u32 = 262144; +pub const MCI_ANIM_PLAY_SPEED: u32 = 65536; +pub const MCI_ANIM_PLAY_REVERSE: u32 = 131072; +pub const MCI_ANIM_PLAY_FAST: u32 = 262144; +pub const MCI_ANIM_PLAY_SLOW: u32 = 524288; +pub const MCI_ANIM_PLAY_SCAN: u32 = 1048576; +pub const MCI_ANIM_STEP_REVERSE: u32 = 65536; +pub const MCI_ANIM_STEP_FRAMES: u32 = 131072; +pub const MCI_ANIM_STATUS_SPEED: u32 = 16385; +pub const MCI_ANIM_STATUS_FORWARD: u32 = 16386; +pub const MCI_ANIM_STATUS_HWND: u32 = 16387; +pub const MCI_ANIM_STATUS_HPAL: u32 = 16388; +pub const MCI_ANIM_STATUS_STRETCH: u32 = 16389; +pub const MCI_ANIM_INFO_TEXT: u32 = 65536; +pub const MCI_ANIM_GETDEVCAPS_CAN_REVERSE: u32 = 16385; +pub const MCI_ANIM_GETDEVCAPS_FAST_RATE: u32 = 16386; +pub const MCI_ANIM_GETDEVCAPS_SLOW_RATE: u32 = 16387; +pub const MCI_ANIM_GETDEVCAPS_NORMAL_RATE: u32 = 16388; +pub const MCI_ANIM_GETDEVCAPS_PALETTES: u32 = 16390; +pub const MCI_ANIM_GETDEVCAPS_CAN_STRETCH: u32 = 16391; +pub const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS: u32 = 16392; +pub const MCI_ANIM_REALIZE_NORM: u32 = 65536; +pub const MCI_ANIM_REALIZE_BKGD: u32 = 131072; +pub const MCI_ANIM_WINDOW_HWND: u32 = 65536; +pub const MCI_ANIM_WINDOW_STATE: u32 = 262144; +pub const MCI_ANIM_WINDOW_TEXT: u32 = 524288; +pub const MCI_ANIM_WINDOW_ENABLE_STRETCH: u32 = 1048576; +pub const MCI_ANIM_WINDOW_DISABLE_STRETCH: u32 = 2097152; +pub const MCI_ANIM_WINDOW_DEFAULT: u32 = 0; +pub const MCI_ANIM_RECT: u32 = 65536; +pub const MCI_ANIM_PUT_SOURCE: u32 = 131072; +pub const MCI_ANIM_PUT_DESTINATION: u32 = 262144; +pub const MCI_ANIM_WHERE_SOURCE: u32 = 131072; +pub const MCI_ANIM_WHERE_DESTINATION: u32 = 262144; +pub const MCI_ANIM_UPDATE_HDC: u32 = 131072; +pub const MCI_OVLY_OPEN_WS: u32 = 65536; +pub const MCI_OVLY_OPEN_PARENT: u32 = 131072; +pub const MCI_OVLY_STATUS_HWND: u32 = 16385; +pub const MCI_OVLY_STATUS_STRETCH: u32 = 16386; +pub const MCI_OVLY_INFO_TEXT: u32 = 65536; +pub const MCI_OVLY_GETDEVCAPS_CAN_STRETCH: u32 = 16385; +pub const MCI_OVLY_GETDEVCAPS_CAN_FREEZE: u32 = 16386; +pub const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS: u32 = 16387; +pub const MCI_OVLY_WINDOW_HWND: u32 = 65536; +pub const MCI_OVLY_WINDOW_STATE: u32 = 262144; +pub const MCI_OVLY_WINDOW_TEXT: u32 = 524288; +pub const MCI_OVLY_WINDOW_ENABLE_STRETCH: u32 = 1048576; +pub const MCI_OVLY_WINDOW_DISABLE_STRETCH: u32 = 2097152; +pub const MCI_OVLY_WINDOW_DEFAULT: u32 = 0; +pub const MCI_OVLY_RECT: u32 = 65536; +pub const MCI_OVLY_PUT_SOURCE: u32 = 131072; +pub const MCI_OVLY_PUT_DESTINATION: u32 = 262144; +pub const MCI_OVLY_PUT_FRAME: u32 = 524288; +pub const MCI_OVLY_PUT_VIDEO: u32 = 1048576; +pub const MCI_OVLY_WHERE_SOURCE: u32 = 131072; +pub const MCI_OVLY_WHERE_DESTINATION: u32 = 262144; +pub const MCI_OVLY_WHERE_FRAME: u32 = 524288; +pub const MCI_OVLY_WHERE_VIDEO: u32 = 1048576; +pub const DRV_LOAD: u32 = 1; +pub const DRV_ENABLE: u32 = 2; +pub const DRV_OPEN: u32 = 3; +pub const DRV_CLOSE: u32 = 4; +pub const DRV_DISABLE: u32 = 5; +pub const DRV_FREE: u32 = 6; +pub const DRV_CONFIGURE: u32 = 7; +pub const DRV_QUERYCONFIGURE: u32 = 8; +pub const DRV_INSTALL: u32 = 9; +pub const DRV_REMOVE: u32 = 10; +pub const DRV_EXITSESSION: u32 = 11; +pub const DRV_POWER: u32 = 15; +pub const DRV_RESERVED: u32 = 2048; +pub const DRV_USER: u32 = 16384; +pub const DRVCNF_CANCEL: u32 = 0; +pub const DRVCNF_OK: u32 = 1; +pub const DRVCNF_RESTART: u32 = 2; +pub const DRV_CANCEL: u32 = 0; +pub const DRV_OK: u32 = 1; +pub const DRV_RESTART: u32 = 2; +pub const DRV_MCI_FIRST: u32 = 2048; +pub const DRV_MCI_LAST: u32 = 6143; +pub const MMIOERR_BASE: u32 = 256; +pub const MMIOERR_FILENOTFOUND: u32 = 257; +pub const MMIOERR_OUTOFMEMORY: u32 = 258; +pub const MMIOERR_CANNOTOPEN: u32 = 259; +pub const MMIOERR_CANNOTCLOSE: u32 = 260; +pub const MMIOERR_CANNOTREAD: u32 = 261; +pub const MMIOERR_CANNOTWRITE: u32 = 262; +pub const MMIOERR_CANNOTSEEK: u32 = 263; +pub const MMIOERR_CANNOTEXPAND: u32 = 264; +pub const MMIOERR_CHUNKNOTFOUND: u32 = 265; +pub const MMIOERR_UNBUFFERED: u32 = 266; +pub const MMIOERR_PATHNOTFOUND: u32 = 267; +pub const MMIOERR_ACCESSDENIED: u32 = 268; +pub const MMIOERR_SHARINGVIOLATION: u32 = 269; +pub const MMIOERR_NETWORKERROR: u32 = 270; +pub const MMIOERR_TOOMANYOPENFILES: u32 = 271; +pub const MMIOERR_INVALIDFILE: u32 = 272; +pub const CFSEPCHAR: u8 = 43u8; +pub const MMIO_RWMODE: u32 = 3; +pub const MMIO_SHAREMODE: u32 = 112; +pub const MMIO_CREATE: u32 = 4096; +pub const MMIO_PARSE: u32 = 256; +pub const MMIO_DELETE: u32 = 512; +pub const MMIO_EXIST: u32 = 16384; +pub const MMIO_ALLOCBUF: u32 = 65536; +pub const MMIO_GETTEMP: u32 = 131072; +pub const MMIO_DIRTY: u32 = 268435456; +pub const MMIO_READ: u32 = 0; +pub const MMIO_WRITE: u32 = 1; +pub const MMIO_READWRITE: u32 = 2; +pub const MMIO_COMPAT: u32 = 0; +pub const MMIO_EXCLUSIVE: u32 = 16; +pub const MMIO_DENYWRITE: u32 = 32; +pub const MMIO_DENYREAD: u32 = 48; +pub const MMIO_DENYNONE: u32 = 64; +pub const MMIO_FHOPEN: u32 = 16; +pub const MMIO_EMPTYBUF: u32 = 16; +pub const MMIO_TOUPPER: u32 = 16; +pub const MMIO_INSTALLPROC: u32 = 65536; +pub const MMIO_GLOBALPROC: u32 = 268435456; +pub const MMIO_REMOVEPROC: u32 = 131072; +pub const MMIO_UNICODEPROC: u32 = 16777216; +pub const MMIO_FINDPROC: u32 = 262144; +pub const MMIO_FINDCHUNK: u32 = 16; +pub const MMIO_FINDRIFF: u32 = 32; +pub const MMIO_FINDLIST: u32 = 64; +pub const MMIO_CREATERIFF: u32 = 32; +pub const MMIO_CREATELIST: u32 = 64; +pub const MMIOM_READ: u32 = 0; +pub const MMIOM_WRITE: u32 = 1; +pub const MMIOM_SEEK: u32 = 2; +pub const MMIOM_OPEN: u32 = 3; +pub const MMIOM_CLOSE: u32 = 4; +pub const MMIOM_WRITEFLUSH: u32 = 5; +pub const MMIOM_RENAME: u32 = 6; +pub const MMIOM_USER: u32 = 32768; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const MMIO_DEFAULTBUFFER: u32 = 8192; +pub const TIME_ONESHOT: u32 = 0; +pub const TIME_PERIODIC: u32 = 1; +pub const TIME_CALLBACK_FUNCTION: u32 = 0; +pub const TIME_CALLBACK_EVENT_SET: u32 = 16; +pub const TIME_CALLBACK_EVENT_PULSE: u32 = 32; +pub const TIME_KILL_SYNCHRONOUS: u32 = 256; +pub const SND_SYNC: u32 = 0; +pub const SND_ASYNC: u32 = 1; +pub const SND_NODEFAULT: u32 = 2; +pub const SND_MEMORY: u32 = 4; +pub const SND_LOOP: u32 = 8; +pub const SND_NOSTOP: u32 = 16; +pub const SND_NOWAIT: u32 = 8192; +pub const SND_ALIAS: u32 = 65536; +pub const SND_ALIAS_ID: u32 = 1114112; +pub const SND_FILENAME: u32 = 131072; +pub const SND_RESOURCE: u32 = 262148; +pub const SND_PURGE: u32 = 64; +pub const SND_APPLICATION: u32 = 128; +pub const SND_SENTRY: u32 = 524288; +pub const SND_RING: u32 = 1048576; +pub const SND_SYSTEM: u32 = 2097152; +pub const SND_ALIAS_START: u32 = 0; +pub const WAVERR_BADFORMAT: u32 = 32; +pub const WAVERR_STILLPLAYING: u32 = 33; +pub const WAVERR_UNPREPARED: u32 = 34; +pub const WAVERR_SYNC: u32 = 35; +pub const WAVERR_LASTERROR: u32 = 35; +pub const WOM_OPEN: u32 = 955; +pub const WOM_CLOSE: u32 = 956; +pub const WOM_DONE: u32 = 957; +pub const WIM_OPEN: u32 = 958; +pub const WIM_CLOSE: u32 = 959; +pub const WIM_DATA: u32 = 960; +pub const WAVE_FORMAT_QUERY: u32 = 1; +pub const WAVE_ALLOWSYNC: u32 = 2; +pub const WAVE_MAPPED: u32 = 4; +pub const WAVE_FORMAT_DIRECT: u32 = 8; +pub const WAVE_FORMAT_DIRECT_QUERY: u32 = 9; +pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: u32 = 16; +pub const WHDR_DONE: u32 = 1; +pub const WHDR_PREPARED: u32 = 2; +pub const WHDR_BEGINLOOP: u32 = 4; +pub const WHDR_ENDLOOP: u32 = 8; +pub const WHDR_INQUEUE: u32 = 16; +pub const WAVECAPS_PITCH: u32 = 1; +pub const WAVECAPS_PLAYBACKRATE: u32 = 2; +pub const WAVECAPS_VOLUME: u32 = 4; +pub const WAVECAPS_LRVOLUME: u32 = 8; +pub const WAVECAPS_SYNC: u32 = 16; +pub const WAVECAPS_SAMPLEACCURATE: u32 = 32; +pub const WAVE_INVALIDFORMAT: u32 = 0; +pub const WAVE_FORMAT_1M08: u32 = 1; +pub const WAVE_FORMAT_1S08: u32 = 2; +pub const WAVE_FORMAT_1M16: u32 = 4; +pub const WAVE_FORMAT_1S16: u32 = 8; +pub const WAVE_FORMAT_2M08: u32 = 16; +pub const WAVE_FORMAT_2S08: u32 = 32; +pub const WAVE_FORMAT_2M16: u32 = 64; +pub const WAVE_FORMAT_2S16: u32 = 128; +pub const WAVE_FORMAT_4M08: u32 = 256; +pub const WAVE_FORMAT_4S08: u32 = 512; +pub const WAVE_FORMAT_4M16: u32 = 1024; +pub const WAVE_FORMAT_4S16: u32 = 2048; +pub const WAVE_FORMAT_44M08: u32 = 256; +pub const WAVE_FORMAT_44S08: u32 = 512; +pub const WAVE_FORMAT_44M16: u32 = 1024; +pub const WAVE_FORMAT_44S16: u32 = 2048; +pub const WAVE_FORMAT_48M08: u32 = 4096; +pub const WAVE_FORMAT_48S08: u32 = 8192; +pub const WAVE_FORMAT_48M16: u32 = 16384; +pub const WAVE_FORMAT_48S16: u32 = 32768; +pub const WAVE_FORMAT_96M08: u32 = 65536; +pub const WAVE_FORMAT_96S08: u32 = 131072; +pub const WAVE_FORMAT_96M16: u32 = 262144; +pub const WAVE_FORMAT_96S16: u32 = 524288; +pub const WAVE_FORMAT_PCM: u32 = 1; +pub const MIDIERR_UNPREPARED: u32 = 64; +pub const MIDIERR_STILLPLAYING: u32 = 65; +pub const MIDIERR_NOMAP: u32 = 66; +pub const MIDIERR_NOTREADY: u32 = 67; +pub const MIDIERR_NODEVICE: u32 = 68; +pub const MIDIERR_INVALIDSETUP: u32 = 69; +pub const MIDIERR_BADOPENMODE: u32 = 70; +pub const MIDIERR_DONT_CONTINUE: u32 = 71; +pub const MIDIERR_LASTERROR: u32 = 71; +pub const MIDIPATCHSIZE: u32 = 128; +pub const MIM_OPEN: u32 = 961; +pub const MIM_CLOSE: u32 = 962; +pub const MIM_DATA: u32 = 963; +pub const MIM_LONGDATA: u32 = 964; +pub const MIM_ERROR: u32 = 965; +pub const MIM_LONGERROR: u32 = 966; +pub const MOM_OPEN: u32 = 967; +pub const MOM_CLOSE: u32 = 968; +pub const MOM_DONE: u32 = 969; +pub const MIM_MOREDATA: u32 = 972; +pub const MOM_POSITIONCB: u32 = 970; +pub const MIDI_IO_STATUS: u32 = 32; +pub const MIDI_CACHE_ALL: u32 = 1; +pub const MIDI_CACHE_BESTFIT: u32 = 2; +pub const MIDI_CACHE_QUERY: u32 = 3; +pub const MIDI_UNCACHE: u32 = 4; +pub const MOD_MIDIPORT: u32 = 1; +pub const MOD_SYNTH: u32 = 2; +pub const MOD_SQSYNTH: u32 = 3; +pub const MOD_FMSYNTH: u32 = 4; +pub const MOD_MAPPER: u32 = 5; +pub const MOD_WAVETABLE: u32 = 6; +pub const MOD_SWSYNTH: u32 = 7; +pub const MIDICAPS_VOLUME: u32 = 1; +pub const MIDICAPS_LRVOLUME: u32 = 2; +pub const MIDICAPS_CACHE: u32 = 4; +pub const MIDICAPS_STREAM: u32 = 8; +pub const MHDR_DONE: u32 = 1; +pub const MHDR_PREPARED: u32 = 2; +pub const MHDR_INQUEUE: u32 = 4; +pub const MHDR_ISSTRM: u32 = 8; +pub const MEVT_F_SHORT: u32 = 0; +pub const MEVT_F_LONG: u32 = 2147483648; +pub const MEVT_F_CALLBACK: u32 = 1073741824; +pub const MIDISTRM_ERROR: i32 = -2; +pub const MIDIPROP_SET: u32 = 2147483648; +pub const MIDIPROP_GET: u32 = 1073741824; +pub const MIDIPROP_TIMEDIV: u32 = 1; +pub const MIDIPROP_TEMPO: u32 = 2; +pub const AUXCAPS_CDAUDIO: u32 = 1; +pub const AUXCAPS_AUXIN: u32 = 2; +pub const AUXCAPS_VOLUME: u32 = 1; +pub const AUXCAPS_LRVOLUME: u32 = 2; +pub const MIXER_SHORT_NAME_CHARS: u32 = 16; +pub const MIXER_LONG_NAME_CHARS: u32 = 64; +pub const MIXERR_INVALLINE: u32 = 1024; +pub const MIXERR_INVALCONTROL: u32 = 1025; +pub const MIXERR_INVALVALUE: u32 = 1026; +pub const MIXERR_LASTERROR: u32 = 1026; +pub const MIXER_OBJECTF_HANDLE: u32 = 2147483648; +pub const MIXER_OBJECTF_MIXER: u32 = 0; +pub const MIXER_OBJECTF_HMIXER: u32 = 2147483648; +pub const MIXER_OBJECTF_WAVEOUT: u32 = 268435456; +pub const MIXER_OBJECTF_HWAVEOUT: u32 = 2415919104; +pub const MIXER_OBJECTF_WAVEIN: u32 = 536870912; +pub const MIXER_OBJECTF_HWAVEIN: u32 = 2684354560; +pub const MIXER_OBJECTF_MIDIOUT: u32 = 805306368; +pub const MIXER_OBJECTF_HMIDIOUT: u32 = 2952790016; +pub const MIXER_OBJECTF_MIDIIN: u32 = 1073741824; +pub const MIXER_OBJECTF_HMIDIIN: u32 = 3221225472; +pub const MIXER_OBJECTF_AUX: u32 = 1342177280; +pub const MIXERLINE_LINEF_ACTIVE: u32 = 1; +pub const MIXERLINE_LINEF_DISCONNECTED: u32 = 32768; +pub const MIXERLINE_LINEF_SOURCE: u32 = 2147483648; +pub const MIXERLINE_COMPONENTTYPE_DST_FIRST: u32 = 0; +pub const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: u32 = 0; +pub const MIXERLINE_COMPONENTTYPE_DST_DIGITAL: u32 = 1; +pub const MIXERLINE_COMPONENTTYPE_DST_LINE: u32 = 2; +pub const MIXERLINE_COMPONENTTYPE_DST_MONITOR: u32 = 3; +pub const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: u32 = 4; +pub const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: u32 = 5; +pub const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: u32 = 6; +pub const MIXERLINE_COMPONENTTYPE_DST_WAVEIN: u32 = 7; +pub const MIXERLINE_COMPONENTTYPE_DST_VOICEIN: u32 = 8; +pub const MIXERLINE_COMPONENTTYPE_DST_LAST: u32 = 8; +pub const MIXERLINE_COMPONENTTYPE_SRC_FIRST: u32 = 4096; +pub const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: u32 = 4096; +pub const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: u32 = 4097; +pub const MIXERLINE_COMPONENTTYPE_SRC_LINE: u32 = 4098; +pub const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: u32 = 4099; +pub const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: u32 = 4100; +pub const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: u32 = 4101; +pub const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: u32 = 4102; +pub const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: u32 = 4103; +pub const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: u32 = 4104; +pub const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: u32 = 4105; +pub const MIXERLINE_COMPONENTTYPE_SRC_ANALOG: u32 = 4106; +pub const MIXERLINE_COMPONENTTYPE_SRC_LAST: u32 = 4106; +pub const MIXERLINE_TARGETTYPE_UNDEFINED: u32 = 0; +pub const MIXERLINE_TARGETTYPE_WAVEOUT: u32 = 1; +pub const MIXERLINE_TARGETTYPE_WAVEIN: u32 = 2; +pub const MIXERLINE_TARGETTYPE_MIDIOUT: u32 = 3; +pub const MIXERLINE_TARGETTYPE_MIDIIN: u32 = 4; +pub const MIXERLINE_TARGETTYPE_AUX: u32 = 5; +pub const MIXER_GETLINEINFOF_DESTINATION: u32 = 0; +pub const MIXER_GETLINEINFOF_SOURCE: u32 = 1; +pub const MIXER_GETLINEINFOF_LINEID: u32 = 2; +pub const MIXER_GETLINEINFOF_COMPONENTTYPE: u32 = 3; +pub const MIXER_GETLINEINFOF_TARGETTYPE: u32 = 4; +pub const MIXER_GETLINEINFOF_QUERYMASK: u32 = 15; +pub const MIXERCONTROL_CONTROLF_UNIFORM: u32 = 1; +pub const MIXERCONTROL_CONTROLF_MULTIPLE: u32 = 2; +pub const MIXERCONTROL_CONTROLF_DISABLED: u32 = 2147483648; +pub const MIXERCONTROL_CT_CLASS_MASK: u32 = 4026531840; +pub const MIXERCONTROL_CT_CLASS_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CT_CLASS_METER: u32 = 268435456; +pub const MIXERCONTROL_CT_CLASS_SWITCH: u32 = 536870912; +pub const MIXERCONTROL_CT_CLASS_NUMBER: u32 = 805306368; +pub const MIXERCONTROL_CT_CLASS_SLIDER: u32 = 1073741824; +pub const MIXERCONTROL_CT_CLASS_FADER: u32 = 1342177280; +pub const MIXERCONTROL_CT_CLASS_TIME: u32 = 1610612736; +pub const MIXERCONTROL_CT_CLASS_LIST: u32 = 1879048192; +pub const MIXERCONTROL_CT_SUBCLASS_MASK: u32 = 251658240; +pub const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: u32 = 0; +pub const MIXERCONTROL_CT_SC_SWITCH_BUTTON: u32 = 16777216; +pub const MIXERCONTROL_CT_SC_METER_POLLED: u32 = 0; +pub const MIXERCONTROL_CT_SC_TIME_MICROSECS: u32 = 0; +pub const MIXERCONTROL_CT_SC_TIME_MILLISECS: u32 = 16777216; +pub const MIXERCONTROL_CT_SC_LIST_SINGLE: u32 = 0; +pub const MIXERCONTROL_CT_SC_LIST_MULTIPLE: u32 = 16777216; +pub const MIXERCONTROL_CT_UNITS_MASK: u32 = 16711680; +pub const MIXERCONTROL_CT_UNITS_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CT_UNITS_BOOLEAN: u32 = 65536; +pub const MIXERCONTROL_CT_UNITS_SIGNED: u32 = 131072; +pub const MIXERCONTROL_CT_UNITS_UNSIGNED: u32 = 196608; +pub const MIXERCONTROL_CT_UNITS_DECIBELS: u32 = 262144; +pub const MIXERCONTROL_CT_UNITS_PERCENT: u32 = 327680; +pub const MIXERCONTROL_CONTROLTYPE_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: u32 = 268500992; +pub const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: u32 = 268566528; +pub const MIXERCONTROL_CONTROLTYPE_PEAKMETER: u32 = 268566529; +pub const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: u32 = 268632064; +pub const MIXERCONTROL_CONTROLTYPE_BOOLEAN: u32 = 536936448; +pub const MIXERCONTROL_CONTROLTYPE_ONOFF: u32 = 536936449; +pub const MIXERCONTROL_CONTROLTYPE_MUTE: u32 = 536936450; +pub const MIXERCONTROL_CONTROLTYPE_MONO: u32 = 536936451; +pub const MIXERCONTROL_CONTROLTYPE_LOUDNESS: u32 = 536936452; +pub const MIXERCONTROL_CONTROLTYPE_STEREOENH: u32 = 536936453; +pub const MIXERCONTROL_CONTROLTYPE_BASS_BOOST: u32 = 536945271; +pub const MIXERCONTROL_CONTROLTYPE_BUTTON: u32 = 553713664; +pub const MIXERCONTROL_CONTROLTYPE_DECIBELS: u32 = 805568512; +pub const MIXERCONTROL_CONTROLTYPE_SIGNED: u32 = 805437440; +pub const MIXERCONTROL_CONTROLTYPE_UNSIGNED: u32 = 805502976; +pub const MIXERCONTROL_CONTROLTYPE_PERCENT: u32 = 805634048; +pub const MIXERCONTROL_CONTROLTYPE_SLIDER: u32 = 1073872896; +pub const MIXERCONTROL_CONTROLTYPE_PAN: u32 = 1073872897; +pub const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: u32 = 1073872898; +pub const MIXERCONTROL_CONTROLTYPE_FADER: u32 = 1342373888; +pub const MIXERCONTROL_CONTROLTYPE_VOLUME: u32 = 1342373889; +pub const MIXERCONTROL_CONTROLTYPE_BASS: u32 = 1342373890; +pub const MIXERCONTROL_CONTROLTYPE_TREBLE: u32 = 1342373891; +pub const MIXERCONTROL_CONTROLTYPE_EQUALIZER: u32 = 1342373892; +pub const MIXERCONTROL_CONTROLTYPE_SINGLESELECT: u32 = 1879113728; +pub const MIXERCONTROL_CONTROLTYPE_MUX: u32 = 1879113729; +pub const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: u32 = 1895890944; +pub const MIXERCONTROL_CONTROLTYPE_MIXER: u32 = 1895890945; +pub const MIXERCONTROL_CONTROLTYPE_MICROTIME: u32 = 1610809344; +pub const MIXERCONTROL_CONTROLTYPE_MILLITIME: u32 = 1627586560; +pub const MIXER_GETLINECONTROLSF_ALL: u32 = 0; +pub const MIXER_GETLINECONTROLSF_ONEBYID: u32 = 1; +pub const MIXER_GETLINECONTROLSF_ONEBYTYPE: u32 = 2; +pub const MIXER_GETLINECONTROLSF_QUERYMASK: u32 = 15; +pub const MIXER_GETCONTROLDETAILSF_VALUE: u32 = 0; +pub const MIXER_GETCONTROLDETAILSF_LISTTEXT: u32 = 1; +pub const MIXER_GETCONTROLDETAILSF_QUERYMASK: u32 = 15; +pub const MIXER_SETCONTROLDETAILSF_VALUE: u32 = 0; +pub const MIXER_SETCONTROLDETAILSF_CUSTOM: u32 = 1; +pub const MIXER_SETCONTROLDETAILSF_QUERYMASK: u32 = 15; +pub const TIMERR_NOERROR: u32 = 0; +pub const TIMERR_NOCANDO: u32 = 97; +pub const TIMERR_STRUCT: u32 = 129; +pub const JOYERR_NOERROR: u32 = 0; +pub const JOYERR_PARMS: u32 = 165; +pub const JOYERR_NOCANDO: u32 = 166; +pub const JOYERR_UNPLUGGED: u32 = 167; +pub const JOY_BUTTON1: u32 = 1; +pub const JOY_BUTTON2: u32 = 2; +pub const JOY_BUTTON3: u32 = 4; +pub const JOY_BUTTON4: u32 = 8; +pub const JOY_BUTTON1CHG: u32 = 256; +pub const JOY_BUTTON2CHG: u32 = 512; +pub const JOY_BUTTON3CHG: u32 = 1024; +pub const JOY_BUTTON4CHG: u32 = 2048; +pub const JOY_BUTTON5: u32 = 16; +pub const JOY_BUTTON6: u32 = 32; +pub const JOY_BUTTON7: u32 = 64; +pub const JOY_BUTTON8: u32 = 128; +pub const JOY_BUTTON9: u32 = 256; +pub const JOY_BUTTON10: u32 = 512; +pub const JOY_BUTTON11: u32 = 1024; +pub const JOY_BUTTON12: u32 = 2048; +pub const JOY_BUTTON13: u32 = 4096; +pub const JOY_BUTTON14: u32 = 8192; +pub const JOY_BUTTON15: u32 = 16384; +pub const JOY_BUTTON16: u32 = 32768; +pub const JOY_BUTTON17: u32 = 65536; +pub const JOY_BUTTON18: u32 = 131072; +pub const JOY_BUTTON19: u32 = 262144; +pub const JOY_BUTTON20: u32 = 524288; +pub const JOY_BUTTON21: u32 = 1048576; +pub const JOY_BUTTON22: u32 = 2097152; +pub const JOY_BUTTON23: u32 = 4194304; +pub const JOY_BUTTON24: u32 = 8388608; +pub const JOY_BUTTON25: u32 = 16777216; +pub const JOY_BUTTON26: u32 = 33554432; +pub const JOY_BUTTON27: u32 = 67108864; +pub const JOY_BUTTON28: u32 = 134217728; +pub const JOY_BUTTON29: u32 = 268435456; +pub const JOY_BUTTON30: u32 = 536870912; +pub const JOY_BUTTON31: u32 = 1073741824; +pub const JOY_BUTTON32: u32 = 2147483648; +pub const JOY_POVFORWARD: u32 = 0; +pub const JOY_POVRIGHT: u32 = 9000; +pub const JOY_POVBACKWARD: u32 = 18000; +pub const JOY_POVLEFT: u32 = 27000; +pub const JOY_RETURNX: u32 = 1; +pub const JOY_RETURNY: u32 = 2; +pub const JOY_RETURNZ: u32 = 4; +pub const JOY_RETURNR: u32 = 8; +pub const JOY_RETURNU: u32 = 16; +pub const JOY_RETURNV: u32 = 32; +pub const JOY_RETURNPOV: u32 = 64; +pub const JOY_RETURNBUTTONS: u32 = 128; +pub const JOY_RETURNRAWDATA: u32 = 256; +pub const JOY_RETURNPOVCTS: u32 = 512; +pub const JOY_RETURNCENTERED: u32 = 1024; +pub const JOY_USEDEADZONE: u32 = 2048; +pub const JOY_RETURNALL: u32 = 255; +pub const JOY_CAL_READALWAYS: u32 = 65536; +pub const JOY_CAL_READXYONLY: u32 = 131072; +pub const JOY_CAL_READ3: u32 = 262144; +pub const JOY_CAL_READ4: u32 = 524288; +pub const JOY_CAL_READXONLY: u32 = 1048576; +pub const JOY_CAL_READYONLY: u32 = 2097152; +pub const JOY_CAL_READ5: u32 = 4194304; +pub const JOY_CAL_READ6: u32 = 8388608; +pub const JOY_CAL_READZONLY: u32 = 16777216; +pub const JOY_CAL_READRONLY: u32 = 33554432; +pub const JOY_CAL_READUONLY: u32 = 67108864; +pub const JOY_CAL_READVONLY: u32 = 134217728; +pub const JOYSTICKID1: u32 = 0; +pub const JOYSTICKID2: u32 = 1; +pub const JOYCAPS_HASZ: u32 = 1; +pub const JOYCAPS_HASR: u32 = 2; +pub const JOYCAPS_HASU: u32 = 4; +pub const JOYCAPS_HASV: u32 = 8; +pub const JOYCAPS_HASPOV: u32 = 16; +pub const JOYCAPS_POV4DIR: u32 = 32; +pub const JOYCAPS_POVCTS: u32 = 64; +pub const NEWTRANSPARENT: u32 = 3; +pub const QUERYROPSUPPORT: u32 = 40; +pub const SELECTDIB: u32 = 41; +pub const NCBNAMSZ: u32 = 16; +pub const MAX_LANA: u32 = 254; +pub const NAME_FLAGS_MASK: u32 = 135; +pub const GROUP_NAME: u32 = 128; +pub const UNIQUE_NAME: u32 = 0; +pub const REGISTERING: u32 = 0; +pub const REGISTERED: u32 = 4; +pub const DEREGISTERED: u32 = 5; +pub const DUPLICATE: u32 = 6; +pub const DUPLICATE_DEREG: u32 = 7; +pub const LISTEN_OUTSTANDING: u32 = 1; +pub const CALL_PENDING: u32 = 2; +pub const SESSION_ESTABLISHED: u32 = 3; +pub const HANGUP_PENDING: u32 = 4; +pub const HANGUP_COMPLETE: u32 = 5; +pub const SESSION_ABORTED: u32 = 6; +pub const ALL_TRANSPORTS: &[u8; 5usize] = b"M\0\0\0\0"; +pub const MS_NBF: &[u8; 5usize] = b"MNBF\0"; +pub const NCBCALL: u32 = 16; +pub const NCBLISTEN: u32 = 17; +pub const NCBHANGUP: u32 = 18; +pub const NCBSEND: u32 = 20; +pub const NCBRECV: u32 = 21; +pub const NCBRECVANY: u32 = 22; +pub const NCBCHAINSEND: u32 = 23; +pub const NCBDGSEND: u32 = 32; +pub const NCBDGRECV: u32 = 33; +pub const NCBDGSENDBC: u32 = 34; +pub const NCBDGRECVBC: u32 = 35; +pub const NCBADDNAME: u32 = 48; +pub const NCBDELNAME: u32 = 49; +pub const NCBRESET: u32 = 50; +pub const NCBASTAT: u32 = 51; +pub const NCBSSTAT: u32 = 52; +pub const NCBCANCEL: u32 = 53; +pub const NCBADDGRNAME: u32 = 54; +pub const NCBENUM: u32 = 55; +pub const NCBUNLINK: u32 = 112; +pub const NCBSENDNA: u32 = 113; +pub const NCBCHAINSENDNA: u32 = 114; +pub const NCBLANSTALERT: u32 = 115; +pub const NCBACTION: u32 = 119; +pub const NCBFINDNAME: u32 = 120; +pub const NCBTRACE: u32 = 121; +pub const ASYNCH: u32 = 128; +pub const NRC_GOODRET: u32 = 0; +pub const NRC_BUFLEN: u32 = 1; +pub const NRC_ILLCMD: u32 = 3; +pub const NRC_CMDTMO: u32 = 5; +pub const NRC_INCOMP: u32 = 6; +pub const NRC_BADDR: u32 = 7; +pub const NRC_SNUMOUT: u32 = 8; +pub const NRC_NORES: u32 = 9; +pub const NRC_SCLOSED: u32 = 10; +pub const NRC_CMDCAN: u32 = 11; +pub const NRC_DUPNAME: u32 = 13; +pub const NRC_NAMTFUL: u32 = 14; +pub const NRC_ACTSES: u32 = 15; +pub const NRC_LOCTFUL: u32 = 17; +pub const NRC_REMTFUL: u32 = 18; +pub const NRC_ILLNN: u32 = 19; +pub const NRC_NOCALL: u32 = 20; +pub const NRC_NOWILD: u32 = 21; +pub const NRC_INUSE: u32 = 22; +pub const NRC_NAMERR: u32 = 23; +pub const NRC_SABORT: u32 = 24; +pub const NRC_NAMCONF: u32 = 25; +pub const NRC_IFBUSY: u32 = 33; +pub const NRC_TOOMANY: u32 = 34; +pub const NRC_BRIDGE: u32 = 35; +pub const NRC_CANOCCR: u32 = 36; +pub const NRC_CANCEL: u32 = 38; +pub const NRC_DUPENV: u32 = 48; +pub const NRC_ENVNOTDEF: u32 = 52; +pub const NRC_OSRESNOTAV: u32 = 53; +pub const NRC_MAXAPPS: u32 = 54; +pub const NRC_NOSAPS: u32 = 55; +pub const NRC_NORESOURCES: u32 = 56; +pub const NRC_INVADDRESS: u32 = 57; +pub const NRC_INVDDID: u32 = 59; +pub const NRC_LOCKFAIL: u32 = 60; +pub const NRC_OPENERR: u32 = 63; +pub const NRC_SYSTEM: u32 = 64; +pub const NRC_PENDING: u32 = 255; +pub const RPC_C_BINDING_INFINITE_TIMEOUT: u32 = 10; +pub const RPC_C_BINDING_MIN_TIMEOUT: u32 = 0; +pub const RPC_C_BINDING_DEFAULT_TIMEOUT: u32 = 5; +pub const RPC_C_BINDING_MAX_TIMEOUT: u32 = 9; +pub const RPC_C_CANCEL_INFINITE_TIMEOUT: i32 = -1; +pub const RPC_C_LISTEN_MAX_CALLS_DEFAULT: u32 = 1234; +pub const RPC_C_PROTSEQ_MAX_REQS_DEFAULT: u32 = 10; +pub const RPC_C_BIND_TO_ALL_NICS: u32 = 1; +pub const RPC_C_USE_INTERNET_PORT: u32 = 1; +pub const RPC_C_USE_INTRANET_PORT: u32 = 2; +pub const RPC_C_DONT_FAIL: u32 = 4; +pub const RPC_C_RPCHTTP_USE_LOAD_BALANCE: u32 = 8; +pub const RPC_C_TRY_ENFORCE_MAX_CALLS: u32 = 16; +pub const RPC_C_OPT_BINDING_NONCAUSAL: u32 = 9; +pub const RPC_C_OPT_SECURITY_CALLBACK: u32 = 10; +pub const RPC_C_OPT_UNIQUE_BINDING: u32 = 11; +pub const RPC_C_OPT_TRANS_SEND_BUFFER_SIZE: u32 = 5; +pub const RPC_C_OPT_CALL_TIMEOUT: u32 = 12; +pub const RPC_C_OPT_DONT_LINGER: u32 = 13; +pub const RPC_C_OPT_TRUST_PEER: u32 = 14; +pub const RPC_C_OPT_ASYNC_BLOCK: u32 = 15; +pub const RPC_C_OPT_OPTIMIZE_TIME: u32 = 16; +pub const RPC_C_OPT_MAX_OPTIONS: u32 = 17; +pub const RPC_C_FULL_CERT_CHAIN: u32 = 1; +pub const RPC_C_STATS_CALLS_IN: u32 = 0; +pub const RPC_C_STATS_CALLS_OUT: u32 = 1; +pub const RPC_C_STATS_PKTS_IN: u32 = 2; +pub const RPC_C_STATS_PKTS_OUT: u32 = 3; +pub const RPC_C_AUTHN_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_AUTHN_LEVEL_NONE: u32 = 1; +pub const RPC_C_AUTHN_LEVEL_CONNECT: u32 = 2; +pub const RPC_C_AUTHN_LEVEL_CALL: u32 = 3; +pub const RPC_C_AUTHN_LEVEL_PKT: u32 = 4; +pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: u32 = 5; +pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: u32 = 6; +pub const RPC_C_IMP_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_IMP_LEVEL_ANONYMOUS: u32 = 1; +pub const RPC_C_IMP_LEVEL_IDENTIFY: u32 = 2; +pub const RPC_C_IMP_LEVEL_IMPERSONATE: u32 = 3; +pub const RPC_C_IMP_LEVEL_DELEGATE: u32 = 4; +pub const RPC_C_QOS_IDENTITY_STATIC: u32 = 0; +pub const RPC_C_QOS_IDENTITY_DYNAMIC: u32 = 1; +pub const RPC_C_QOS_CAPABILITIES_DEFAULT: u32 = 0; +pub const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH: u32 = 1; +pub const RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC: u32 = 2; +pub const RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY: u32 = 4; +pub const RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE: u32 = 8; +pub const RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT: u32 = 16; +pub const RPC_C_QOS_CAPABILITIES_SCHANNEL_FULL_AUTH_IDENTITY: u32 = 32; +pub const RPC_C_PROTECT_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_PROTECT_LEVEL_NONE: u32 = 1; +pub const RPC_C_PROTECT_LEVEL_CONNECT: u32 = 2; +pub const RPC_C_PROTECT_LEVEL_CALL: u32 = 3; +pub const RPC_C_PROTECT_LEVEL_PKT: u32 = 4; +pub const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY: u32 = 5; +pub const RPC_C_PROTECT_LEVEL_PKT_PRIVACY: u32 = 6; +pub const RPC_C_AUTHN_NONE: u32 = 0; +pub const RPC_C_AUTHN_DCE_PRIVATE: u32 = 1; +pub const RPC_C_AUTHN_DCE_PUBLIC: u32 = 2; +pub const RPC_C_AUTHN_DEC_PUBLIC: u32 = 4; +pub const RPC_C_AUTHN_GSS_NEGOTIATE: u32 = 9; +pub const RPC_C_AUTHN_WINNT: u32 = 10; +pub const RPC_C_AUTHN_GSS_SCHANNEL: u32 = 14; +pub const RPC_C_AUTHN_GSS_KERBEROS: u32 = 16; +pub const RPC_C_AUTHN_DPA: u32 = 17; +pub const RPC_C_AUTHN_MSN: u32 = 18; +pub const RPC_C_AUTHN_DIGEST: u32 = 21; +pub const RPC_C_AUTHN_KERNEL: u32 = 20; +pub const RPC_C_AUTHN_NEGO_EXTENDER: u32 = 30; +pub const RPC_C_AUTHN_PKU2U: u32 = 31; +pub const RPC_C_AUTHN_LIVE_SSP: u32 = 32; +pub const RPC_C_AUTHN_LIVEXP_SSP: u32 = 35; +pub const RPC_C_AUTHN_CLOUD_AP: u32 = 36; +pub const RPC_C_AUTHN_MSONLINE: u32 = 82; +pub const RPC_C_AUTHN_MQ: u32 = 100; +pub const RPC_C_AUTHN_DEFAULT: u32 = 4294967295; +pub const RPC_C_SECURITY_QOS_VERSION: u32 = 1; +pub const RPC_C_SECURITY_QOS_VERSION_1: u32 = 1; +pub const SEC_WINNT_AUTH_IDENTITY_ANSI: u32 = 1; +pub const SEC_WINNT_AUTH_IDENTITY_UNICODE: u32 = 2; +pub const RPC_C_SECURITY_QOS_VERSION_2: u32 = 2; +pub const RPC_C_AUTHN_INFO_TYPE_HTTP: u32 = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_SERVER: u32 = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_PROXY: u32 = 2; +pub const RPC_C_HTTP_AUTHN_SCHEME_BASIC: u32 = 1; +pub const RPC_C_HTTP_AUTHN_SCHEME_NTLM: u32 = 2; +pub const RPC_C_HTTP_AUTHN_SCHEME_PASSPORT: u32 = 4; +pub const RPC_C_HTTP_AUTHN_SCHEME_DIGEST: u32 = 8; +pub const RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE: u32 = 16; +pub const RPC_C_HTTP_AUTHN_SCHEME_CERT: u32 = 65536; +pub const RPC_C_HTTP_FLAG_USE_SSL: u32 = 1; +pub const RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME: u32 = 2; +pub const RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID: u32 = 8; +pub const RPC_C_HTTP_FLAG_ENABLE_CERT_REVOCATION_CHECK: u32 = 16; +pub const RPC_C_SECURITY_QOS_VERSION_3: u32 = 3; +pub const RPC_C_SECURITY_QOS_VERSION_4: u32 = 4; +pub const RPC_C_SECURITY_QOS_VERSION_5: u32 = 5; +pub const RPC_PROTSEQ_TCP: u32 = 1; +pub const RPC_PROTSEQ_NMP: u32 = 2; +pub const RPC_PROTSEQ_LRPC: u32 = 3; +pub const RPC_PROTSEQ_HTTP: u32 = 4; +pub const RPC_BHT_OBJECT_UUID_VALID: u32 = 1; +pub const RPC_BHO_NONCAUSAL: u32 = 1; +pub const RPC_BHO_DONTLINGER: u32 = 2; +pub const RPC_BHO_EXCLUSIVE_AND_GUARANTEED: u32 = 4; +pub const RPC_C_AUTHZ_NONE: u32 = 0; +pub const RPC_C_AUTHZ_NAME: u32 = 1; +pub const RPC_C_AUTHZ_DCE: u32 = 2; +pub const RPC_C_AUTHZ_DEFAULT: u32 = 4294967295; +pub const DCE_C_ERROR_STRING_LEN: u32 = 256; +pub const RPC_C_EP_ALL_ELTS: u32 = 0; +pub const RPC_C_EP_MATCH_BY_IF: u32 = 1; +pub const RPC_C_EP_MATCH_BY_OBJ: u32 = 2; +pub const RPC_C_EP_MATCH_BY_BOTH: u32 = 3; +pub const RPC_C_VERS_ALL: u32 = 1; +pub const RPC_C_VERS_COMPATIBLE: u32 = 2; +pub const RPC_C_VERS_EXACT: u32 = 3; +pub const RPC_C_VERS_MAJOR_ONLY: u32 = 4; +pub const RPC_C_VERS_UPTO: u32 = 5; +pub const RPC_C_MGMT_INQ_IF_IDS: u32 = 0; +pub const RPC_C_MGMT_INQ_PRINC_NAME: u32 = 1; +pub const RPC_C_MGMT_INQ_STATS: u32 = 2; +pub const RPC_C_MGMT_IS_SERVER_LISTEN: u32 = 3; +pub const RPC_C_MGMT_STOP_SERVER_LISTEN: u32 = 4; +pub const RPC_C_PARM_MAX_PACKET_LENGTH: u32 = 1; +pub const RPC_C_PARM_BUFFER_LENGTH: u32 = 2; +pub const RPC_IF_AUTOLISTEN: u32 = 1; +pub const RPC_IF_OLE: u32 = 2; +pub const RPC_IF_ALLOW_UNKNOWN_AUTHORITY: u32 = 4; +pub const RPC_IF_ALLOW_SECURE_ONLY: u32 = 8; +pub const RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH: u32 = 16; +pub const RPC_IF_ALLOW_LOCAL_ONLY: u32 = 32; +pub const RPC_IF_SEC_NO_CACHE: u32 = 64; +pub const RPC_IF_SEC_CACHE_PER_PROC: u32 = 128; +pub const RPC_IF_ASYNC_CALLBACK: u32 = 256; +pub const RPC_FW_IF_FLAG_DCOM: u32 = 1; +pub const RPC_CONTEXT_HANDLE_DEFAULT_FLAGS: u32 = 0; +pub const RPC_CONTEXT_HANDLE_FLAGS: u32 = 805306368; +pub const RPC_CONTEXT_HANDLE_SERIALIZE: u32 = 268435456; +pub const RPC_CONTEXT_HANDLE_DONT_SERIALIZE: u32 = 536870912; +pub const RPC_TYPE_STRICT_CONTEXT_HANDLE: u32 = 1073741824; +pub const RPC_TYPE_DISCONNECT_EVENT_CONTEXT_HANDLE: u32 = 2147483648; +pub const RPC_NCA_FLAGS_DEFAULT: u32 = 0; +pub const RPC_NCA_FLAGS_IDEMPOTENT: u32 = 1; +pub const RPC_NCA_FLAGS_BROADCAST: u32 = 2; +pub const RPC_NCA_FLAGS_MAYBE: u32 = 4; +pub const RPCFLG_HAS_GUARANTEE: u32 = 16; +pub const RPCFLG_WINRT_REMOTE_ASYNC: u32 = 32; +pub const RPC_BUFFER_COMPLETE: u32 = 4096; +pub const RPC_BUFFER_PARTIAL: u32 = 8192; +pub const RPC_BUFFER_EXTRA: u32 = 16384; +pub const RPC_BUFFER_ASYNC: u32 = 32768; +pub const RPC_BUFFER_NONOTIFY: u32 = 65536; +pub const RPCFLG_MESSAGE: u32 = 16777216; +pub const RPCFLG_AUTO_COMPLETE: u32 = 134217728; +pub const RPCFLG_LOCAL_CALL: u32 = 268435456; +pub const RPCFLG_INPUT_SYNCHRONOUS: u32 = 536870912; +pub const RPCFLG_ASYNCHRONOUS: u32 = 1073741824; +pub const RPCFLG_NON_NDR: u32 = 2147483648; +pub const RPCFLG_HAS_MULTI_SYNTAXES: u32 = 33554432; +pub const RPCFLG_HAS_CALLBACK: u32 = 67108864; +pub const RPCFLG_ACCESSIBILITY_BIT1: u32 = 1048576; +pub const RPCFLG_ACCESSIBILITY_BIT2: u32 = 2097152; +pub const RPCFLG_ACCESS_LOCAL: u32 = 4194304; +pub const NDR_CUSTOM_OR_DEFAULT_ALLOCATOR: u32 = 268435456; +pub const NDR_DEFAULT_ALLOCATOR: u32 = 536870912; +pub const RPCFLG_NDR64_CONTAINS_ARM_LAYOUT: u32 = 67108864; +pub const RPCFLG_SENDER_WAITING_FOR_REPLY: u32 = 8388608; +pub const RPC_FLAGS_VALID_BIT: u32 = 32768; +pub const NT351_INTERFACE_SIZE: u32 = 64; +pub const RPC_INTERFACE_HAS_PIPES: u32 = 1; +pub const RPC_SYSTEM_HANDLE_FREE_UNRETRIEVED: u32 = 1; +pub const RPC_SYSTEM_HANDLE_FREE_RETRIEVED: u32 = 2; +pub const RPC_SYSTEM_HANDLE_FREE_ALL: u32 = 3; +pub const RPC_SYSTEM_HANDLE_FREE_ERROR_ON_CLOSE: u32 = 4; +pub const TRANSPORT_TYPE_CN: u32 = 1; +pub const TRANSPORT_TYPE_DG: u32 = 2; +pub const TRANSPORT_TYPE_LPC: u32 = 4; +pub const TRANSPORT_TYPE_WMSG: u32 = 8; +pub const RPC_P_ADDR_FORMAT_TCP_IPV4: u32 = 1; +pub const RPC_P_ADDR_FORMAT_TCP_IPV6: u32 = 2; +pub const RPC_C_OPT_SESSION_ID: u32 = 6; +pub const RPC_C_OPT_COOKIE_AUTH: u32 = 7; +pub const RPC_C_OPT_RESOURCE_TYPE_UUID: u32 = 8; +pub const RPC_PROXY_CONNECTION_TYPE_IN_PROXY: u32 = 0; +pub const RPC_PROXY_CONNECTION_TYPE_OUT_PROXY: u32 = 1; +pub const RPC_C_OPT_PRIVATE_SUPPRESS_WAKE: u32 = 1; +pub const RPC_C_OPT_PRIVATE_DO_NOT_DISTURB: u32 = 2; +pub const RPC_C_OPT_PRIVATE_BREAK_ON_SUSPEND: u32 = 3; +pub const RPC_C_NS_SYNTAX_DEFAULT: u32 = 0; +pub const RPC_C_NS_SYNTAX_DCE: u32 = 3; +pub const RPC_C_PROFILE_DEFAULT_ELT: u32 = 0; +pub const RPC_C_PROFILE_ALL_ELT: u32 = 1; +pub const RPC_C_PROFILE_ALL_ELTS: u32 = 1; +pub const RPC_C_PROFILE_MATCH_BY_IF: u32 = 2; +pub const RPC_C_PROFILE_MATCH_BY_MBR: u32 = 3; +pub const RPC_C_PROFILE_MATCH_BY_BOTH: u32 = 4; +pub const RPC_C_NS_DEFAULT_EXP_AGE: i32 = -1; +pub const RPC_S_OK: u32 = 0; +pub const RPC_S_INVALID_ARG: u32 = 87; +pub const RPC_S_OUT_OF_MEMORY: u32 = 14; +pub const RPC_S_OUT_OF_THREADS: u32 = 164; +pub const RPC_S_INVALID_LEVEL: u32 = 87; +pub const RPC_S_BUFFER_TOO_SMALL: u32 = 122; +pub const RPC_S_INVALID_SECURITY_DESC: u32 = 1338; +pub const RPC_S_ACCESS_DENIED: u32 = 5; +pub const RPC_S_SERVER_OUT_OF_MEMORY: u32 = 1130; +pub const RPC_S_ASYNC_CALL_PENDING: u32 = 997; +pub const RPC_S_UNKNOWN_PRINCIPAL: u32 = 1332; +pub const RPC_S_TIMEOUT: u32 = 1460; +pub const RPC_S_NOT_ENOUGH_QUOTA: u32 = 1816; +pub const RPC_X_NO_MEMORY: u32 = 14; +pub const RPC_X_INVALID_BOUND: u32 = 1734; +pub const RPC_X_INVALID_TAG: u32 = 1733; +pub const RPC_X_ENUM_VALUE_TOO_LARGE: u32 = 1781; +pub const RPC_X_SS_CONTEXT_MISMATCH: u32 = 6; +pub const RPC_X_INVALID_BUFFER: u32 = 1784; +pub const RPC_X_PIPE_APP_MEMORY: u32 = 14; +pub const RPC_X_INVALID_PIPE_OPERATION: u32 = 1831; +pub const RPC_C_NOTIFY_ON_SEND_COMPLETE: u32 = 1; +pub const RPC_C_INFINITE_TIMEOUT: u32 = 4294967295; +pub const MaxNumberOfEEInfoParams: u32 = 4; +pub const RPC_EEINFO_VERSION: u32 = 1; +pub const EEInfoPreviousRecordsMissing: u32 = 1; +pub const EEInfoNextRecordsMissing: u32 = 2; +pub const EEInfoUseFileTime: u32 = 4; +pub const EEInfoGCCOM: u32 = 11; +pub const EEInfoGCFRS: u32 = 12; +pub const RPC_QUERY_SERVER_PRINCIPAL_NAME: u32 = 2; +pub const RPC_QUERY_CLIENT_PRINCIPAL_NAME: u32 = 4; +pub const RPC_QUERY_CALL_LOCAL_ADDRESS: u32 = 8; +pub const RPC_QUERY_CLIENT_PID: u32 = 16; +pub const RPC_QUERY_IS_CLIENT_LOCAL: u32 = 32; +pub const RPC_QUERY_NO_AUTH_REQUIRED: u32 = 64; +pub const RPC_CALL_ATTRIBUTES_VERSION: u32 = 3; +pub const RPC_QUERY_CLIENT_ID: u32 = 128; +pub const RPC_CALL_STATUS_CANCELLED: u32 = 1; +pub const RPC_CALL_STATUS_DISCONNECTED: u32 = 2; +pub const ABM_NEW: u32 = 0; +pub const ABM_REMOVE: u32 = 1; +pub const ABM_QUERYPOS: u32 = 2; +pub const ABM_SETPOS: u32 = 3; +pub const ABM_GETSTATE: u32 = 4; +pub const ABM_GETTASKBARPOS: u32 = 5; +pub const ABM_ACTIVATE: u32 = 6; +pub const ABM_GETAUTOHIDEBAR: u32 = 7; +pub const ABM_SETAUTOHIDEBAR: u32 = 8; +pub const ABM_WINDOWPOSCHANGED: u32 = 9; +pub const ABM_SETSTATE: u32 = 10; +pub const ABM_GETAUTOHIDEBAREX: u32 = 11; +pub const ABM_SETAUTOHIDEBAREX: u32 = 12; +pub const ABN_STATECHANGE: u32 = 0; +pub const ABN_POSCHANGED: u32 = 1; +pub const ABN_FULLSCREENAPP: u32 = 2; +pub const ABN_WINDOWARRANGE: u32 = 3; +pub const ABS_AUTOHIDE: u32 = 1; +pub const ABS_ALWAYSONTOP: u32 = 2; +pub const ABE_LEFT: u32 = 0; +pub const ABE_TOP: u32 = 1; +pub const ABE_RIGHT: u32 = 2; +pub const ABE_BOTTOM: u32 = 3; +pub const FO_MOVE: u32 = 1; +pub const FO_COPY: u32 = 2; +pub const FO_DELETE: u32 = 3; +pub const FO_RENAME: u32 = 4; +pub const FOF_MULTIDESTFILES: u32 = 1; +pub const FOF_CONFIRMMOUSE: u32 = 2; +pub const FOF_SILENT: u32 = 4; +pub const FOF_RENAMEONCOLLISION: u32 = 8; +pub const FOF_NOCONFIRMATION: u32 = 16; +pub const FOF_WANTMAPPINGHANDLE: u32 = 32; +pub const FOF_ALLOWUNDO: u32 = 64; +pub const FOF_FILESONLY: u32 = 128; +pub const FOF_SIMPLEPROGRESS: u32 = 256; +pub const FOF_NOCONFIRMMKDIR: u32 = 512; +pub const FOF_NOERRORUI: u32 = 1024; +pub const FOF_NOCOPYSECURITYATTRIBS: u32 = 2048; +pub const FOF_NORECURSION: u32 = 4096; +pub const FOF_NO_CONNECTED_ELEMENTS: u32 = 8192; +pub const FOF_WANTNUKEWARNING: u32 = 16384; +pub const FOF_NORECURSEREPARSE: u32 = 32768; +pub const FOF_NO_UI: u32 = 1556; +pub const PO_DELETE: u32 = 19; +pub const PO_RENAME: u32 = 20; +pub const PO_PORTCHANGE: u32 = 32; +pub const PO_REN_PORT: u32 = 52; +pub const SE_ERR_FNF: u32 = 2; +pub const SE_ERR_PNF: u32 = 3; +pub const SE_ERR_ACCESSDENIED: u32 = 5; +pub const SE_ERR_OOM: u32 = 8; +pub const SE_ERR_DLLNOTFOUND: u32 = 32; +pub const SE_ERR_SHARE: u32 = 26; +pub const SE_ERR_ASSOCINCOMPLETE: u32 = 27; +pub const SE_ERR_DDETIMEOUT: u32 = 28; +pub const SE_ERR_DDEFAIL: u32 = 29; +pub const SE_ERR_DDEBUSY: u32 = 30; +pub const SE_ERR_NOASSOC: u32 = 31; +pub const SEE_MASK_DEFAULT: u32 = 0; +pub const SEE_MASK_CLASSNAME: u32 = 1; +pub const SEE_MASK_CLASSKEY: u32 = 3; +pub const SEE_MASK_IDLIST: u32 = 4; +pub const SEE_MASK_INVOKEIDLIST: u32 = 12; +pub const SEE_MASK_HOTKEY: u32 = 32; +pub const SEE_MASK_NOCLOSEPROCESS: u32 = 64; +pub const SEE_MASK_CONNECTNETDRV: u32 = 128; +pub const SEE_MASK_NOASYNC: u32 = 256; +pub const SEE_MASK_FLAG_DDEWAIT: u32 = 256; +pub const SEE_MASK_DOENVSUBST: u32 = 512; +pub const SEE_MASK_FLAG_NO_UI: u32 = 1024; +pub const SEE_MASK_UNICODE: u32 = 16384; +pub const SEE_MASK_NO_CONSOLE: u32 = 32768; +pub const SEE_MASK_ASYNCOK: u32 = 1048576; +pub const SEE_MASK_HMONITOR: u32 = 2097152; +pub const SEE_MASK_NOZONECHECKS: u32 = 8388608; +pub const SEE_MASK_NOQUERYCLASSSTORE: u32 = 16777216; +pub const SEE_MASK_WAITFORINPUTIDLE: u32 = 33554432; +pub const SEE_MASK_FLAG_LOG_USAGE: u32 = 67108864; +pub const SEE_MASK_FLAG_HINST_IS_SITE: u32 = 134217728; +pub const SHERB_NOCONFIRMATION: u32 = 1; +pub const SHERB_NOPROGRESSUI: u32 = 2; +pub const SHERB_NOSOUND: u32 = 4; +pub const NIN_SELECT: u32 = 1024; +pub const NINF_KEY: u32 = 1; +pub const NIN_KEYSELECT: u32 = 1025; +pub const NIN_BALLOONSHOW: u32 = 1026; +pub const NIN_BALLOONHIDE: u32 = 1027; +pub const NIN_BALLOONTIMEOUT: u32 = 1028; +pub const NIN_BALLOONUSERCLICK: u32 = 1029; +pub const NIN_POPUPOPEN: u32 = 1030; +pub const NIN_POPUPCLOSE: u32 = 1031; +pub const NIM_ADD: u32 = 0; +pub const NIM_MODIFY: u32 = 1; +pub const NIM_DELETE: u32 = 2; +pub const NIM_SETFOCUS: u32 = 3; +pub const NIM_SETVERSION: u32 = 4; +pub const NOTIFYICON_VERSION: u32 = 3; +pub const NOTIFYICON_VERSION_4: u32 = 4; +pub const NIF_MESSAGE: u32 = 1; +pub const NIF_ICON: u32 = 2; +pub const NIF_TIP: u32 = 4; +pub const NIF_STATE: u32 = 8; +pub const NIF_INFO: u32 = 16; +pub const NIF_GUID: u32 = 32; +pub const NIF_REALTIME: u32 = 64; +pub const NIF_SHOWTIP: u32 = 128; +pub const NIS_HIDDEN: u32 = 1; +pub const NIS_SHAREDICON: u32 = 2; +pub const NIIF_NONE: u32 = 0; +pub const NIIF_INFO: u32 = 1; +pub const NIIF_WARNING: u32 = 2; +pub const NIIF_ERROR: u32 = 3; +pub const NIIF_USER: u32 = 4; +pub const NIIF_ICON_MASK: u32 = 15; +pub const NIIF_NOSOUND: u32 = 16; +pub const NIIF_LARGE_ICON: u32 = 32; +pub const NIIF_RESPECT_QUIET_TIME: u32 = 128; +pub const SHGFI_ICON: u32 = 256; +pub const SHGFI_DISPLAYNAME: u32 = 512; +pub const SHGFI_TYPENAME: u32 = 1024; +pub const SHGFI_ATTRIBUTES: u32 = 2048; +pub const SHGFI_ICONLOCATION: u32 = 4096; +pub const SHGFI_EXETYPE: u32 = 8192; +pub const SHGFI_SYSICONINDEX: u32 = 16384; +pub const SHGFI_LINKOVERLAY: u32 = 32768; +pub const SHGFI_SELECTED: u32 = 65536; +pub const SHGFI_ATTR_SPECIFIED: u32 = 131072; +pub const SHGFI_LARGEICON: u32 = 0; +pub const SHGFI_SMALLICON: u32 = 1; +pub const SHGFI_OPENICON: u32 = 2; +pub const SHGFI_SHELLICONSIZE: u32 = 4; +pub const SHGFI_PIDL: u32 = 8; +pub const SHGFI_USEFILEATTRIBUTES: u32 = 16; +pub const SHGFI_ADDOVERLAYS: u32 = 32; +pub const SHGFI_OVERLAYINDEX: u32 = 64; +pub const SHGSI_ICONLOCATION: u32 = 0; +pub const SHGSI_ICON: u32 = 256; +pub const SHGSI_SYSICONINDEX: u32 = 16384; +pub const SHGSI_LINKOVERLAY: u32 = 32768; +pub const SHGSI_SELECTED: u32 = 65536; +pub const SHGSI_LARGEICON: u32 = 0; +pub const SHGSI_SMALLICON: u32 = 1; +pub const SHGSI_SHELLICONSIZE: u32 = 4; +pub const SHGNLI_PIDL: u32 = 1; +pub const SHGNLI_PREFIXNAME: u32 = 2; +pub const SHGNLI_NOUNIQUE: u32 = 4; +pub const SHGNLI_NOLNK: u32 = 8; +pub const SHGNLI_NOLOCNAME: u32 = 16; +pub const SHGNLI_USEURLEXT: u32 = 32; +pub const PRINTACTION_OPEN: u32 = 0; +pub const PRINTACTION_PROPERTIES: u32 = 1; +pub const PRINTACTION_NETINSTALL: u32 = 2; +pub const PRINTACTION_NETINSTALLLINK: u32 = 3; +pub const PRINTACTION_TESTPAGE: u32 = 4; +pub const PRINTACTION_OPENNETPRN: u32 = 5; +pub const PRINTACTION_DOCUMENTDEFAULTS: u32 = 6; +pub const PRINTACTION_SERVERPROPERTIES: u32 = 7; +pub const PRINT_PROP_FORCE_NAME: u32 = 1; +pub const OFFLINE_STATUS_LOCAL: u32 = 1; +pub const OFFLINE_STATUS_REMOTE: u32 = 2; +pub const OFFLINE_STATUS_INCOMPLETE: u32 = 4; +pub const SHIL_LARGE: u32 = 0; +pub const SHIL_SMALL: u32 = 1; +pub const SHIL_EXTRALARGE: u32 = 2; +pub const SHIL_SYSSMALL: u32 = 3; +pub const SHIL_JUMBO: u32 = 4; +pub const SHIL_LAST: u32 = 4; +pub const WC_NETADDRESS: &[u8; 18usize] = b"msctls_netaddress\0"; +pub const NCM_GETADDRESS: u32 = 1025; +pub const NCM_SETALLOWTYPE: u32 = 1026; +pub const NCM_GETALLOWTYPE: u32 = 1027; +pub const NCM_DISPLAYERRORTIP: u32 = 1028; +pub const PERF_DATA_VERSION: u32 = 1; +pub const PERF_DATA_REVISION: u32 = 1; +pub const PERF_NO_INSTANCES: i32 = -1; +pub const PERF_METADATA_MULTIPLE_INSTANCES: i32 = -2; +pub const PERF_METADATA_NO_INSTANCES: i32 = -3; +pub const PERF_SIZE_DWORD: u32 = 0; +pub const PERF_SIZE_LARGE: u32 = 256; +pub const PERF_SIZE_ZERO: u32 = 512; +pub const PERF_SIZE_VARIABLE_LEN: u32 = 768; +pub const PERF_TYPE_NUMBER: u32 = 0; +pub const PERF_TYPE_COUNTER: u32 = 1024; +pub const PERF_TYPE_TEXT: u32 = 2048; +pub const PERF_TYPE_ZERO: u32 = 3072; +pub const PERF_NUMBER_HEX: u32 = 0; +pub const PERF_NUMBER_DECIMAL: u32 = 65536; +pub const PERF_NUMBER_DEC_1000: u32 = 131072; +pub const PERF_COUNTER_VALUE: u32 = 0; +pub const PERF_COUNTER_RATE: u32 = 65536; +pub const PERF_COUNTER_FRACTION: u32 = 131072; +pub const PERF_COUNTER_BASE: u32 = 196608; +pub const PERF_COUNTER_ELAPSED: u32 = 262144; +pub const PERF_COUNTER_QUEUELEN: u32 = 327680; +pub const PERF_COUNTER_HISTOGRAM: u32 = 393216; +pub const PERF_COUNTER_PRECISION: u32 = 458752; +pub const PERF_TEXT_UNICODE: u32 = 0; +pub const PERF_TEXT_ASCII: u32 = 65536; +pub const PERF_TIMER_TICK: u32 = 0; +pub const PERF_TIMER_100NS: u32 = 1048576; +pub const PERF_OBJECT_TIMER: u32 = 2097152; +pub const PERF_DELTA_COUNTER: u32 = 4194304; +pub const PERF_DELTA_BASE: u32 = 8388608; +pub const PERF_INVERSE_COUNTER: u32 = 16777216; +pub const PERF_MULTI_COUNTER: u32 = 33554432; +pub const PERF_DISPLAY_NO_SUFFIX: u32 = 0; +pub const PERF_DISPLAY_PER_SEC: u32 = 268435456; +pub const PERF_DISPLAY_PERCENT: u32 = 536870912; +pub const PERF_DISPLAY_SECONDS: u32 = 805306368; +pub const PERF_DISPLAY_NOSHOW: u32 = 1073741824; +pub const PERF_COUNTER_COUNTER: u32 = 272696320; +pub const PERF_COUNTER_TIMER: u32 = 541132032; +pub const PERF_COUNTER_QUEUELEN_TYPE: u32 = 4523008; +pub const PERF_COUNTER_LARGE_QUEUELEN_TYPE: u32 = 4523264; +pub const PERF_COUNTER_100NS_QUEUELEN_TYPE: u32 = 5571840; +pub const PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE: u32 = 6620416; +pub const PERF_COUNTER_BULK_COUNT: u32 = 272696576; +pub const PERF_COUNTER_TEXT: u32 = 2816; +pub const PERF_COUNTER_RAWCOUNT: u32 = 65536; +pub const PERF_COUNTER_LARGE_RAWCOUNT: u32 = 65792; +pub const PERF_COUNTER_RAWCOUNT_HEX: u32 = 0; +pub const PERF_COUNTER_LARGE_RAWCOUNT_HEX: u32 = 256; +pub const PERF_SAMPLE_FRACTION: u32 = 549585920; +pub const PERF_SAMPLE_COUNTER: u32 = 4260864; +pub const PERF_COUNTER_NODATA: u32 = 1073742336; +pub const PERF_COUNTER_TIMER_INV: u32 = 557909248; +pub const PERF_SAMPLE_BASE: u32 = 1073939457; +pub const PERF_AVERAGE_TIMER: u32 = 805438464; +pub const PERF_AVERAGE_BASE: u32 = 1073939458; +pub const PERF_AVERAGE_BULK: u32 = 1073874176; +pub const PERF_OBJ_TIME_TIMER: u32 = 543229184; +pub const PERF_100NSEC_TIMER: u32 = 542180608; +pub const PERF_100NSEC_TIMER_INV: u32 = 558957824; +pub const PERF_COUNTER_MULTI_TIMER: u32 = 574686464; +pub const PERF_COUNTER_MULTI_TIMER_INV: u32 = 591463680; +pub const PERF_COUNTER_MULTI_BASE: u32 = 1107494144; +pub const PERF_100NSEC_MULTI_TIMER: u32 = 575735040; +pub const PERF_100NSEC_MULTI_TIMER_INV: u32 = 592512256; +pub const PERF_RAW_FRACTION: u32 = 537003008; +pub const PERF_LARGE_RAW_FRACTION: u32 = 537003264; +pub const PERF_RAW_BASE: u32 = 1073939459; +pub const PERF_LARGE_RAW_BASE: u32 = 1073939712; +pub const PERF_ELAPSED_TIME: u32 = 807666944; +pub const PERF_COUNTER_HISTOGRAM_TYPE: u32 = 2147483648; +pub const PERF_COUNTER_DELTA: u32 = 4195328; +pub const PERF_COUNTER_LARGE_DELTA: u32 = 4195584; +pub const PERF_PRECISION_SYSTEM_TIMER: u32 = 541525248; +pub const PERF_PRECISION_100NS_TIMER: u32 = 542573824; +pub const PERF_PRECISION_OBJECT_TIMER: u32 = 543622400; +pub const PERF_PRECISION_TIMESTAMP: u32 = 1073939712; +pub const PERF_DETAIL_NOVICE: u32 = 100; +pub const PERF_DETAIL_ADVANCED: u32 = 200; +pub const PERF_DETAIL_EXPERT: u32 = 300; +pub const PERF_DETAIL_WIZARD: u32 = 400; +pub const PERF_NO_UNIQUE_ID: i32 = -1; +pub const MAX_PERF_OBJECTS_IN_QUERY_FUNCTION: u32 = 64; +pub const WINPERF_LOG_NONE: u32 = 0; +pub const WINPERF_LOG_USER: u32 = 1; +pub const WINPERF_LOG_DEBUG: u32 = 2; +pub const WINPERF_LOG_VERBOSE: u32 = 3; +pub const FD_SETSIZE: u32 = 64; +pub const IOCPARM_MASK: u32 = 127; +pub const IOC_VOID: u32 = 536870912; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const IPPROTO_IP: u32 = 0; +pub const IPPROTO_ICMP: u32 = 1; +pub const IPPROTO_IGMP: u32 = 2; +pub const IPPROTO_GGP: u32 = 3; +pub const IPPROTO_TCP: u32 = 6; +pub const IPPROTO_PUP: u32 = 12; +pub const IPPROTO_UDP: u32 = 17; +pub const IPPROTO_IDP: u32 = 22; +pub const IPPROTO_ND: u32 = 77; +pub const IPPROTO_RAW: u32 = 255; +pub const IPPROTO_MAX: u32 = 256; +pub const IPPORT_ECHO: u32 = 7; +pub const IPPORT_DISCARD: u32 = 9; +pub const IPPORT_SYSTAT: u32 = 11; +pub const IPPORT_DAYTIME: u32 = 13; +pub const IPPORT_NETSTAT: u32 = 15; +pub const IPPORT_FTP: u32 = 21; +pub const IPPORT_TELNET: u32 = 23; +pub const IPPORT_SMTP: u32 = 25; +pub const IPPORT_TIMESERVER: u32 = 37; +pub const IPPORT_NAMESERVER: u32 = 42; +pub const IPPORT_WHOIS: u32 = 43; +pub const IPPORT_MTP: u32 = 57; +pub const IPPORT_TFTP: u32 = 69; +pub const IPPORT_RJE: u32 = 77; +pub const IPPORT_FINGER: u32 = 79; +pub const IPPORT_TTYLINK: u32 = 87; +pub const IPPORT_SUPDUP: u32 = 95; +pub const IPPORT_EXECSERVER: u32 = 512; +pub const IPPORT_LOGINSERVER: u32 = 513; +pub const IPPORT_CMDSERVER: u32 = 514; +pub const IPPORT_EFSSERVER: u32 = 520; +pub const IPPORT_BIFFUDP: u32 = 512; +pub const IPPORT_WHOSERVER: u32 = 513; +pub const IPPORT_ROUTESERVER: u32 = 520; +pub const IPPORT_RESERVED: u32 = 1024; +pub const IMPLINK_IP: u32 = 155; +pub const IMPLINK_LOWEXPER: u32 = 156; +pub const IMPLINK_HIGHEXPER: u32 = 158; +pub const IN_CLASSA_NET: u32 = 4278190080; +pub const IN_CLASSA_NSHIFT: u32 = 24; +pub const IN_CLASSA_HOST: u32 = 16777215; +pub const IN_CLASSA_MAX: u32 = 128; +pub const IN_CLASSB_NET: u32 = 4294901760; +pub const IN_CLASSB_NSHIFT: u32 = 16; +pub const IN_CLASSB_HOST: u32 = 65535; +pub const IN_CLASSB_MAX: u32 = 65536; +pub const IN_CLASSC_NET: u32 = 4294967040; +pub const IN_CLASSC_NSHIFT: u32 = 8; +pub const IN_CLASSC_HOST: u32 = 255; +pub const INADDR_LOOPBACK: u32 = 2130706433; +pub const INADDR_NONE: u32 = 4294967295; +pub const WSADESCRIPTION_LEN: u32 = 256; +pub const WSASYS_STATUS_LEN: u32 = 128; +pub const IP_OPTIONS: u32 = 1; +pub const IP_MULTICAST_IF: u32 = 2; +pub const IP_MULTICAST_TTL: u32 = 3; +pub const IP_MULTICAST_LOOP: u32 = 4; +pub const IP_ADD_MEMBERSHIP: u32 = 5; +pub const IP_DROP_MEMBERSHIP: u32 = 6; +pub const IP_TTL: u32 = 7; +pub const IP_TOS: u32 = 8; +pub const IP_DONTFRAGMENT: u32 = 9; +pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1; +pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1; +pub const IP_MAX_MEMBERSHIPS: u32 = 20; +pub const SOCKET_ERROR: i32 = -1; +pub const SOCK_STREAM: u32 = 1; +pub const SOCK_DGRAM: u32 = 2; +pub const SOCK_RAW: u32 = 3; +pub const SOCK_RDM: u32 = 4; +pub const SOCK_SEQPACKET: u32 = 5; +pub const SO_DEBUG: u32 = 1; +pub const SO_ACCEPTCONN: u32 = 2; +pub const SO_REUSEADDR: u32 = 4; +pub const SO_KEEPALIVE: u32 = 8; +pub const SO_DONTROUTE: u32 = 16; +pub const SO_BROADCAST: u32 = 32; +pub const SO_USELOOPBACK: u32 = 64; +pub const SO_LINGER: u32 = 128; +pub const SO_OOBINLINE: u32 = 256; +pub const SO_SNDBUF: u32 = 4097; +pub const SO_RCVBUF: u32 = 4098; +pub const SO_SNDLOWAT: u32 = 4099; +pub const SO_RCVLOWAT: u32 = 4100; +pub const SO_SNDTIMEO: u32 = 4101; +pub const SO_RCVTIMEO: u32 = 4102; +pub const SO_ERROR: u32 = 4103; +pub const SO_TYPE: u32 = 4104; +pub const SO_CONNDATA: u32 = 28672; +pub const SO_CONNOPT: u32 = 28673; +pub const SO_DISCDATA: u32 = 28674; +pub const SO_DISCOPT: u32 = 28675; +pub const SO_CONNDATALEN: u32 = 28676; +pub const SO_CONNOPTLEN: u32 = 28677; +pub const SO_DISCDATALEN: u32 = 28678; +pub const SO_DISCOPTLEN: u32 = 28679; +pub const SO_OPENTYPE: u32 = 28680; +pub const SO_SYNCHRONOUS_ALERT: u32 = 16; +pub const SO_SYNCHRONOUS_NONALERT: u32 = 32; +pub const SO_MAXDG: u32 = 28681; +pub const SO_MAXPATHDG: u32 = 28682; +pub const SO_UPDATE_ACCEPT_CONTEXT: u32 = 28683; +pub const SO_CONNECT_TIME: u32 = 28684; +pub const TCP_NODELAY: u32 = 1; +pub const TCP_BSDURGENT: u32 = 28672; +pub const AF_UNSPEC: u32 = 0; +pub const AF_UNIX: u32 = 1; +pub const AF_INET: u32 = 2; +pub const AF_IMPLINK: u32 = 3; +pub const AF_PUP: u32 = 4; +pub const AF_CHAOS: u32 = 5; +pub const AF_IPX: u32 = 6; +pub const AF_NS: u32 = 6; +pub const AF_ISO: u32 = 7; +pub const AF_OSI: u32 = 7; +pub const AF_ECMA: u32 = 8; +pub const AF_DATAKIT: u32 = 9; +pub const AF_CCITT: u32 = 10; +pub const AF_SNA: u32 = 11; +pub const AF_DECnet: u32 = 12; +pub const AF_DLI: u32 = 13; +pub const AF_LAT: u32 = 14; +pub const AF_HYLINK: u32 = 15; +pub const AF_APPLETALK: u32 = 16; +pub const AF_NETBIOS: u32 = 17; +pub const AF_VOICEVIEW: u32 = 18; +pub const AF_FIREFOX: u32 = 19; +pub const AF_UNKNOWN1: u32 = 20; +pub const AF_BAN: u32 = 21; +pub const AF_MAX: u32 = 22; +pub const PF_UNSPEC: u32 = 0; +pub const PF_UNIX: u32 = 1; +pub const PF_INET: u32 = 2; +pub const PF_IMPLINK: u32 = 3; +pub const PF_PUP: u32 = 4; +pub const PF_CHAOS: u32 = 5; +pub const PF_NS: u32 = 6; +pub const PF_IPX: u32 = 6; +pub const PF_ISO: u32 = 7; +pub const PF_OSI: u32 = 7; +pub const PF_ECMA: u32 = 8; +pub const PF_DATAKIT: u32 = 9; +pub const PF_CCITT: u32 = 10; +pub const PF_SNA: u32 = 11; +pub const PF_DECnet: u32 = 12; +pub const PF_DLI: u32 = 13; +pub const PF_LAT: u32 = 14; +pub const PF_HYLINK: u32 = 15; +pub const PF_APPLETALK: u32 = 16; +pub const PF_VOICEVIEW: u32 = 18; +pub const PF_FIREFOX: u32 = 19; +pub const PF_UNKNOWN1: u32 = 20; +pub const PF_BAN: u32 = 21; +pub const PF_MAX: u32 = 22; +pub const SOL_SOCKET: u32 = 65535; +pub const SOMAXCONN: u32 = 5; +pub const MSG_OOB: u32 = 1; +pub const MSG_PEEK: u32 = 2; +pub const MSG_DONTROUTE: u32 = 4; +pub const MSG_MAXIOVLEN: u32 = 16; +pub const MSG_PARTIAL: u32 = 32768; +pub const MAXGETHOSTSTRUCT: u32 = 1024; +pub const FD_READ: u32 = 1; +pub const FD_WRITE: u32 = 2; +pub const FD_OOB: u32 = 4; +pub const FD_ACCEPT: u32 = 8; +pub const FD_CONNECT: u32 = 16; +pub const FD_CLOSE: u32 = 32; +pub const HOST_NOT_FOUND: u32 = 11001; +pub const TRY_AGAIN: u32 = 11002; +pub const NO_RECOVERY: u32 = 11003; +pub const NO_DATA: u32 = 11004; +pub const WSANO_ADDRESS: u32 = 11004; +pub const NO_ADDRESS: u32 = 11004; +pub const TF_DISCONNECT: u32 = 1; +pub const TF_REUSE_SOCKET: u32 = 2; +pub const TF_WRITE_BEHIND: u32 = 4; +pub const ALG_CLASS_ANY: u32 = 0; +pub const ALG_CLASS_SIGNATURE: u32 = 8192; +pub const ALG_CLASS_MSG_ENCRYPT: u32 = 16384; +pub const ALG_CLASS_DATA_ENCRYPT: u32 = 24576; +pub const ALG_CLASS_HASH: u32 = 32768; +pub const ALG_CLASS_KEY_EXCHANGE: u32 = 40960; +pub const ALG_CLASS_ALL: u32 = 57344; +pub const ALG_TYPE_ANY: u32 = 0; +pub const ALG_TYPE_DSS: u32 = 512; +pub const ALG_TYPE_RSA: u32 = 1024; +pub const ALG_TYPE_BLOCK: u32 = 1536; +pub const ALG_TYPE_STREAM: u32 = 2048; +pub const ALG_TYPE_DH: u32 = 2560; +pub const ALG_TYPE_SECURECHANNEL: u32 = 3072; +pub const ALG_TYPE_ECDH: u32 = 3584; +pub const ALG_TYPE_THIRDPARTY: u32 = 4096; +pub const ALG_SID_ANY: u32 = 0; +pub const ALG_SID_THIRDPARTY_ANY: u32 = 0; +pub const ALG_SID_RSA_ANY: u32 = 0; +pub const ALG_SID_RSA_PKCS: u32 = 1; +pub const ALG_SID_RSA_MSATWORK: u32 = 2; +pub const ALG_SID_RSA_ENTRUST: u32 = 3; +pub const ALG_SID_RSA_PGP: u32 = 4; +pub const ALG_SID_DSS_ANY: u32 = 0; +pub const ALG_SID_DSS_PKCS: u32 = 1; +pub const ALG_SID_DSS_DMS: u32 = 2; +pub const ALG_SID_ECDSA: u32 = 3; +pub const ALG_SID_DES: u32 = 1; +pub const ALG_SID_3DES: u32 = 3; +pub const ALG_SID_DESX: u32 = 4; +pub const ALG_SID_IDEA: u32 = 5; +pub const ALG_SID_CAST: u32 = 6; +pub const ALG_SID_SAFERSK64: u32 = 7; +pub const ALG_SID_SAFERSK128: u32 = 8; +pub const ALG_SID_3DES_112: u32 = 9; +pub const ALG_SID_CYLINK_MEK: u32 = 12; +pub const ALG_SID_RC5: u32 = 13; +pub const ALG_SID_AES_128: u32 = 14; +pub const ALG_SID_AES_192: u32 = 15; +pub const ALG_SID_AES_256: u32 = 16; +pub const ALG_SID_AES: u32 = 17; +pub const ALG_SID_SKIPJACK: u32 = 10; +pub const ALG_SID_TEK: u32 = 11; +pub const CRYPT_MODE_CBCI: u32 = 6; +pub const CRYPT_MODE_CFBP: u32 = 7; +pub const CRYPT_MODE_OFBP: u32 = 8; +pub const CRYPT_MODE_CBCOFM: u32 = 9; +pub const CRYPT_MODE_CBCOFMI: u32 = 10; +pub const ALG_SID_RC2: u32 = 2; +pub const ALG_SID_RC4: u32 = 1; +pub const ALG_SID_SEAL: u32 = 2; +pub const ALG_SID_DH_SANDF: u32 = 1; +pub const ALG_SID_DH_EPHEM: u32 = 2; +pub const ALG_SID_AGREED_KEY_ANY: u32 = 3; +pub const ALG_SID_KEA: u32 = 4; +pub const ALG_SID_ECDH: u32 = 5; +pub const ALG_SID_ECDH_EPHEM: u32 = 6; +pub const ALG_SID_MD2: u32 = 1; +pub const ALG_SID_MD4: u32 = 2; +pub const ALG_SID_MD5: u32 = 3; +pub const ALG_SID_SHA: u32 = 4; +pub const ALG_SID_SHA1: u32 = 4; +pub const ALG_SID_MAC: u32 = 5; +pub const ALG_SID_RIPEMD: u32 = 6; +pub const ALG_SID_RIPEMD160: u32 = 7; +pub const ALG_SID_SSL3SHAMD5: u32 = 8; +pub const ALG_SID_HMAC: u32 = 9; +pub const ALG_SID_TLS1PRF: u32 = 10; +pub const ALG_SID_HASH_REPLACE_OWF: u32 = 11; +pub const ALG_SID_SHA_256: u32 = 12; +pub const ALG_SID_SHA_384: u32 = 13; +pub const ALG_SID_SHA_512: u32 = 14; +pub const ALG_SID_SSL3_MASTER: u32 = 1; +pub const ALG_SID_SCHANNEL_MASTER_HASH: u32 = 2; +pub const ALG_SID_SCHANNEL_MAC_KEY: u32 = 3; +pub const ALG_SID_PCT1_MASTER: u32 = 4; +pub const ALG_SID_SSL2_MASTER: u32 = 5; +pub const ALG_SID_TLS1_MASTER: u32 = 6; +pub const ALG_SID_SCHANNEL_ENC_KEY: u32 = 7; +pub const ALG_SID_ECMQV: u32 = 1; +pub const ALG_SID_EXAMPLE: u32 = 80; +pub const CALG_MD2: u32 = 32769; +pub const CALG_MD4: u32 = 32770; +pub const CALG_MD5: u32 = 32771; +pub const CALG_SHA: u32 = 32772; +pub const CALG_SHA1: u32 = 32772; +pub const CALG_MAC: u32 = 32773; +pub const CALG_RSA_SIGN: u32 = 9216; +pub const CALG_DSS_SIGN: u32 = 8704; +pub const CALG_NO_SIGN: u32 = 8192; +pub const CALG_RSA_KEYX: u32 = 41984; +pub const CALG_DES: u32 = 26113; +pub const CALG_3DES_112: u32 = 26121; +pub const CALG_3DES: u32 = 26115; +pub const CALG_DESX: u32 = 26116; +pub const CALG_RC2: u32 = 26114; +pub const CALG_RC4: u32 = 26625; +pub const CALG_SEAL: u32 = 26626; +pub const CALG_DH_SF: u32 = 43521; +pub const CALG_DH_EPHEM: u32 = 43522; +pub const CALG_AGREEDKEY_ANY: u32 = 43523; +pub const CALG_KEA_KEYX: u32 = 43524; +pub const CALG_HUGHES_MD5: u32 = 40963; +pub const CALG_SKIPJACK: u32 = 26122; +pub const CALG_TEK: u32 = 26123; +pub const CALG_CYLINK_MEK: u32 = 26124; +pub const CALG_SSL3_SHAMD5: u32 = 32776; +pub const CALG_SSL3_MASTER: u32 = 19457; +pub const CALG_SCHANNEL_MASTER_HASH: u32 = 19458; +pub const CALG_SCHANNEL_MAC_KEY: u32 = 19459; +pub const CALG_SCHANNEL_ENC_KEY: u32 = 19463; +pub const CALG_PCT1_MASTER: u32 = 19460; +pub const CALG_SSL2_MASTER: u32 = 19461; +pub const CALG_TLS1_MASTER: u32 = 19462; +pub const CALG_RC5: u32 = 26125; +pub const CALG_HMAC: u32 = 32777; +pub const CALG_TLS1PRF: u32 = 32778; +pub const CALG_HASH_REPLACE_OWF: u32 = 32779; +pub const CALG_AES_128: u32 = 26126; +pub const CALG_AES_192: u32 = 26127; +pub const CALG_AES_256: u32 = 26128; +pub const CALG_AES: u32 = 26129; +pub const CALG_SHA_256: u32 = 32780; +pub const CALG_SHA_384: u32 = 32781; +pub const CALG_SHA_512: u32 = 32782; +pub const CALG_ECDH: u32 = 43525; +pub const CALG_ECDH_EPHEM: u32 = 44550; +pub const CALG_ECMQV: u32 = 40961; +pub const CALG_ECDSA: u32 = 8707; +pub const CALG_NULLCIPHER: u32 = 24576; +pub const CALG_THIRDPARTY_KEY_EXCHANGE: u32 = 45056; +pub const CALG_THIRDPARTY_SIGNATURE: u32 = 12288; +pub const CALG_THIRDPARTY_CIPHER: u32 = 28672; +pub const CALG_THIRDPARTY_HASH: u32 = 36864; +pub const CRYPT_VERIFYCONTEXT: u32 = 4026531840; +pub const CRYPT_NEWKEYSET: u32 = 8; +pub const CRYPT_DELETEKEYSET: u32 = 16; +pub const CRYPT_MACHINE_KEYSET: u32 = 32; +pub const CRYPT_SILENT: u32 = 64; +pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: u32 = 128; +pub const CRYPT_EXPORTABLE: u32 = 1; +pub const CRYPT_USER_PROTECTED: u32 = 2; +pub const CRYPT_CREATE_SALT: u32 = 4; +pub const CRYPT_UPDATE_KEY: u32 = 8; +pub const CRYPT_NO_SALT: u32 = 16; +pub const CRYPT_PREGEN: u32 = 64; +pub const CRYPT_RECIPIENT: u32 = 16; +pub const CRYPT_INITIATOR: u32 = 64; +pub const CRYPT_ONLINE: u32 = 128; +pub const CRYPT_SF: u32 = 256; +pub const CRYPT_CREATE_IV: u32 = 512; +pub const CRYPT_KEK: u32 = 1024; +pub const CRYPT_DATA_KEY: u32 = 2048; +pub const CRYPT_VOLATILE: u32 = 4096; +pub const CRYPT_SGCKEY: u32 = 8192; +pub const CRYPT_USER_PROTECTED_STRONG: u32 = 1048576; +pub const CRYPT_ARCHIVABLE: u32 = 16384; +pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: u32 = 32768; +pub const RSA1024BIT_KEY: u32 = 67108864; +pub const CRYPT_SERVER: u32 = 1024; +pub const KEY_LENGTH_MASK: u32 = 4294901760; +pub const CRYPT_Y_ONLY: u32 = 1; +pub const CRYPT_SSL2_FALLBACK: u32 = 2; +pub const CRYPT_DESTROYKEY: u32 = 4; +pub const CRYPT_OAEP: u32 = 64; +pub const CRYPT_BLOB_VER3: u32 = 128; +pub const CRYPT_IPSEC_HMAC_KEY: u32 = 256; +pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: u32 = 32; +pub const CRYPT_SECRETDIGEST: u32 = 1; +pub const CRYPT_OWF_REPL_LM_HASH: u32 = 1; +pub const CRYPT_LITTLE_ENDIAN: u32 = 1; +pub const CRYPT_NOHASHOID: u32 = 1; +pub const CRYPT_TYPE2_FORMAT: u32 = 2; +pub const CRYPT_X931_FORMAT: u32 = 4; +pub const CRYPT_MACHINE_DEFAULT: u32 = 1; +pub const CRYPT_USER_DEFAULT: u32 = 2; +pub const CRYPT_DELETE_DEFAULT: u32 = 4; +pub const SIMPLEBLOB: u32 = 1; +pub const PUBLICKEYBLOB: u32 = 6; +pub const PRIVATEKEYBLOB: u32 = 7; +pub const PLAINTEXTKEYBLOB: u32 = 8; +pub const OPAQUEKEYBLOB: u32 = 9; +pub const PUBLICKEYBLOBEX: u32 = 10; +pub const SYMMETRICWRAPKEYBLOB: u32 = 11; +pub const KEYSTATEBLOB: u32 = 12; +pub const AT_KEYEXCHANGE: u32 = 1; +pub const AT_SIGNATURE: u32 = 2; +pub const CRYPT_USERDATA: u32 = 1; +pub const KP_IV: u32 = 1; +pub const KP_SALT: u32 = 2; +pub const KP_PADDING: u32 = 3; +pub const KP_MODE: u32 = 4; +pub const KP_MODE_BITS: u32 = 5; +pub const KP_PERMISSIONS: u32 = 6; +pub const KP_ALGID: u32 = 7; +pub const KP_BLOCKLEN: u32 = 8; +pub const KP_KEYLEN: u32 = 9; +pub const KP_SALT_EX: u32 = 10; +pub const KP_P: u32 = 11; +pub const KP_G: u32 = 12; +pub const KP_Q: u32 = 13; +pub const KP_X: u32 = 14; +pub const KP_Y: u32 = 15; +pub const KP_RA: u32 = 16; +pub const KP_RB: u32 = 17; +pub const KP_INFO: u32 = 18; +pub const KP_EFFECTIVE_KEYLEN: u32 = 19; +pub const KP_SCHANNEL_ALG: u32 = 20; +pub const KP_CLIENT_RANDOM: u32 = 21; +pub const KP_SERVER_RANDOM: u32 = 22; +pub const KP_RP: u32 = 23; +pub const KP_PRECOMP_MD5: u32 = 24; +pub const KP_PRECOMP_SHA: u32 = 25; +pub const KP_CERTIFICATE: u32 = 26; +pub const KP_CLEAR_KEY: u32 = 27; +pub const KP_PUB_EX_LEN: u32 = 28; +pub const KP_PUB_EX_VAL: u32 = 29; +pub const KP_KEYVAL: u32 = 30; +pub const KP_ADMIN_PIN: u32 = 31; +pub const KP_KEYEXCHANGE_PIN: u32 = 32; +pub const KP_SIGNATURE_PIN: u32 = 33; +pub const KP_PREHASH: u32 = 34; +pub const KP_ROUNDS: u32 = 35; +pub const KP_OAEP_PARAMS: u32 = 36; +pub const KP_CMS_KEY_INFO: u32 = 37; +pub const KP_CMS_DH_KEY_INFO: u32 = 38; +pub const KP_PUB_PARAMS: u32 = 39; +pub const KP_VERIFY_PARAMS: u32 = 40; +pub const KP_HIGHEST_VERSION: u32 = 41; +pub const KP_GET_USE_COUNT: u32 = 42; +pub const KP_PIN_ID: u32 = 43; +pub const KP_PIN_INFO: u32 = 44; +pub const PKCS5_PADDING: u32 = 1; +pub const RANDOM_PADDING: u32 = 2; +pub const ZERO_PADDING: u32 = 3; +pub const CRYPT_MODE_CBC: u32 = 1; +pub const CRYPT_MODE_ECB: u32 = 2; +pub const CRYPT_MODE_OFB: u32 = 3; +pub const CRYPT_MODE_CFB: u32 = 4; +pub const CRYPT_MODE_CTS: u32 = 5; +pub const CRYPT_ENCRYPT: u32 = 1; +pub const CRYPT_DECRYPT: u32 = 2; +pub const CRYPT_EXPORT: u32 = 4; +pub const CRYPT_READ: u32 = 8; +pub const CRYPT_WRITE: u32 = 16; +pub const CRYPT_MAC: u32 = 32; +pub const CRYPT_EXPORT_KEY: u32 = 64; +pub const CRYPT_IMPORT_KEY: u32 = 128; +pub const CRYPT_ARCHIVE: u32 = 256; +pub const HP_ALGID: u32 = 1; +pub const HP_HASHVAL: u32 = 2; +pub const HP_HASHSIZE: u32 = 4; +pub const HP_HMAC_INFO: u32 = 5; +pub const HP_TLS1PRF_LABEL: u32 = 6; +pub const HP_TLS1PRF_SEED: u32 = 7; +pub const CRYPT_FAILED: u32 = 0; +pub const CRYPT_SUCCEED: u32 = 1; +pub const PP_ENUMALGS: u32 = 1; +pub const PP_ENUMCONTAINERS: u32 = 2; +pub const PP_IMPTYPE: u32 = 3; +pub const PP_NAME: u32 = 4; +pub const PP_VERSION: u32 = 5; +pub const PP_CONTAINER: u32 = 6; +pub const PP_CHANGE_PASSWORD: u32 = 7; +pub const PP_KEYSET_SEC_DESCR: u32 = 8; +pub const PP_CERTCHAIN: u32 = 9; +pub const PP_KEY_TYPE_SUBTYPE: u32 = 10; +pub const PP_PROVTYPE: u32 = 16; +pub const PP_KEYSTORAGE: u32 = 17; +pub const PP_APPLI_CERT: u32 = 18; +pub const PP_SYM_KEYSIZE: u32 = 19; +pub const PP_SESSION_KEYSIZE: u32 = 20; +pub const PP_UI_PROMPT: u32 = 21; +pub const PP_ENUMALGS_EX: u32 = 22; +pub const PP_ENUMMANDROOTS: u32 = 25; +pub const PP_ENUMELECTROOTS: u32 = 26; +pub const PP_KEYSET_TYPE: u32 = 27; +pub const PP_ADMIN_PIN: u32 = 31; +pub const PP_KEYEXCHANGE_PIN: u32 = 32; +pub const PP_SIGNATURE_PIN: u32 = 33; +pub const PP_SIG_KEYSIZE_INC: u32 = 34; +pub const PP_KEYX_KEYSIZE_INC: u32 = 35; +pub const PP_UNIQUE_CONTAINER: u32 = 36; +pub const PP_SGC_INFO: u32 = 37; +pub const PP_USE_HARDWARE_RNG: u32 = 38; +pub const PP_KEYSPEC: u32 = 39; +pub const PP_ENUMEX_SIGNING_PROT: u32 = 40; +pub const PP_CRYPT_COUNT_KEY_USE: u32 = 41; +pub const PP_USER_CERTSTORE: u32 = 42; +pub const PP_SMARTCARD_READER: u32 = 43; +pub const PP_SMARTCARD_GUID: u32 = 45; +pub const PP_ROOT_CERTSTORE: u32 = 46; +pub const PP_SMARTCARD_READER_ICON: u32 = 47; +pub const CRYPT_FIRST: u32 = 1; +pub const CRYPT_NEXT: u32 = 2; +pub const CRYPT_SGC_ENUM: u32 = 4; +pub const CRYPT_IMPL_HARDWARE: u32 = 1; +pub const CRYPT_IMPL_SOFTWARE: u32 = 2; +pub const CRYPT_IMPL_MIXED: u32 = 3; +pub const CRYPT_IMPL_UNKNOWN: u32 = 4; +pub const CRYPT_IMPL_REMOVABLE: u32 = 8; +pub const CRYPT_SEC_DESCR: u32 = 1; +pub const CRYPT_PSTORE: u32 = 2; +pub const CRYPT_UI_PROMPT: u32 = 4; +pub const CRYPT_FLAG_PCT1: u32 = 1; +pub const CRYPT_FLAG_SSL2: u32 = 2; +pub const CRYPT_FLAG_SSL3: u32 = 4; +pub const CRYPT_FLAG_TLS1: u32 = 8; +pub const CRYPT_FLAG_IPSEC: u32 = 16; +pub const CRYPT_FLAG_SIGNING: u32 = 32; +pub const CRYPT_SGC: u32 = 1; +pub const CRYPT_FASTSGC: u32 = 2; +pub const PP_CLIENT_HWND: u32 = 1; +pub const PP_CONTEXT_INFO: u32 = 11; +pub const PP_KEYEXCHANGE_KEYSIZE: u32 = 12; +pub const PP_SIGNATURE_KEYSIZE: u32 = 13; +pub const PP_KEYEXCHANGE_ALG: u32 = 14; +pub const PP_SIGNATURE_ALG: u32 = 15; +pub const PP_DELETEKEY: u32 = 24; +pub const PP_PIN_PROMPT_STRING: u32 = 44; +pub const PP_SECURE_KEYEXCHANGE_PIN: u32 = 47; +pub const PP_SECURE_SIGNATURE_PIN: u32 = 48; +pub const PP_DISMISS_PIN_UI_SEC: u32 = 49; +pub const PROV_RSA_FULL: u32 = 1; +pub const PROV_RSA_SIG: u32 = 2; +pub const PROV_DSS: u32 = 3; +pub const PROV_FORTEZZA: u32 = 4; +pub const PROV_MS_EXCHANGE: u32 = 5; +pub const PROV_SSL: u32 = 6; +pub const PROV_RSA_SCHANNEL: u32 = 12; +pub const PROV_DSS_DH: u32 = 13; +pub const PROV_EC_ECDSA_SIG: u32 = 14; +pub const PROV_EC_ECNRA_SIG: u32 = 15; +pub const PROV_EC_ECDSA_FULL: u32 = 16; +pub const PROV_EC_ECNRA_FULL: u32 = 17; +pub const PROV_DH_SCHANNEL: u32 = 18; +pub const PROV_SPYRUS_LYNKS: u32 = 20; +pub const PROV_RNG: u32 = 21; +pub const PROV_INTEL_SEC: u32 = 22; +pub const PROV_REPLACE_OWF: u32 = 23; +pub const PROV_RSA_AES: u32 = 24; +pub const MS_DEF_PROV_A: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_DEF_PROV_W: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_DEF_PROV: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV_A: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV_W: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_STRONG_PROV_A: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_STRONG_PROV_W: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_STRONG_PROV: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV_A: &[u8; 47usize] = + b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV_W: &[u8; 47usize] = + b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV: &[u8; 47usize] = b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV_A: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV_W: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV_A: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV_W: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV_A: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV_W: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV_A: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV_W: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV_A: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV_W: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_SCARD_PROV_A: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_SCARD_PROV_W: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_SCARD_PROV: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_ENH_RSA_AES_PROV_A: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MS_ENH_RSA_AES_PROV_W: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MS_ENH_RSA_AES_PROV_XP_A: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV_XP_W: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV_XP: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MAXUIDLEN: u32 = 64; +pub const EXPO_OFFLOAD_REG_VALUE: &[u8; 12usize] = b"ExpoOffload\0"; +pub const EXPO_OFFLOAD_FUNC_NAME: &[u8; 15usize] = b"OffloadModExpo\0"; +pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &[u8; 41usize] = + b"Software\\Policies\\Microsoft\\Cryptography\0"; +pub const szKEY_CACHE_ENABLED: &[u8; 17usize] = b"CachePrivateKeys\0"; +pub const szKEY_CACHE_SECONDS: &[u8; 26usize] = b"PrivateKeyLifetimeSeconds\0"; +pub const szPRIV_KEY_CACHE_MAX_ITEMS: &[u8; 21usize] = b"PrivKeyCacheMaxItems\0"; +pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: u32 = 20; +pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &[u8; 33usize] = + b"PrivKeyCachePurgeIntervalSeconds\0"; +pub const cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT: u32 = 86400; +pub const CUR_BLOB_VERSION: u32 = 2; +pub const SCHANNEL_MAC_KEY: u32 = 0; +pub const SCHANNEL_ENC_KEY: u32 = 1; +pub const INTERNATIONAL_USAGE: u32 = 1; +pub const BCRYPT_OBJECT_ALIGNMENT: u32 = 16; +pub const BCRYPT_KDF_HASH: &[u8; 5usize] = b"HASH\0"; +pub const BCRYPT_KDF_HMAC: &[u8; 5usize] = b"HMAC\0"; +pub const BCRYPT_KDF_TLS_PRF: &[u8; 8usize] = b"TLS_PRF\0"; +pub const BCRYPT_KDF_SP80056A_CONCAT: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const BCRYPT_KDF_RAW_SECRET: &[u8; 9usize] = b"TRUNCATE\0"; +pub const BCRYPT_KDF_HKDF: &[u8; 5usize] = b"HKDF\0"; +pub const KDF_HASH_ALGORITHM: u32 = 0; +pub const KDF_SECRET_PREPEND: u32 = 1; +pub const KDF_SECRET_APPEND: u32 = 2; +pub const KDF_HMAC_KEY: u32 = 3; +pub const KDF_TLS_PRF_LABEL: u32 = 4; +pub const KDF_TLS_PRF_SEED: u32 = 5; +pub const KDF_SECRET_HANDLE: u32 = 6; +pub const KDF_TLS_PRF_PROTOCOL: u32 = 7; +pub const KDF_ALGORITHMID: u32 = 8; +pub const KDF_PARTYUINFO: u32 = 9; +pub const KDF_PARTYVINFO: u32 = 10; +pub const KDF_SUPPPUBINFO: u32 = 11; +pub const KDF_SUPPPRIVINFO: u32 = 12; +pub const KDF_LABEL: u32 = 13; +pub const KDF_CONTEXT: u32 = 14; +pub const KDF_SALT: u32 = 15; +pub const KDF_ITERATION_COUNT: u32 = 16; +pub const KDF_GENERIC_PARAMETER: u32 = 17; +pub const KDF_KEYBITLENGTH: u32 = 18; +pub const KDF_HKDF_SALT: u32 = 19; +pub const KDF_HKDF_INFO: u32 = 20; +pub const KDF_USE_SECRET_AS_HMAC_KEY_FLAG: u32 = 1; +pub const BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION: u32 = 1; +pub const BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG: u32 = 1; +pub const BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG: u32 = 2; +pub const BCRYPT_OPAQUE_KEY_BLOB: &[u8; 14usize] = b"OpaqueKeyBlob\0"; +pub const BCRYPT_KEY_DATA_BLOB: &[u8; 12usize] = b"KeyDataBlob\0"; +pub const BCRYPT_AES_WRAP_KEY_BLOB: &[u8; 19usize] = b"Rfc3565KeyWrapBlob\0"; +pub const BCRYPT_OBJECT_LENGTH: &[u8; 13usize] = b"ObjectLength\0"; +pub const BCRYPT_ALGORITHM_NAME: &[u8; 14usize] = b"AlgorithmName\0"; +pub const BCRYPT_PROVIDER_HANDLE: &[u8; 15usize] = b"ProviderHandle\0"; +pub const BCRYPT_CHAINING_MODE: &[u8; 13usize] = b"ChainingMode\0"; +pub const BCRYPT_BLOCK_LENGTH: &[u8; 12usize] = b"BlockLength\0"; +pub const BCRYPT_KEY_LENGTH: &[u8; 10usize] = b"KeyLength\0"; +pub const BCRYPT_KEY_OBJECT_LENGTH: &[u8; 16usize] = b"KeyObjectLength\0"; +pub const BCRYPT_KEY_STRENGTH: &[u8; 12usize] = b"KeyStrength\0"; +pub const BCRYPT_KEY_LENGTHS: &[u8; 11usize] = b"KeyLengths\0"; +pub const BCRYPT_BLOCK_SIZE_LIST: &[u8; 14usize] = b"BlockSizeList\0"; +pub const BCRYPT_EFFECTIVE_KEY_LENGTH: &[u8; 19usize] = b"EffectiveKeyLength\0"; +pub const BCRYPT_HASH_LENGTH: &[u8; 17usize] = b"HashDigestLength\0"; +pub const BCRYPT_HASH_OID_LIST: &[u8; 12usize] = b"HashOIDList\0"; +pub const BCRYPT_PADDING_SCHEMES: &[u8; 15usize] = b"PaddingSchemes\0"; +pub const BCRYPT_SIGNATURE_LENGTH: &[u8; 16usize] = b"SignatureLength\0"; +pub const BCRYPT_HASH_BLOCK_LENGTH: &[u8; 16usize] = b"HashBlockLength\0"; +pub const BCRYPT_AUTH_TAG_LENGTH: &[u8; 14usize] = b"AuthTagLength\0"; +pub const BCRYPT_PRIMITIVE_TYPE: &[u8; 14usize] = b"PrimitiveType\0"; +pub const BCRYPT_IS_KEYED_HASH: &[u8; 12usize] = b"IsKeyedHash\0"; +pub const BCRYPT_IS_REUSABLE_HASH: &[u8; 15usize] = b"IsReusableHash\0"; +pub const BCRYPT_MESSAGE_BLOCK_LENGTH: &[u8; 19usize] = b"MessageBlockLength\0"; +pub const BCRYPT_PUBLIC_KEY_LENGTH: &[u8; 16usize] = b"PublicKeyLength\0"; +pub const BCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &[u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; +pub const BCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &[u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; +pub const BCRYPT_MULTI_OBJECT_LENGTH: &[u8; 18usize] = b"MultiObjectLength\0"; +pub const BCRYPT_IS_IFX_TPM_WEAK_KEY: &[u8; 16usize] = b"IsIfxTpmWeakKey\0"; +pub const BCRYPT_HKDF_HASH_ALGORITHM: &[u8; 18usize] = b"HkdfHashAlgorithm\0"; +pub const BCRYPT_HKDF_SALT_AND_FINALIZE: &[u8; 20usize] = b"HkdfSaltAndFinalize\0"; +pub const BCRYPT_HKDF_PRK_AND_FINALIZE: &[u8; 19usize] = b"HkdfPrkAndFinalize\0"; +pub const BCRYPT_INITIALIZATION_VECTOR: &[u8; 3usize] = b"IV\0"; +pub const BCRYPT_CHAIN_MODE_NA: &[u8; 16usize] = b"ChainingModeN/A\0"; +pub const BCRYPT_CHAIN_MODE_CBC: &[u8; 16usize] = b"ChainingModeCBC\0"; +pub const BCRYPT_CHAIN_MODE_ECB: &[u8; 16usize] = b"ChainingModeECB\0"; +pub const BCRYPT_CHAIN_MODE_CFB: &[u8; 16usize] = b"ChainingModeCFB\0"; +pub const BCRYPT_CHAIN_MODE_CCM: &[u8; 16usize] = b"ChainingModeCCM\0"; +pub const BCRYPT_CHAIN_MODE_GCM: &[u8; 16usize] = b"ChainingModeGCM\0"; +pub const BCRYPT_SUPPORTED_PAD_ROUTER: u32 = 1; +pub const BCRYPT_SUPPORTED_PAD_PKCS1_ENC: u32 = 2; +pub const BCRYPT_SUPPORTED_PAD_PKCS1_SIG: u32 = 4; +pub const BCRYPT_SUPPORTED_PAD_OAEP: u32 = 8; +pub const BCRYPT_SUPPORTED_PAD_PSS: u32 = 16; +pub const BCRYPT_PROV_DISPATCH: u32 = 1; +pub const BCRYPT_BLOCK_PADDING: u32 = 1; +pub const BCRYPT_GENERATE_IV: u32 = 32; +pub const BCRYPT_PAD_NONE: u32 = 1; +pub const BCRYPT_PAD_PKCS1: u32 = 2; +pub const BCRYPT_PAD_OAEP: u32 = 4; +pub const BCRYPT_PAD_PSS: u32 = 8; +pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: u32 = 16; +pub const BCRYPTBUFFER_VERSION: u32 = 0; +pub const BCRYPT_PUBLIC_KEY_BLOB: &[u8; 11usize] = b"PUBLICBLOB\0"; +pub const BCRYPT_PRIVATE_KEY_BLOB: &[u8; 12usize] = b"PRIVATEBLOB\0"; +pub const BCRYPT_RSAPUBLIC_BLOB: &[u8; 14usize] = b"RSAPUBLICBLOB\0"; +pub const BCRYPT_RSAPRIVATE_BLOB: &[u8; 15usize] = b"RSAPRIVATEBLOB\0"; +pub const LEGACY_RSAPUBLIC_BLOB: &[u8; 15usize] = b"CAPIPUBLICBLOB\0"; +pub const LEGACY_RSAPRIVATE_BLOB: &[u8; 16usize] = b"CAPIPRIVATEBLOB\0"; +pub const BCRYPT_RSAPUBLIC_MAGIC: u32 = 826364754; +pub const BCRYPT_RSAPRIVATE_MAGIC: u32 = 843141970; +pub const BCRYPT_RSAFULLPRIVATE_BLOB: &[u8; 19usize] = b"RSAFULLPRIVATEBLOB\0"; +pub const BCRYPT_RSAFULLPRIVATE_MAGIC: u32 = 859919186; +pub const BCRYPT_GLOBAL_PARAMETERS: &[u8; 21usize] = b"SecretAgreementParam\0"; +pub const BCRYPT_PRIVATE_KEY: &[u8; 11usize] = b"PrivKeyVal\0"; +pub const BCRYPT_ECCPUBLIC_BLOB: &[u8; 14usize] = b"ECCPUBLICBLOB\0"; +pub const BCRYPT_ECCPRIVATE_BLOB: &[u8; 15usize] = b"ECCPRIVATEBLOB\0"; +pub const BCRYPT_ECCFULLPUBLIC_BLOB: &[u8; 18usize] = b"ECCFULLPUBLICBLOB\0"; +pub const BCRYPT_ECCFULLPRIVATE_BLOB: &[u8; 19usize] = b"ECCFULLPRIVATEBLOB\0"; +pub const SSL_ECCPUBLIC_BLOB: &[u8; 17usize] = b"SSLECCPUBLICBLOB\0"; +pub const BCRYPT_ECDH_PUBLIC_P256_MAGIC: u32 = 827016005; +pub const BCRYPT_ECDH_PRIVATE_P256_MAGIC: u32 = 843793221; +pub const BCRYPT_ECDH_PUBLIC_P384_MAGIC: u32 = 860570437; +pub const BCRYPT_ECDH_PRIVATE_P384_MAGIC: u32 = 877347653; +pub const BCRYPT_ECDH_PUBLIC_P521_MAGIC: u32 = 894124869; +pub const BCRYPT_ECDH_PRIVATE_P521_MAGIC: u32 = 910902085; +pub const BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC: u32 = 1347109701; +pub const BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC: u32 = 1447772997; +pub const BCRYPT_ECDSA_PUBLIC_P256_MAGIC: u32 = 827540293; +pub const BCRYPT_ECDSA_PRIVATE_P256_MAGIC: u32 = 844317509; +pub const BCRYPT_ECDSA_PUBLIC_P384_MAGIC: u32 = 861094725; +pub const BCRYPT_ECDSA_PRIVATE_P384_MAGIC: u32 = 877871941; +pub const BCRYPT_ECDSA_PUBLIC_P521_MAGIC: u32 = 894649157; +pub const BCRYPT_ECDSA_PRIVATE_P521_MAGIC: u32 = 911426373; +pub const BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC: u32 = 1346650949; +pub const BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC: u32 = 1447314245; +pub const BCRYPT_ECC_FULLKEY_BLOB_V1: u32 = 1; +pub const BCRYPT_DH_PUBLIC_BLOB: &[u8; 13usize] = b"DHPUBLICBLOB\0"; +pub const BCRYPT_DH_PRIVATE_BLOB: &[u8; 14usize] = b"DHPRIVATEBLOB\0"; +pub const LEGACY_DH_PUBLIC_BLOB: &[u8; 17usize] = b"CAPIDHPUBLICBLOB\0"; +pub const LEGACY_DH_PRIVATE_BLOB: &[u8; 18usize] = b"CAPIDHPRIVATEBLOB\0"; +pub const BCRYPT_DH_PUBLIC_MAGIC: u32 = 1112557636; +pub const BCRYPT_DH_PRIVATE_MAGIC: u32 = 1448101956; +pub const BCRYPT_DH_PARAMETERS: &[u8; 13usize] = b"DHParameters\0"; +pub const BCRYPT_DH_PARAMETERS_MAGIC: u32 = 1297107012; +pub const BCRYPT_DSA_PUBLIC_BLOB: &[u8; 14usize] = b"DSAPUBLICBLOB\0"; +pub const BCRYPT_DSA_PRIVATE_BLOB: &[u8; 15usize] = b"DSAPRIVATEBLOB\0"; +pub const LEGACY_DSA_PUBLIC_BLOB: &[u8; 18usize] = b"CAPIDSAPUBLICBLOB\0"; +pub const LEGACY_DSA_PRIVATE_BLOB: &[u8; 19usize] = b"CAPIDSAPRIVATEBLOB\0"; +pub const LEGACY_DSA_V2_PUBLIC_BLOB: &[u8; 20usize] = b"V2CAPIDSAPUBLICBLOB\0"; +pub const LEGACY_DSA_V2_PRIVATE_BLOB: &[u8; 21usize] = b"V2CAPIDSAPRIVATEBLOB\0"; +pub const BCRYPT_DSA_PUBLIC_MAGIC: u32 = 1112560452; +pub const BCRYPT_DSA_PRIVATE_MAGIC: u32 = 1448104772; +pub const BCRYPT_DSA_PUBLIC_MAGIC_V2: u32 = 843206724; +pub const BCRYPT_DSA_PRIVATE_MAGIC_V2: u32 = 844517444; +pub const BCRYPT_KEY_DATA_BLOB_MAGIC: u32 = 1296188491; +pub const BCRYPT_KEY_DATA_BLOB_VERSION1: u32 = 1; +pub const BCRYPT_DSA_PARAMETERS: &[u8; 14usize] = b"DSAParameters\0"; +pub const BCRYPT_DSA_PARAMETERS_MAGIC: u32 = 1297109828; +pub const BCRYPT_DSA_PARAMETERS_MAGIC_V2: u32 = 843927620; +pub const BCRYPT_ECC_PARAMETERS: &[u8; 14usize] = b"ECCParameters\0"; +pub const BCRYPT_ECC_CURVE_NAME: &[u8; 13usize] = b"ECCCurveName\0"; +pub const BCRYPT_ECC_CURVE_NAME_LIST: &[u8; 17usize] = b"ECCCurveNameList\0"; +pub const BCRYPT_ECC_PARAMETERS_MAGIC: u32 = 1346585413; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP160R1: &[u8; 16usize] = b"brainpoolP160r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP160T1: &[u8; 16usize] = b"brainpoolP160t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP192R1: &[u8; 16usize] = b"brainpoolP192r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP192T1: &[u8; 16usize] = b"brainpoolP192t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP224R1: &[u8; 16usize] = b"brainpoolP224r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP224T1: &[u8; 16usize] = b"brainpoolP224t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP256R1: &[u8; 16usize] = b"brainpoolP256r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP256T1: &[u8; 16usize] = b"brainpoolP256t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP320R1: &[u8; 16usize] = b"brainpoolP320r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP320T1: &[u8; 16usize] = b"brainpoolP320t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP384R1: &[u8; 16usize] = b"brainpoolP384r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP384T1: &[u8; 16usize] = b"brainpoolP384t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP512R1: &[u8; 16usize] = b"brainpoolP512r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP512T1: &[u8; 16usize] = b"brainpoolP512t1\0"; +pub const BCRYPT_ECC_CURVE_25519: &[u8; 11usize] = b"curve25519\0"; +pub const BCRYPT_ECC_CURVE_EC192WAPI: &[u8; 10usize] = b"ec192wapi\0"; +pub const BCRYPT_ECC_CURVE_NISTP192: &[u8; 9usize] = b"nistP192\0"; +pub const BCRYPT_ECC_CURVE_NISTP224: &[u8; 9usize] = b"nistP224\0"; +pub const BCRYPT_ECC_CURVE_NISTP256: &[u8; 9usize] = b"nistP256\0"; +pub const BCRYPT_ECC_CURVE_NISTP384: &[u8; 9usize] = b"nistP384\0"; +pub const BCRYPT_ECC_CURVE_NISTP521: &[u8; 9usize] = b"nistP521\0"; +pub const BCRYPT_ECC_CURVE_NUMSP256T1: &[u8; 11usize] = b"numsP256t1\0"; +pub const BCRYPT_ECC_CURVE_NUMSP384T1: &[u8; 11usize] = b"numsP384t1\0"; +pub const BCRYPT_ECC_CURVE_NUMSP512T1: &[u8; 11usize] = b"numsP512t1\0"; +pub const BCRYPT_ECC_CURVE_SECP160K1: &[u8; 10usize] = b"secP160k1\0"; +pub const BCRYPT_ECC_CURVE_SECP160R1: &[u8; 10usize] = b"secP160r1\0"; +pub const BCRYPT_ECC_CURVE_SECP160R2: &[u8; 10usize] = b"secP160r2\0"; +pub const BCRYPT_ECC_CURVE_SECP192K1: &[u8; 10usize] = b"secP192k1\0"; +pub const BCRYPT_ECC_CURVE_SECP192R1: &[u8; 10usize] = b"secP192r1\0"; +pub const BCRYPT_ECC_CURVE_SECP224K1: &[u8; 10usize] = b"secP224k1\0"; +pub const BCRYPT_ECC_CURVE_SECP224R1: &[u8; 10usize] = b"secP224r1\0"; +pub const BCRYPT_ECC_CURVE_SECP256K1: &[u8; 10usize] = b"secP256k1\0"; +pub const BCRYPT_ECC_CURVE_SECP256R1: &[u8; 10usize] = b"secP256r1\0"; +pub const BCRYPT_ECC_CURVE_SECP384R1: &[u8; 10usize] = b"secP384r1\0"; +pub const BCRYPT_ECC_CURVE_SECP521R1: &[u8; 10usize] = b"secP521r1\0"; +pub const BCRYPT_ECC_CURVE_WTLS7: &[u8; 6usize] = b"wtls7\0"; +pub const BCRYPT_ECC_CURVE_WTLS9: &[u8; 6usize] = b"wtls9\0"; +pub const BCRYPT_ECC_CURVE_WTLS12: &[u8; 7usize] = b"wtls12\0"; +pub const BCRYPT_ECC_CURVE_X962P192V1: &[u8; 11usize] = b"x962P192v1\0"; +pub const BCRYPT_ECC_CURVE_X962P192V2: &[u8; 11usize] = b"x962P192v2\0"; +pub const BCRYPT_ECC_CURVE_X962P192V3: &[u8; 11usize] = b"x962P192v3\0"; +pub const BCRYPT_ECC_CURVE_X962P239V1: &[u8; 11usize] = b"x962P239v1\0"; +pub const BCRYPT_ECC_CURVE_X962P239V2: &[u8; 11usize] = b"x962P239v2\0"; +pub const BCRYPT_ECC_CURVE_X962P239V3: &[u8; 11usize] = b"x962P239v3\0"; +pub const BCRYPT_ECC_CURVE_X962P256V1: &[u8; 11usize] = b"x962P256v1\0"; +pub const MS_PRIMITIVE_PROVIDER: &[u8; 29usize] = b"Microsoft Primitive Provider\0"; +pub const MS_PLATFORM_CRYPTO_PROVIDER: &[u8; 35usize] = b"Microsoft Platform Crypto Provider\0"; +pub const BCRYPT_RSA_ALGORITHM: &[u8; 4usize] = b"RSA\0"; +pub const BCRYPT_RSA_SIGN_ALGORITHM: &[u8; 9usize] = b"RSA_SIGN\0"; +pub const BCRYPT_DH_ALGORITHM: &[u8; 3usize] = b"DH\0"; +pub const BCRYPT_DSA_ALGORITHM: &[u8; 4usize] = b"DSA\0"; +pub const BCRYPT_RC2_ALGORITHM: &[u8; 4usize] = b"RC2\0"; +pub const BCRYPT_RC4_ALGORITHM: &[u8; 4usize] = b"RC4\0"; +pub const BCRYPT_AES_ALGORITHM: &[u8; 4usize] = b"AES\0"; +pub const BCRYPT_DES_ALGORITHM: &[u8; 4usize] = b"DES\0"; +pub const BCRYPT_DESX_ALGORITHM: &[u8; 5usize] = b"DESX\0"; +pub const BCRYPT_3DES_ALGORITHM: &[u8; 5usize] = b"3DES\0"; +pub const BCRYPT_3DES_112_ALGORITHM: &[u8; 9usize] = b"3DES_112\0"; +pub const BCRYPT_MD2_ALGORITHM: &[u8; 4usize] = b"MD2\0"; +pub const BCRYPT_MD4_ALGORITHM: &[u8; 4usize] = b"MD4\0"; +pub const BCRYPT_MD5_ALGORITHM: &[u8; 4usize] = b"MD5\0"; +pub const BCRYPT_SHA1_ALGORITHM: &[u8; 5usize] = b"SHA1\0"; +pub const BCRYPT_SHA256_ALGORITHM: &[u8; 7usize] = b"SHA256\0"; +pub const BCRYPT_SHA384_ALGORITHM: &[u8; 7usize] = b"SHA384\0"; +pub const BCRYPT_SHA512_ALGORITHM: &[u8; 7usize] = b"SHA512\0"; +pub const BCRYPT_AES_GMAC_ALGORITHM: &[u8; 9usize] = b"AES-GMAC\0"; +pub const BCRYPT_AES_CMAC_ALGORITHM: &[u8; 9usize] = b"AES-CMAC\0"; +pub const BCRYPT_ECDSA_P256_ALGORITHM: &[u8; 11usize] = b"ECDSA_P256\0"; +pub const BCRYPT_ECDSA_P384_ALGORITHM: &[u8; 11usize] = b"ECDSA_P384\0"; +pub const BCRYPT_ECDSA_P521_ALGORITHM: &[u8; 11usize] = b"ECDSA_P521\0"; +pub const BCRYPT_ECDH_P256_ALGORITHM: &[u8; 10usize] = b"ECDH_P256\0"; +pub const BCRYPT_ECDH_P384_ALGORITHM: &[u8; 10usize] = b"ECDH_P384\0"; +pub const BCRYPT_ECDH_P521_ALGORITHM: &[u8; 10usize] = b"ECDH_P521\0"; +pub const BCRYPT_RNG_ALGORITHM: &[u8; 4usize] = b"RNG\0"; +pub const BCRYPT_RNG_FIPS186_DSA_ALGORITHM: &[u8; 14usize] = b"FIPS186DSARNG\0"; +pub const BCRYPT_RNG_DUAL_EC_ALGORITHM: &[u8; 10usize] = b"DUALECRNG\0"; +pub const BCRYPT_SP800108_CTR_HMAC_ALGORITHM: &[u8; 19usize] = b"SP800_108_CTR_HMAC\0"; +pub const BCRYPT_SP80056A_CONCAT_ALGORITHM: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const BCRYPT_PBKDF2_ALGORITHM: &[u8; 7usize] = b"PBKDF2\0"; +pub const BCRYPT_CAPI_KDF_ALGORITHM: &[u8; 9usize] = b"CAPI_KDF\0"; +pub const BCRYPT_TLS1_1_KDF_ALGORITHM: &[u8; 11usize] = b"TLS1_1_KDF\0"; +pub const BCRYPT_TLS1_2_KDF_ALGORITHM: &[u8; 11usize] = b"TLS1_2_KDF\0"; +pub const BCRYPT_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const BCRYPT_ECDH_ALGORITHM: &[u8; 5usize] = b"ECDH\0"; +pub const BCRYPT_XTS_AES_ALGORITHM: &[u8; 8usize] = b"XTS-AES\0"; +pub const BCRYPT_HKDF_ALGORITHM: &[u8; 5usize] = b"HKDF\0"; +pub const BCRYPT_CHACHA20_POLY1305_ALGORITHM: &[u8; 18usize] = b"CHACHA20_POLY1305\0"; +pub const BCRYPT_CIPHER_INTERFACE: u32 = 1; +pub const BCRYPT_HASH_INTERFACE: u32 = 2; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: u32 = 3; +pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: u32 = 4; +pub const BCRYPT_SIGNATURE_INTERFACE: u32 = 5; +pub const BCRYPT_RNG_INTERFACE: u32 = 6; +pub const BCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7; +pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: u32 = 8; +pub const BCRYPT_HASH_REUSABLE_FLAG: u32 = 32; +pub const BCRYPT_CAPI_AES_FLAG: u32 = 16; +pub const BCRYPT_MULTI_FLAG: u32 = 64; +pub const BCRYPT_TLS_CBC_HMAC_VERIFY_FLAG: u32 = 4; +pub const BCRYPT_BUFFERS_LOCKED_FLAG: u32 = 64; +pub const BCRYPT_EXTENDED_KEYSIZE: u32 = 128; +pub const BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS: u32 = 256; +pub const BCRYPT_CIPHER_OPERATION: u32 = 1; +pub const BCRYPT_HASH_OPERATION: u32 = 2; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: u32 = 4; +pub const BCRYPT_SECRET_AGREEMENT_OPERATION: u32 = 8; +pub const BCRYPT_SIGNATURE_OPERATION: u32 = 16; +pub const BCRYPT_RNG_OPERATION: u32 = 32; +pub const BCRYPT_KEY_DERIVATION_OPERATION: u32 = 64; +pub const BCRYPT_PUBLIC_KEY_FLAG: u32 = 1; +pub const BCRYPT_PRIVATE_KEY_FLAG: u32 = 2; +pub const BCRYPT_NO_KEY_VALIDATION: u32 = 8; +pub const BCRYPT_KEY_VALIDATION_RANGE: u32 = 16; +pub const BCRYPT_KEY_VALIDATION_RANGE_AND_ORDER: u32 = 24; +pub const BCRYPT_KEY_VALIDATION_REGENERATE: u32 = 32; +pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: u32 = 1; +pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 = 2; +pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: u32 = 2; +pub const CRYPT_MIN_DEPENDENCIES: u32 = 1; +pub const CRYPT_PROCESS_ISOLATE: u32 = 65536; +pub const CRYPT_UM: u32 = 1; +pub const CRYPT_KM: u32 = 2; +pub const CRYPT_MM: u32 = 3; +pub const CRYPT_ANY: u32 = 4; +pub const CRYPT_OVERWRITE: u32 = 1; +pub const CRYPT_LOCAL: u32 = 1; +pub const CRYPT_DOMAIN: u32 = 2; +pub const CRYPT_EXCLUSIVE: u32 = 1; +pub const CRYPT_OVERRIDE: u32 = 65536; +pub const CRYPT_ALL_FUNCTIONS: u32 = 1; +pub const CRYPT_ALL_PROVIDERS: u32 = 2; +pub const CRYPT_PRIORITY_TOP: u32 = 0; +pub const CRYPT_PRIORITY_BOTTOM: u32 = 4294967295; +pub const CRYPT_DEFAULT_CONTEXT: &[u8; 8usize] = b"Default\0"; +pub const NCRYPT_MAX_KEY_NAME_LENGTH: u32 = 512; +pub const NCRYPT_MAX_ALG_ID_LENGTH: u32 = 512; +pub const MS_KEY_STORAGE_PROVIDER: &[u8; 40usize] = b"Microsoft Software Key Storage Provider\0"; +pub const MS_SMART_CARD_KEY_STORAGE_PROVIDER: &[u8; 42usize] = + b"Microsoft Smart Card Key Storage Provider\0"; +pub const MS_PLATFORM_KEY_STORAGE_PROVIDER: &[u8; 35usize] = + b"Microsoft Platform Crypto Provider\0"; +pub const MS_NGC_KEY_STORAGE_PROVIDER: &[u8; 40usize] = + b"Microsoft Passport Key Storage Provider\0"; +pub const TPM_RSA_SRK_SEAL_KEY: &[u8; 68usize] = + b"MICROSOFT_PCP_KSP_RSA_SEAL_KEY_3BD1C4BF-004E-4E2F-8A4D-0BF633DCB074\0"; +pub const NCRYPT_RSA_ALGORITHM: &[u8; 4usize] = b"RSA\0"; +pub const NCRYPT_RSA_SIGN_ALGORITHM: &[u8; 9usize] = b"RSA_SIGN\0"; +pub const NCRYPT_DH_ALGORITHM: &[u8; 3usize] = b"DH\0"; +pub const NCRYPT_DSA_ALGORITHM: &[u8; 4usize] = b"DSA\0"; +pub const NCRYPT_MD2_ALGORITHM: &[u8; 4usize] = b"MD2\0"; +pub const NCRYPT_MD4_ALGORITHM: &[u8; 4usize] = b"MD4\0"; +pub const NCRYPT_MD5_ALGORITHM: &[u8; 4usize] = b"MD5\0"; +pub const NCRYPT_SHA1_ALGORITHM: &[u8; 5usize] = b"SHA1\0"; +pub const NCRYPT_SHA256_ALGORITHM: &[u8; 7usize] = b"SHA256\0"; +pub const NCRYPT_SHA384_ALGORITHM: &[u8; 7usize] = b"SHA384\0"; +pub const NCRYPT_SHA512_ALGORITHM: &[u8; 7usize] = b"SHA512\0"; +pub const NCRYPT_ECDSA_P256_ALGORITHM: &[u8; 11usize] = b"ECDSA_P256\0"; +pub const NCRYPT_ECDSA_P384_ALGORITHM: &[u8; 11usize] = b"ECDSA_P384\0"; +pub const NCRYPT_ECDSA_P521_ALGORITHM: &[u8; 11usize] = b"ECDSA_P521\0"; +pub const NCRYPT_ECDH_P256_ALGORITHM: &[u8; 10usize] = b"ECDH_P256\0"; +pub const NCRYPT_ECDH_P384_ALGORITHM: &[u8; 10usize] = b"ECDH_P384\0"; +pub const NCRYPT_ECDH_P521_ALGORITHM: &[u8; 10usize] = b"ECDH_P521\0"; +pub const NCRYPT_AES_ALGORITHM: &[u8; 4usize] = b"AES\0"; +pub const NCRYPT_RC2_ALGORITHM: &[u8; 4usize] = b"RC2\0"; +pub const NCRYPT_3DES_ALGORITHM: &[u8; 5usize] = b"3DES\0"; +pub const NCRYPT_DES_ALGORITHM: &[u8; 4usize] = b"DES\0"; +pub const NCRYPT_DESX_ALGORITHM: &[u8; 5usize] = b"DESX\0"; +pub const NCRYPT_3DES_112_ALGORITHM: &[u8; 9usize] = b"3DES_112\0"; +pub const NCRYPT_SP800108_CTR_HMAC_ALGORITHM: &[u8; 19usize] = b"SP800_108_CTR_HMAC\0"; +pub const NCRYPT_SP80056A_CONCAT_ALGORITHM: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const NCRYPT_PBKDF2_ALGORITHM: &[u8; 7usize] = b"PBKDF2\0"; +pub const NCRYPT_CAPI_KDF_ALGORITHM: &[u8; 9usize] = b"CAPI_KDF\0"; +pub const NCRYPT_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const NCRYPT_ECDH_ALGORITHM: &[u8; 5usize] = b"ECDH\0"; +pub const NCRYPT_KEY_STORAGE_ALGORITHM: &[u8; 12usize] = b"KEY_STORAGE\0"; +pub const NCRYPT_HMAC_SHA256_ALGORITHM: &[u8; 12usize] = b"HMAC-SHA256\0"; +pub const NCRYPT_CIPHER_INTERFACE: u32 = 1; +pub const NCRYPT_HASH_INTERFACE: u32 = 2; +pub const NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: u32 = 3; +pub const NCRYPT_SECRET_AGREEMENT_INTERFACE: u32 = 4; +pub const NCRYPT_SIGNATURE_INTERFACE: u32 = 5; +pub const NCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7; +pub const NCRYPT_KEY_STORAGE_INTERFACE: u32 = 65537; +pub const NCRYPT_SCHANNEL_INTERFACE: u32 = 65538; +pub const NCRYPT_SCHANNEL_SIGNATURE_INTERFACE: u32 = 65539; +pub const NCRYPT_KEY_PROTECTION_INTERFACE: u32 = 65540; +pub const NCRYPT_RSA_ALGORITHM_GROUP: &[u8; 4usize] = b"RSA\0"; +pub const NCRYPT_DH_ALGORITHM_GROUP: &[u8; 3usize] = b"DH\0"; +pub const NCRYPT_DSA_ALGORITHM_GROUP: &[u8; 4usize] = b"DSA\0"; +pub const NCRYPT_ECDSA_ALGORITHM_GROUP: &[u8; 6usize] = b"ECDSA\0"; +pub const NCRYPT_ECDH_ALGORITHM_GROUP: &[u8; 5usize] = b"ECDH\0"; +pub const NCRYPT_AES_ALGORITHM_GROUP: &[u8; 4usize] = b"AES\0"; +pub const NCRYPT_RC2_ALGORITHM_GROUP: &[u8; 4usize] = b"RC2\0"; +pub const NCRYPT_DES_ALGORITHM_GROUP: &[u8; 4usize] = b"DES\0"; +pub const NCRYPT_KEY_DERIVATION_GROUP: &[u8; 15usize] = b"KEY_DERIVATION\0"; +pub const NCRYPTBUFFER_VERSION: u32 = 0; +pub const NCRYPTBUFFER_EMPTY: u32 = 0; +pub const NCRYPTBUFFER_DATA: u32 = 1; +pub const NCRYPTBUFFER_PROTECTION_DESCRIPTOR_STRING: u32 = 3; +pub const NCRYPTBUFFER_PROTECTION_FLAGS: u32 = 4; +pub const NCRYPTBUFFER_SSL_CLIENT_RANDOM: u32 = 20; +pub const NCRYPTBUFFER_SSL_SERVER_RANDOM: u32 = 21; +pub const NCRYPTBUFFER_SSL_HIGHEST_VERSION: u32 = 22; +pub const NCRYPTBUFFER_SSL_CLEAR_KEY: u32 = 23; +pub const NCRYPTBUFFER_SSL_KEY_ARG_DATA: u32 = 24; +pub const NCRYPTBUFFER_SSL_SESSION_HASH: u32 = 25; +pub const NCRYPTBUFFER_PKCS_OID: u32 = 40; +pub const NCRYPTBUFFER_PKCS_ALG_OID: u32 = 41; +pub const NCRYPTBUFFER_PKCS_ALG_PARAM: u32 = 42; +pub const NCRYPTBUFFER_PKCS_ALG_ID: u32 = 43; +pub const NCRYPTBUFFER_PKCS_ATTRS: u32 = 44; +pub const NCRYPTBUFFER_PKCS_KEY_NAME: u32 = 45; +pub const NCRYPTBUFFER_PKCS_SECRET: u32 = 46; +pub const NCRYPTBUFFER_CERT_BLOB: u32 = 47; +pub const NCRYPTBUFFER_CLAIM_IDBINDING_NONCE: u32 = 48; +pub const NCRYPTBUFFER_CLAIM_KEYATTESTATION_NONCE: u32 = 49; +pub const NCRYPTBUFFER_KEY_PROPERTY_FLAGS: u32 = 50; +pub const NCRYPTBUFFER_ATTESTATIONSTATEMENT_BLOB: u32 = 51; +pub const NCRYPTBUFFER_ATTESTATION_CLAIM_TYPE: u32 = 52; +pub const NCRYPTBUFFER_ATTESTATION_CLAIM_CHALLENGE_REQUIRED: u32 = 53; +pub const NCRYPTBUFFER_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS: u32 = 54; +pub const NCRYPTBUFFER_ECC_CURVE_NAME: u32 = 60; +pub const NCRYPTBUFFER_ECC_PARAMETERS: u32 = 61; +pub const NCRYPTBUFFER_TPM_SEAL_PASSWORD: u32 = 70; +pub const NCRYPTBUFFER_TPM_SEAL_POLICYINFO: u32 = 71; +pub const NCRYPTBUFFER_TPM_SEAL_TICKET: u32 = 72; +pub const NCRYPTBUFFER_TPM_SEAL_NO_DA_PROTECTION: u32 = 73; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_PCR_MASK: u32 = 80; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_NONCE: u32 = 81; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_STATIC_CREATE: u32 = 82; +pub const NCRYPT_CIPHER_NO_PADDING_FLAG: u32 = 0; +pub const NCRYPT_CIPHER_BLOCK_PADDING_FLAG: u32 = 1; +pub const NCRYPT_CIPHER_OTHER_PADDING_FLAG: u32 = 2; +pub const NCRYPT_PLATFORM_ATTEST_MAGIC: u32 = 1146110288; +pub const NCRYPT_KEY_ATTEST_MAGIC: u32 = 1146110283; +pub const NCRYPT_CLAIM_AUTHORITY_ONLY: u32 = 1; +pub const NCRYPT_CLAIM_SUBJECT_ONLY: u32 = 2; +pub const NCRYPT_CLAIM_WEB_AUTH_SUBJECT_ONLY: u32 = 258; +pub const NCRYPT_CLAIM_AUTHORITY_AND_SUBJECT: u32 = 3; +pub const NCRYPT_CLAIM_VSM_KEY_ATTESTATION_STATEMENT: u32 = 4; +pub const NCRYPT_CLAIM_UNKNOWN: u32 = 4096; +pub const NCRYPT_CLAIM_PLATFORM: u32 = 65536; +pub const NCRYPT_ISOLATED_KEY_FLAG_CREATED_IN_ISOLATION: u32 = 1; +pub const NCRYPT_ISOLATED_KEY_FLAG_IMPORT_ONLY: u32 = 2; +pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_V0: u32 = 0; +pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_V0: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_V0: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_V0: u32 = 0; +pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_V0: u32 = 0; +pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_NO_PADDING_FLAG: u32 = 1; +pub const NCRYPT_PAD_PKCS1_FLAG: u32 = 2; +pub const NCRYPT_PAD_OAEP_FLAG: u32 = 4; +pub const NCRYPT_PAD_PSS_FLAG: u32 = 8; +pub const NCRYPT_PAD_CIPHER_FLAG: u32 = 16; +pub const NCRYPT_ATTESTATION_FLAG: u32 = 32; +pub const NCRYPT_SEALING_FLAG: u32 = 256; +pub const NCRYPT_REGISTER_NOTIFY_FLAG: u32 = 1; +pub const NCRYPT_UNREGISTER_NOTIFY_FLAG: u32 = 2; +pub const NCRYPT_NO_KEY_VALIDATION: u32 = 8; +pub const NCRYPT_MACHINE_KEY_FLAG: u32 = 32; +pub const NCRYPT_SILENT_FLAG: u32 = 64; +pub const NCRYPT_OVERWRITE_KEY_FLAG: u32 = 128; +pub const NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG: u32 = 512; +pub const NCRYPT_DO_NOT_FINALIZE_FLAG: u32 = 1024; +pub const NCRYPT_EXPORT_LEGACY_FLAG: u32 = 2048; +pub const NCRYPT_IGNORE_DEVICE_STATE_FLAG: u32 = 4096; +pub const NCRYPT_TREAT_NIST_AS_GENERIC_ECC_FLAG: u32 = 8192; +pub const NCRYPT_NO_CACHED_PASSWORD: u32 = 16384; +pub const NCRYPT_PROTECT_TO_LOCAL_SYSTEM: u32 = 32768; +pub const NCRYPT_PERSIST_ONLY_FLAG: u32 = 1073741824; +pub const NCRYPT_PERSIST_FLAG: u32 = 2147483648; +pub const NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG: u32 = 65536; +pub const NCRYPT_USE_VIRTUAL_ISOLATION_FLAG: u32 = 131072; +pub const NCRYPT_USE_PER_BOOT_KEY_FLAG: u32 = 262144; +pub const NCRYPT_CIPHER_OPERATION: u32 = 1; +pub const NCRYPT_HASH_OPERATION: u32 = 2; +pub const NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: u32 = 4; +pub const NCRYPT_SECRET_AGREEMENT_OPERATION: u32 = 8; +pub const NCRYPT_SIGNATURE_OPERATION: u32 = 16; +pub const NCRYPT_RNG_OPERATION: u32 = 32; +pub const NCRYPT_KEY_DERIVATION_OPERATION: u32 = 64; +pub const NCRYPT_AUTHORITY_KEY_FLAG: u32 = 256; +pub const NCRYPT_NAME_PROPERTY: &[u8; 5usize] = b"Name\0"; +pub const NCRYPT_UNIQUE_NAME_PROPERTY: &[u8; 12usize] = b"Unique Name\0"; +pub const NCRYPT_ALGORITHM_PROPERTY: &[u8; 15usize] = b"Algorithm Name\0"; +pub const NCRYPT_LENGTH_PROPERTY: &[u8; 7usize] = b"Length\0"; +pub const NCRYPT_LENGTHS_PROPERTY: &[u8; 8usize] = b"Lengths\0"; +pub const NCRYPT_BLOCK_LENGTH_PROPERTY: &[u8; 13usize] = b"Block Length\0"; +pub const NCRYPT_PUBLIC_LENGTH_PROPERTY: &[u8; 16usize] = b"PublicKeyLength\0"; +pub const NCRYPT_SIGNATURE_LENGTH_PROPERTY: &[u8; 16usize] = b"SignatureLength\0"; +pub const NCRYPT_CHAINING_MODE_PROPERTY: &[u8; 14usize] = b"Chaining Mode\0"; +pub const NCRYPT_AUTH_TAG_LENGTH: &[u8; 14usize] = b"AuthTagLength\0"; +pub const NCRYPT_UI_POLICY_PROPERTY: &[u8; 10usize] = b"UI Policy\0"; +pub const NCRYPT_EXPORT_POLICY_PROPERTY: &[u8; 14usize] = b"Export Policy\0"; +pub const NCRYPT_WINDOW_HANDLE_PROPERTY: &[u8; 12usize] = b"HWND Handle\0"; +pub const NCRYPT_USE_CONTEXT_PROPERTY: &[u8; 12usize] = b"Use Context\0"; +pub const NCRYPT_IMPL_TYPE_PROPERTY: &[u8; 10usize] = b"Impl Type\0"; +pub const NCRYPT_KEY_USAGE_PROPERTY: &[u8; 10usize] = b"Key Usage\0"; +pub const NCRYPT_KEY_TYPE_PROPERTY: &[u8; 9usize] = b"Key Type\0"; +pub const NCRYPT_VERSION_PROPERTY: &[u8; 8usize] = b"Version\0"; +pub const NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY: &[u8; 23usize] = b"Security Descr Support\0"; +pub const NCRYPT_SECURITY_DESCR_PROPERTY: &[u8; 15usize] = b"Security Descr\0"; +pub const NCRYPT_USE_COUNT_ENABLED_PROPERTY: &[u8; 18usize] = b"Enabled Use Count\0"; +pub const NCRYPT_USE_COUNT_PROPERTY: &[u8; 10usize] = b"Use Count\0"; +pub const NCRYPT_LAST_MODIFIED_PROPERTY: &[u8; 9usize] = b"Modified\0"; +pub const NCRYPT_MAX_NAME_LENGTH_PROPERTY: &[u8; 16usize] = b"Max Name Length\0"; +pub const NCRYPT_ALGORITHM_GROUP_PROPERTY: &[u8; 16usize] = b"Algorithm Group\0"; +pub const NCRYPT_DH_PARAMETERS_PROPERTY: &[u8; 13usize] = b"DHParameters\0"; +pub const NCRYPT_ECC_PARAMETERS_PROPERTY: &[u8; 14usize] = b"ECCParameters\0"; +pub const NCRYPT_ECC_CURVE_NAME_PROPERTY: &[u8; 13usize] = b"ECCCurveName\0"; +pub const NCRYPT_ECC_CURVE_NAME_LIST_PROPERTY: &[u8; 17usize] = b"ECCCurveNameList\0"; +pub const NCRYPT_USE_VIRTUAL_ISOLATION_PROPERTY: &[u8; 12usize] = b"Virtual Iso\0"; +pub const NCRYPT_USE_PER_BOOT_KEY_PROPERTY: &[u8; 13usize] = b"Per Boot Key\0"; +pub const NCRYPT_PROVIDER_HANDLE_PROPERTY: &[u8; 16usize] = b"Provider Handle\0"; +pub const NCRYPT_PIN_PROPERTY: &[u8; 13usize] = b"SmartCardPin\0"; +pub const NCRYPT_READER_PROPERTY: &[u8; 16usize] = b"SmartCardReader\0"; +pub const NCRYPT_SMARTCARD_GUID_PROPERTY: &[u8; 14usize] = b"SmartCardGuid\0"; +pub const NCRYPT_CERTIFICATE_PROPERTY: &[u8; 24usize] = b"SmartCardKeyCertificate\0"; +pub const NCRYPT_PIN_PROMPT_PROPERTY: &[u8; 19usize] = b"SmartCardPinPrompt\0"; +pub const NCRYPT_USER_CERTSTORE_PROPERTY: &[u8; 23usize] = b"SmartCardUserCertStore\0"; +pub const NCRYPT_ROOT_CERTSTORE_PROPERTY: &[u8; 23usize] = b"SmartcardRootCertStore\0"; +pub const NCRYPT_SECURE_PIN_PROPERTY: &[u8; 19usize] = b"SmartCardSecurePin\0"; +pub const NCRYPT_ASSOCIATED_ECDH_KEY: &[u8; 27usize] = b"SmartCardAssociatedECDHKey\0"; +pub const NCRYPT_SCARD_PIN_ID: &[u8; 15usize] = b"SmartCardPinId\0"; +pub const NCRYPT_SCARD_PIN_INFO: &[u8; 17usize] = b"SmartCardPinInfo\0"; +pub const NCRYPT_READER_ICON_PROPERTY: &[u8; 20usize] = b"SmartCardReaderIcon\0"; +pub const NCRYPT_KDF_SECRET_VALUE: &[u8; 13usize] = b"KDFKeySecret\0"; +pub const NCRYPT_DISMISS_UI_TIMEOUT_SEC_PROPERTY: &[u8; 33usize] = + b"SmartCardDismissUITimeoutSeconds\0"; +pub const NCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &[u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; +pub const NCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &[u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; +pub const NCRYPT_PCP_EKPUB_PROPERTY: &[u8; 10usize] = b"PCP_EKPUB\0"; +pub const NCRYPT_PCP_EKCERT_PROPERTY: &[u8; 11usize] = b"PCP_EKCERT\0"; +pub const NCRYPT_PCP_EKNVCERT_PROPERTY: &[u8; 13usize] = b"PCP_EKNVCERT\0"; +pub const NCRYPT_PCP_RSA_EKPUB_PROPERTY: &[u8; 14usize] = b"PCP_RSA_EKPUB\0"; +pub const NCRYPT_PCP_RSA_EKCERT_PROPERTY: &[u8; 15usize] = b"PCP_RSA_EKCERT\0"; +pub const NCRYPT_PCP_RSA_EKNVCERT_PROPERTY: &[u8; 17usize] = b"PCP_RSA_EKNVCERT\0"; +pub const NCRYPT_PCP_ECC_EKPUB_PROPERTY: &[u8; 14usize] = b"PCP_ECC_EKPUB\0"; +pub const NCRYPT_PCP_ECC_EKCERT_PROPERTY: &[u8; 15usize] = b"PCP_ECC_EKCERT\0"; +pub const NCRYPT_PCP_ECC_EKNVCERT_PROPERTY: &[u8; 17usize] = b"PCP_ECC_EKNVCERT\0"; +pub const NCRYPT_PCP_SRKPUB_PROPERTY: &[u8; 11usize] = b"PCP_SRKPUB\0"; +pub const NCRYPT_PCP_PCRTABLE_PROPERTY: &[u8; 13usize] = b"PCP_PCRTABLE\0"; +pub const NCRYPT_PCP_CHANGEPASSWORD_PROPERTY: &[u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; +pub const NCRYPT_PCP_PASSWORD_REQUIRED_PROPERTY: &[u8; 22usize] = b"PCP_PASSWORD_REQUIRED\0"; +pub const NCRYPT_PCP_USAGEAUTH_PROPERTY: &[u8; 14usize] = b"PCP_USAGEAUTH\0"; +pub const NCRYPT_PCP_MIGRATIONPASSWORD_PROPERTY: &[u8; 22usize] = b"PCP_MIGRATIONPASSWORD\0"; +pub const NCRYPT_PCP_EXPORT_ALLOWED_PROPERTY: &[u8; 19usize] = b"PCP_EXPORT_ALLOWED\0"; +pub const NCRYPT_PCP_STORAGEPARENT_PROPERTY: &[u8; 18usize] = b"PCP_STORAGEPARENT\0"; +pub const NCRYPT_PCP_PROVIDERHANDLE_PROPERTY: &[u8; 20usize] = b"PCP_PROVIDERMHANDLE\0"; +pub const NCRYPT_PCP_PLATFORMHANDLE_PROPERTY: &[u8; 19usize] = b"PCP_PLATFORMHANDLE\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRMASK_PROPERTY: &[u8; 29usize] = + b"PCP_PLATFORM_BINDING_PCRMASK\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGESTLIST_PROPERTY: &[u8; 35usize] = + b"PCP_PLATFORM_BINDING_PCRDIGESTLIST\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGEST_PROPERTY: &[u8; 31usize] = + b"PCP_PLATFORM_BINDING_PCRDIGEST\0"; +pub const NCRYPT_PCP_KEY_USAGE_POLICY_PROPERTY: &[u8; 21usize] = b"PCP_KEY_USAGE_POLICY\0"; +pub const NCRYPT_PCP_RSA_SCHEME_PROPERTY: &[u8; 15usize] = b"PCP_RSA_SCHEME\0"; +pub const NCRYPT_PCP_TPM12_IDBINDING_PROPERTY: &[u8; 20usize] = b"PCP_TPM12_IDBINDING\0"; +pub const NCRYPT_PCP_TPM12_IDBINDING_DYNAMIC_PROPERTY: &[u8; 28usize] = + b"PCP_TPM12_IDBINDING_DYNAMIC\0"; +pub const NCRYPT_PCP_TPM12_IDACTIVATION_PROPERTY: &[u8; 23usize] = b"PCP_TPM12_IDACTIVATION\0"; +pub const NCRYPT_PCP_KEYATTESTATION_PROPERTY: &[u8; 25usize] = b"PCP_TPM12_KEYATTESTATION\0"; +pub const NCRYPT_PCP_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &[u8; 35usize] = + b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRALGID_PROPERTY: &[u8; 30usize] = + b"PCP_PLATFORM_BINDING_PCRALGID\0"; +pub const NCRYPT_PCP_HMAC_AUTH_POLICYREF: &[u8; 24usize] = b"PCP_HMAC_AUTH_POLICYREF\0"; +pub const NCRYPT_PCP_HMAC_AUTH_POLICYINFO: &[u8; 25usize] = b"PCP_HMAC_AUTH_POLICYINFO\0"; +pub const NCRYPT_PCP_HMAC_AUTH_NONCE: &[u8; 20usize] = b"PCP_HMAC_AUTH_NONCE\0"; +pub const NCRYPT_PCP_HMAC_AUTH_SIGNATURE: &[u8; 24usize] = b"PCP_HMAC_AUTH_SIGNATURE\0"; +pub const NCRYPT_PCP_HMAC_AUTH_TICKET: &[u8; 21usize] = b"PCP_HMAC_AUTH_TICKET\0"; +pub const NCRYPT_PCP_NO_DA_PROTECTION_PROPERTY: &[u8; 21usize] = b"PCP_NO_DA_PROTECTION\0"; +pub const NCRYPT_PCP_TPM_MANUFACTURER_ID_PROPERTY: &[u8; 24usize] = b"PCP_TPM_MANUFACTURER_ID\0"; +pub const NCRYPT_PCP_TPM_FW_VERSION_PROPERTY: &[u8; 19usize] = b"PCP_TPM_FW_VERSION\0"; +pub const NCRYPT_PCP_TPM2BNAME_PROPERTY: &[u8; 14usize] = b"PCP_TPM2BNAME\0"; +pub const NCRYPT_PCP_TPM_VERSION_PROPERTY: &[u8; 16usize] = b"PCP_TPM_VERSION\0"; +pub const NCRYPT_PCP_RAW_POLICYDIGEST_PROPERTY: &[u8; 21usize] = b"PCP_RAW_POLICYDIGEST\0"; +pub const NCRYPT_PCP_KEY_CREATIONHASH_PROPERTY: &[u8; 21usize] = b"PCP_KEY_CREATIONHASH\0"; +pub const NCRYPT_PCP_KEY_CREATIONTICKET_PROPERTY: &[u8; 23usize] = b"PCP_KEY_CREATIONTICKET\0"; +pub const NCRYPT_PCP_RSA_SCHEME_HASH_ALG_PROPERTY: &[u8; 24usize] = b"PCP_RSA_SCHEME_HASH_ALG\0"; +pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED_PROPERTY: &[u8; 34usize] = + b"PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED\0"; +pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY_PROPERTY: &[u8; 37usize] = + b"PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY\0"; +pub const IFX_RSA_KEYGEN_VUL_NOT_AFFECTED: u32 = 0; +pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_1: u32 = 1; +pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_2: u32 = 2; +pub const NCRYPT_PCP_SESSIONID_PROPERTY: &[u8; 14usize] = b"PCP_SESSIONID\0"; +pub const NCRYPT_PCP_PSS_SALT_SIZE_PROPERTY: &[u8; 14usize] = b"PSS Salt Size\0"; +pub const NCRYPT_TPM_PSS_SALT_SIZE_UNKNOWN: u32 = 0; +pub const NCRYPT_TPM_PSS_SALT_SIZE_MAXIMUM: u32 = 1; +pub const NCRYPT_TPM_PSS_SALT_SIZE_HASHSIZE: u32 = 2; +pub const NCRYPT_PCP_INTERMEDIATE_CA_EKCERT_PROPERTY: &[u8; 27usize] = + b"PCP_INTERMEDIATE_CA_EKCERT\0"; +pub const NCRYPT_PCP_PCRTABLE_ALGORITHM_PROPERTY: &[u8; 23usize] = b"PCP_PCRTABLE_ALGORITHM\0"; +pub const NCRYPT_PCP_SYMMETRIC_KEYBITS_PROPERTY: &[u8; 22usize] = b"PCP_SYMMETRIC_KEYBITS\0"; +pub const NCRYPT_TPM_PAD_PSS_IGNORE_SALT: u32 = 32; +pub const NCRYPT_TPM12_PROVIDER: u32 = 65536; +pub const NCRYPT_PCP_SIGNATURE_KEY: u32 = 1; +pub const NCRYPT_PCP_ENCRYPTION_KEY: u32 = 2; +pub const NCRYPT_PCP_GENERIC_KEY: u32 = 3; +pub const NCRYPT_PCP_STORAGE_KEY: u32 = 4; +pub const NCRYPT_PCP_IDENTITY_KEY: u32 = 8; +pub const NCRYPT_PCP_HMACVERIFICATION_KEY: u32 = 16; +pub const NCRYPT_SCARD_NGC_KEY_NAME: &[u8; 20usize] = b"SmartCardNgcKeyName\0"; +pub const NCRYPT_INITIALIZATION_VECTOR: &[u8; 3usize] = b"IV\0"; +pub const NCRYPT_CHANGEPASSWORD_PROPERTY: &[u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; +pub const NCRYPT_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &[u8; 35usize] = + b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; +pub const NCRYPT_KEY_ACCESS_POLICY_PROPERTY: &[u8; 18usize] = b"Key Access Policy\0"; +pub const NCRYPT_MAX_PROPERTY_NAME: u32 = 64; +pub const NCRYPT_MAX_PROPERTY_DATA: u32 = 1048576; +pub const NCRYPT_ALLOW_EXPORT_FLAG: u32 = 1; +pub const NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG: u32 = 2; +pub const NCRYPT_ALLOW_ARCHIVING_FLAG: u32 = 4; +pub const NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG: u32 = 8; +pub const NCRYPT_IMPL_HARDWARE_FLAG: u32 = 1; +pub const NCRYPT_IMPL_SOFTWARE_FLAG: u32 = 2; +pub const NCRYPT_IMPL_REMOVABLE_FLAG: u32 = 8; +pub const NCRYPT_IMPL_HARDWARE_RNG_FLAG: u32 = 16; +pub const NCRYPT_IMPL_VIRTUAL_ISOLATION_FLAG: u32 = 32; +pub const NCRYPT_ALLOW_DECRYPT_FLAG: u32 = 1; +pub const NCRYPT_ALLOW_SIGNING_FLAG: u32 = 2; +pub const NCRYPT_ALLOW_KEY_AGREEMENT_FLAG: u32 = 4; +pub const NCRYPT_ALLOW_KEY_IMPORT_FLAG: u32 = 8; +pub const NCRYPT_ALLOW_ALL_USAGES: u32 = 16777215; +pub const NCRYPT_UI_PROTECT_KEY_FLAG: u32 = 1; +pub const NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG: u32 = 2; +pub const NCRYPT_UI_FINGERPRINT_PROTECTION_FLAG: u32 = 4; +pub const NCRYPT_UI_APPCONTAINER_ACCESS_MEDIUM_FLAG: u32 = 8; +pub const NCRYPT_PIN_CACHE_FREE_APPLICATION_TICKET_PROPERTY: &[u8; 30usize] = + b"PinCacheFreeApplicationTicket\0"; +pub const NCRYPT_PIN_CACHE_FLAGS_PROPERTY: &[u8; 14usize] = b"PinCacheFlags\0"; +pub const NCRYPT_PIN_CACHE_DISABLE_DPL_FLAG: u32 = 1; +pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_PROPERTY: &[u8; 26usize] = + b"PinCacheApplicationTicket\0"; +pub const NCRYPT_PIN_CACHE_APPLICATION_IMAGE_PROPERTY: &[u8; 25usize] = + b"PinCacheApplicationImage\0"; +pub const NCRYPT_PIN_CACHE_APPLICATION_STATUS_PROPERTY: &[u8; 26usize] = + b"PinCacheApplicationStatus\0"; +pub const NCRYPT_PIN_CACHE_PIN_PROPERTY: &[u8; 12usize] = b"PinCachePin\0"; +pub const NCRYPT_PIN_CACHE_IS_GESTURE_REQUIRED_PROPERTY: &[u8; 26usize] = + b"PinCacheIsGestureRequired\0"; +pub const NCRYPT_PIN_CACHE_REQUIRE_GESTURE_FLAG: u32 = 1; +pub const NCRYPT_PIN_CACHE_PIN_BYTE_LENGTH: u32 = 90; +pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_BYTE_LENGTH: u32 = 90; +pub const NCRYPT_PIN_CACHE_CLEAR_PROPERTY: &[u8; 14usize] = b"PinCacheClear\0"; +pub const NCRYPT_PIN_CACHE_CLEAR_FOR_CALLING_PROCESS_OPTION: u32 = 1; +pub const NCRYPT_KEY_ACCESS_POLICY_VERSION: u32 = 1; +pub const NCRYPT_ALLOW_SILENT_KEY_ACCESS: u32 = 1; +pub const NCRYPT_CIPHER_KEY_BLOB_MAGIC: u32 = 1380470851; +pub const NCRYPT_KDF_KEY_BLOB_MAGIC: u32 = 826688587; +pub const NCRYPT_PROTECTED_KEY_BLOB_MAGIC: u32 = 1263817296; +pub const NCRYPT_CIPHER_KEY_BLOB: &[u8; 14usize] = b"CipherKeyBlob\0"; +pub const NCRYPT_KDF_KEY_BLOB: &[u8; 11usize] = b"KDFKeyBlob\0"; +pub const NCRYPT_PROTECTED_KEY_BLOB: &[u8; 17usize] = b"ProtectedKeyBlob\0"; +pub const NCRYPT_TPM_LOADABLE_KEY_BLOB: &[u8; 23usize] = b"PcpTpmProtectedKeyBlob\0"; +pub const NCRYPT_TPM_LOADABLE_KEY_BLOB_MAGIC: u32 = 1297371211; +pub const NCRYPT_PKCS7_ENVELOPE_BLOB: &[u8; 15usize] = b"PKCS7_ENVELOPE\0"; +pub const NCRYPT_PKCS8_PRIVATE_KEY_BLOB: &[u8; 17usize] = b"PKCS8_PRIVATEKEY\0"; +pub const NCRYPT_OPAQUETRANSPORT_BLOB: &[u8; 16usize] = b"OpaqueTransport\0"; +pub const NCRYPT_ISOLATED_KEY_ENVELOPE_BLOB: &[u8; 22usize] = b"ISOLATED_KEY_ENVELOPE\0"; +pub const szOID_RSA: &[u8; 15usize] = b"1.2.840.113549\0"; +pub const szOID_PKCS: &[u8; 17usize] = b"1.2.840.113549.1\0"; +pub const szOID_RSA_HASH: &[u8; 17usize] = b"1.2.840.113549.2\0"; +pub const szOID_RSA_ENCRYPT: &[u8; 17usize] = b"1.2.840.113549.3\0"; +pub const szOID_PKCS_1: &[u8; 19usize] = b"1.2.840.113549.1.1\0"; +pub const szOID_PKCS_2: &[u8; 19usize] = b"1.2.840.113549.1.2\0"; +pub const szOID_PKCS_3: &[u8; 19usize] = b"1.2.840.113549.1.3\0"; +pub const szOID_PKCS_4: &[u8; 19usize] = b"1.2.840.113549.1.4\0"; +pub const szOID_PKCS_5: &[u8; 19usize] = b"1.2.840.113549.1.5\0"; +pub const szOID_PKCS_6: &[u8; 19usize] = b"1.2.840.113549.1.6\0"; +pub const szOID_PKCS_7: &[u8; 19usize] = b"1.2.840.113549.1.7\0"; +pub const szOID_PKCS_8: &[u8; 19usize] = b"1.2.840.113549.1.8\0"; +pub const szOID_PKCS_9: &[u8; 19usize] = b"1.2.840.113549.1.9\0"; +pub const szOID_PKCS_10: &[u8; 20usize] = b"1.2.840.113549.1.10\0"; +pub const szOID_PKCS_12: &[u8; 20usize] = b"1.2.840.113549.1.12\0"; +pub const szOID_RSA_RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const szOID_RSA_MD2RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.2\0"; +pub const szOID_RSA_MD4RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.3\0"; +pub const szOID_RSA_MD5RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.4\0"; +pub const szOID_RSA_SHA1RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.5\0"; +pub const szOID_RSA_SETOAEP_RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.6\0"; +pub const szOID_RSAES_OAEP: &[u8; 21usize] = b"1.2.840.113549.1.1.7\0"; +pub const szOID_RSA_MGF1: &[u8; 21usize] = b"1.2.840.113549.1.1.8\0"; +pub const szOID_RSA_PSPECIFIED: &[u8; 21usize] = b"1.2.840.113549.1.1.9\0"; +pub const szOID_RSA_SSA_PSS: &[u8; 22usize] = b"1.2.840.113549.1.1.10\0"; +pub const szOID_RSA_SHA256RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.11\0"; +pub const szOID_RSA_SHA384RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.12\0"; +pub const szOID_RSA_SHA512RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.13\0"; +pub const szOID_RSA_DH: &[u8; 21usize] = b"1.2.840.113549.1.3.1\0"; +pub const szOID_RSA_data: &[u8; 21usize] = b"1.2.840.113549.1.7.1\0"; +pub const szOID_RSA_signedData: &[u8; 21usize] = b"1.2.840.113549.1.7.2\0"; +pub const szOID_RSA_envelopedData: &[u8; 21usize] = b"1.2.840.113549.1.7.3\0"; +pub const szOID_RSA_signEnvData: &[u8; 21usize] = b"1.2.840.113549.1.7.4\0"; +pub const szOID_RSA_digestedData: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_RSA_hashedData: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_RSA_encryptedData: &[u8; 21usize] = b"1.2.840.113549.1.7.6\0"; +pub const szOID_RSA_emailAddr: &[u8; 21usize] = b"1.2.840.113549.1.9.1\0"; +pub const szOID_RSA_unstructName: &[u8; 21usize] = b"1.2.840.113549.1.9.2\0"; +pub const szOID_RSA_contentType: &[u8; 21usize] = b"1.2.840.113549.1.9.3\0"; +pub const szOID_RSA_messageDigest: &[u8; 21usize] = b"1.2.840.113549.1.9.4\0"; +pub const szOID_RSA_signingTime: &[u8; 21usize] = b"1.2.840.113549.1.9.5\0"; +pub const szOID_RSA_counterSign: &[u8; 21usize] = b"1.2.840.113549.1.9.6\0"; +pub const szOID_RSA_challengePwd: &[u8; 21usize] = b"1.2.840.113549.1.9.7\0"; +pub const szOID_RSA_unstructAddr: &[u8; 21usize] = b"1.2.840.113549.1.9.8\0"; +pub const szOID_RSA_extCertAttrs: &[u8; 21usize] = b"1.2.840.113549.1.9.9\0"; +pub const szOID_RSA_certExtensions: &[u8; 22usize] = b"1.2.840.113549.1.9.14\0"; +pub const szOID_RSA_SMIMECapabilities: &[u8; 22usize] = b"1.2.840.113549.1.9.15\0"; +pub const szOID_RSA_preferSignedData: &[u8; 24usize] = b"1.2.840.113549.1.9.15.1\0"; +pub const szOID_TIMESTAMP_TOKEN: &[u8; 26usize] = b"1.2.840.113549.1.9.16.1.4\0"; +pub const szOID_RFC3161_counterSign: &[u8; 22usize] = b"1.3.6.1.4.1.311.3.3.1\0"; +pub const szOID_RSA_SMIMEalg: &[u8; 24usize] = b"1.2.840.113549.1.9.16.3\0"; +pub const szOID_RSA_SMIMEalgESDH: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.5\0"; +pub const szOID_RSA_SMIMEalgCMS3DESwrap: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.6\0"; +pub const szOID_RSA_SMIMEalgCMSRC2wrap: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.7\0"; +pub const szOID_RSA_MD2: &[u8; 19usize] = b"1.2.840.113549.2.2\0"; +pub const szOID_RSA_MD4: &[u8; 19usize] = b"1.2.840.113549.2.4\0"; +pub const szOID_RSA_MD5: &[u8; 19usize] = b"1.2.840.113549.2.5\0"; +pub const szOID_RSA_RC2CBC: &[u8; 19usize] = b"1.2.840.113549.3.2\0"; +pub const szOID_RSA_RC4: &[u8; 19usize] = b"1.2.840.113549.3.4\0"; +pub const szOID_RSA_DES_EDE3_CBC: &[u8; 19usize] = b"1.2.840.113549.3.7\0"; +pub const szOID_RSA_RC5_CBCPad: &[u8; 19usize] = b"1.2.840.113549.3.9\0"; +pub const szOID_ANSI_X942: &[u8; 14usize] = b"1.2.840.10046\0"; +pub const szOID_ANSI_X942_DH: &[u8; 18usize] = b"1.2.840.10046.2.1\0"; +pub const szOID_X957: &[u8; 14usize] = b"1.2.840.10040\0"; +pub const szOID_X957_DSA: &[u8; 18usize] = b"1.2.840.10040.4.1\0"; +pub const szOID_X957_SHA1DSA: &[u8; 18usize] = b"1.2.840.10040.4.3\0"; +pub const szOID_ECC_PUBLIC_KEY: &[u8; 18usize] = b"1.2.840.10045.2.1\0"; +pub const szOID_ECC_CURVE_P256: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_P384: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_P521: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP160R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.1\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP160T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.2\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP192R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.3\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP192T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.4\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP224R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.5\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP224T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.6\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP256R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.7\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP256T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.8\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP320R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.9\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP320T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.10\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP384R1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.11\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP384T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.12\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP512R1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.13\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP512T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.14\0"; +pub const szOID_ECC_CURVE_EC192WAPI: &[u8; 22usize] = b"1.2.156.11235.1.1.2.1\0"; +pub const szOID_CN_ECDSA_SHA256: &[u8; 20usize] = b"1.2.156.11235.1.1.1\0"; +pub const szOID_ECC_CURVE_NISTP192: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_NISTP224: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_NISTP256: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_NISTP384: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_NISTP521: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_SECP160K1: &[u8; 12usize] = b"1.3.132.0.9\0"; +pub const szOID_ECC_CURVE_SECP160R1: &[u8; 12usize] = b"1.3.132.0.8\0"; +pub const szOID_ECC_CURVE_SECP160R2: &[u8; 13usize] = b"1.3.132.0.30\0"; +pub const szOID_ECC_CURVE_SECP192K1: &[u8; 13usize] = b"1.3.132.0.31\0"; +pub const szOID_ECC_CURVE_SECP192R1: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_SECP224K1: &[u8; 13usize] = b"1.3.132.0.32\0"; +pub const szOID_ECC_CURVE_SECP224R1: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_SECP256K1: &[u8; 13usize] = b"1.3.132.0.10\0"; +pub const szOID_ECC_CURVE_SECP256R1: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_SECP384R1: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_SECP521R1: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_WTLS7: &[u8; 13usize] = b"1.3.132.0.30\0"; +pub const szOID_ECC_CURVE_WTLS9: &[u8; 14usize] = b"2.23.43.1.4.9\0"; +pub const szOID_ECC_CURVE_WTLS12: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_X962P192V1: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_X962P192V2: &[u8; 20usize] = b"1.2.840.10045.3.1.2\0"; +pub const szOID_ECC_CURVE_X962P192V3: &[u8; 20usize] = b"1.2.840.10045.3.1.3\0"; +pub const szOID_ECC_CURVE_X962P239V1: &[u8; 20usize] = b"1.2.840.10045.3.1.4\0"; +pub const szOID_ECC_CURVE_X962P239V2: &[u8; 20usize] = b"1.2.840.10045.3.1.5\0"; +pub const szOID_ECC_CURVE_X962P239V3: &[u8; 20usize] = b"1.2.840.10045.3.1.6\0"; +pub const szOID_ECC_CURVE_X962P256V1: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECDSA_SHA1: &[u8; 18usize] = b"1.2.840.10045.4.1\0"; +pub const szOID_ECDSA_SPECIFIED: &[u8; 18usize] = b"1.2.840.10045.4.3\0"; +pub const szOID_ECDSA_SHA256: &[u8; 20usize] = b"1.2.840.10045.4.3.2\0"; +pub const szOID_ECDSA_SHA384: &[u8; 20usize] = b"1.2.840.10045.4.3.3\0"; +pub const szOID_ECDSA_SHA512: &[u8; 20usize] = b"1.2.840.10045.4.3.4\0"; +pub const szOID_NIST_AES128_CBC: &[u8; 23usize] = b"2.16.840.1.101.3.4.1.2\0"; +pub const szOID_NIST_AES192_CBC: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.22\0"; +pub const szOID_NIST_AES256_CBC: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.42\0"; +pub const szOID_NIST_AES128_WRAP: &[u8; 23usize] = b"2.16.840.1.101.3.4.1.5\0"; +pub const szOID_NIST_AES192_WRAP: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.25\0"; +pub const szOID_NIST_AES256_WRAP: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.45\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &[u8; 22usize] = b"1.3.133.16.840.63.0.2\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &[u8; 15usize] = b"1.3.132.1.11.1\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &[u8; 15usize] = b"1.3.132.1.11.2\0"; +pub const szOID_DS: &[u8; 4usize] = b"2.5\0"; +pub const szOID_DSALG: &[u8; 6usize] = b"2.5.8\0"; +pub const szOID_DSALG_CRPT: &[u8; 8usize] = b"2.5.8.1\0"; +pub const szOID_DSALG_HASH: &[u8; 8usize] = b"2.5.8.2\0"; +pub const szOID_DSALG_SIGN: &[u8; 8usize] = b"2.5.8.3\0"; +pub const szOID_DSALG_RSA: &[u8; 10usize] = b"2.5.8.1.1\0"; +pub const szOID_OIW: &[u8; 7usize] = b"1.3.14\0"; +pub const szOID_OIWSEC: &[u8; 11usize] = b"1.3.14.3.2\0"; +pub const szOID_OIWSEC_md4RSA: &[u8; 13usize] = b"1.3.14.3.2.2\0"; +pub const szOID_OIWSEC_md5RSA: &[u8; 13usize] = b"1.3.14.3.2.3\0"; +pub const szOID_OIWSEC_md4RSA2: &[u8; 13usize] = b"1.3.14.3.2.4\0"; +pub const szOID_OIWSEC_desECB: &[u8; 13usize] = b"1.3.14.3.2.6\0"; +pub const szOID_OIWSEC_desCBC: &[u8; 13usize] = b"1.3.14.3.2.7\0"; +pub const szOID_OIWSEC_desOFB: &[u8; 13usize] = b"1.3.14.3.2.8\0"; +pub const szOID_OIWSEC_desCFB: &[u8; 13usize] = b"1.3.14.3.2.9\0"; +pub const szOID_OIWSEC_desMAC: &[u8; 14usize] = b"1.3.14.3.2.10\0"; +pub const szOID_OIWSEC_rsaSign: &[u8; 14usize] = b"1.3.14.3.2.11\0"; +pub const szOID_OIWSEC_dsa: &[u8; 14usize] = b"1.3.14.3.2.12\0"; +pub const szOID_OIWSEC_shaDSA: &[u8; 14usize] = b"1.3.14.3.2.13\0"; +pub const szOID_OIWSEC_mdc2RSA: &[u8; 14usize] = b"1.3.14.3.2.14\0"; +pub const szOID_OIWSEC_shaRSA: &[u8; 14usize] = b"1.3.14.3.2.15\0"; +pub const szOID_OIWSEC_dhCommMod: &[u8; 14usize] = b"1.3.14.3.2.16\0"; +pub const szOID_OIWSEC_desEDE: &[u8; 14usize] = b"1.3.14.3.2.17\0"; +pub const szOID_OIWSEC_sha: &[u8; 14usize] = b"1.3.14.3.2.18\0"; +pub const szOID_OIWSEC_mdc2: &[u8; 14usize] = b"1.3.14.3.2.19\0"; +pub const szOID_OIWSEC_dsaComm: &[u8; 14usize] = b"1.3.14.3.2.20\0"; +pub const szOID_OIWSEC_dsaCommSHA: &[u8; 14usize] = b"1.3.14.3.2.21\0"; +pub const szOID_OIWSEC_rsaXchg: &[u8; 14usize] = b"1.3.14.3.2.22\0"; +pub const szOID_OIWSEC_keyHashSeal: &[u8; 14usize] = b"1.3.14.3.2.23\0"; +pub const szOID_OIWSEC_md2RSASign: &[u8; 14usize] = b"1.3.14.3.2.24\0"; +pub const szOID_OIWSEC_md5RSASign: &[u8; 14usize] = b"1.3.14.3.2.25\0"; +pub const szOID_OIWSEC_sha1: &[u8; 14usize] = b"1.3.14.3.2.26\0"; +pub const szOID_OIWSEC_dsaSHA1: &[u8; 14usize] = b"1.3.14.3.2.27\0"; +pub const szOID_OIWSEC_dsaCommSHA1: &[u8; 14usize] = b"1.3.14.3.2.28\0"; +pub const szOID_OIWSEC_sha1RSASign: &[u8; 14usize] = b"1.3.14.3.2.29\0"; +pub const szOID_OIWDIR: &[u8; 11usize] = b"1.3.14.7.2\0"; +pub const szOID_OIWDIR_CRPT: &[u8; 13usize] = b"1.3.14.7.2.1\0"; +pub const szOID_OIWDIR_HASH: &[u8; 13usize] = b"1.3.14.7.2.2\0"; +pub const szOID_OIWDIR_SIGN: &[u8; 13usize] = b"1.3.14.7.2.3\0"; +pub const szOID_OIWDIR_md2: &[u8; 15usize] = b"1.3.14.7.2.2.1\0"; +pub const szOID_OIWDIR_md2RSA: &[u8; 15usize] = b"1.3.14.7.2.3.1\0"; +pub const szOID_INFOSEC: &[u8; 19usize] = b"2.16.840.1.101.2.1\0"; +pub const szOID_INFOSEC_sdnsSignature: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.1\0"; +pub const szOID_INFOSEC_mosaicSignature: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.2\0"; +pub const szOID_INFOSEC_sdnsConfidentiality: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.3\0"; +pub const szOID_INFOSEC_mosaicConfidentiality: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.4\0"; +pub const szOID_INFOSEC_sdnsIntegrity: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.5\0"; +pub const szOID_INFOSEC_mosaicIntegrity: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.6\0"; +pub const szOID_INFOSEC_sdnsTokenProtection: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.7\0"; +pub const szOID_INFOSEC_mosaicTokenProtection: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.8\0"; +pub const szOID_INFOSEC_sdnsKeyManagement: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.9\0"; +pub const szOID_INFOSEC_mosaicKeyManagement: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.10\0"; +pub const szOID_INFOSEC_sdnsKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.11\0"; +pub const szOID_INFOSEC_mosaicKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.12\0"; +pub const szOID_INFOSEC_SuiteASignature: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.13\0"; +pub const szOID_INFOSEC_SuiteAConfidentiality: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.14\0"; +pub const szOID_INFOSEC_SuiteAIntegrity: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.15\0"; +pub const szOID_INFOSEC_SuiteATokenProtection: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.16\0"; +pub const szOID_INFOSEC_SuiteAKeyManagement: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.17\0"; +pub const szOID_INFOSEC_SuiteAKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.18\0"; +pub const szOID_INFOSEC_mosaicUpdatedSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.19\0"; +pub const szOID_INFOSEC_mosaicKMandUpdSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.20\0"; +pub const szOID_INFOSEC_mosaicUpdatedInteg: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.21\0"; +pub const szOID_NIST_sha256: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.1\0"; +pub const szOID_NIST_sha384: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.2\0"; +pub const szOID_NIST_sha512: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.3\0"; +pub const szOID_COMMON_NAME: &[u8; 8usize] = b"2.5.4.3\0"; +pub const szOID_SUR_NAME: &[u8; 8usize] = b"2.5.4.4\0"; +pub const szOID_DEVICE_SERIAL_NUMBER: &[u8; 8usize] = b"2.5.4.5\0"; +pub const szOID_COUNTRY_NAME: &[u8; 8usize] = b"2.5.4.6\0"; +pub const szOID_LOCALITY_NAME: &[u8; 8usize] = b"2.5.4.7\0"; +pub const szOID_STATE_OR_PROVINCE_NAME: &[u8; 8usize] = b"2.5.4.8\0"; +pub const szOID_STREET_ADDRESS: &[u8; 8usize] = b"2.5.4.9\0"; +pub const szOID_ORGANIZATION_NAME: &[u8; 9usize] = b"2.5.4.10\0"; +pub const szOID_ORGANIZATIONAL_UNIT_NAME: &[u8; 9usize] = b"2.5.4.11\0"; +pub const szOID_TITLE: &[u8; 9usize] = b"2.5.4.12\0"; +pub const szOID_DESCRIPTION: &[u8; 9usize] = b"2.5.4.13\0"; +pub const szOID_SEARCH_GUIDE: &[u8; 9usize] = b"2.5.4.14\0"; +pub const szOID_BUSINESS_CATEGORY: &[u8; 9usize] = b"2.5.4.15\0"; +pub const szOID_POSTAL_ADDRESS: &[u8; 9usize] = b"2.5.4.16\0"; +pub const szOID_POSTAL_CODE: &[u8; 9usize] = b"2.5.4.17\0"; +pub const szOID_POST_OFFICE_BOX: &[u8; 9usize] = b"2.5.4.18\0"; +pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &[u8; 9usize] = b"2.5.4.19\0"; +pub const szOID_TELEPHONE_NUMBER: &[u8; 9usize] = b"2.5.4.20\0"; +pub const szOID_TELEX_NUMBER: &[u8; 9usize] = b"2.5.4.21\0"; +pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &[u8; 9usize] = b"2.5.4.22\0"; +pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &[u8; 9usize] = b"2.5.4.23\0"; +pub const szOID_X21_ADDRESS: &[u8; 9usize] = b"2.5.4.24\0"; +pub const szOID_INTERNATIONAL_ISDN_NUMBER: &[u8; 9usize] = b"2.5.4.25\0"; +pub const szOID_REGISTERED_ADDRESS: &[u8; 9usize] = b"2.5.4.26\0"; +pub const szOID_DESTINATION_INDICATOR: &[u8; 9usize] = b"2.5.4.27\0"; +pub const szOID_PREFERRED_DELIVERY_METHOD: &[u8; 9usize] = b"2.5.4.28\0"; +pub const szOID_PRESENTATION_ADDRESS: &[u8; 9usize] = b"2.5.4.29\0"; +pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &[u8; 9usize] = b"2.5.4.30\0"; +pub const szOID_MEMBER: &[u8; 9usize] = b"2.5.4.31\0"; +pub const szOID_OWNER: &[u8; 9usize] = b"2.5.4.32\0"; +pub const szOID_ROLE_OCCUPANT: &[u8; 9usize] = b"2.5.4.33\0"; +pub const szOID_SEE_ALSO: &[u8; 9usize] = b"2.5.4.34\0"; +pub const szOID_USER_PASSWORD: &[u8; 9usize] = b"2.5.4.35\0"; +pub const szOID_USER_CERTIFICATE: &[u8; 9usize] = b"2.5.4.36\0"; +pub const szOID_CA_CERTIFICATE: &[u8; 9usize] = b"2.5.4.37\0"; +pub const szOID_AUTHORITY_REVOCATION_LIST: &[u8; 9usize] = b"2.5.4.38\0"; +pub const szOID_CERTIFICATE_REVOCATION_LIST: &[u8; 9usize] = b"2.5.4.39\0"; +pub const szOID_CROSS_CERTIFICATE_PAIR: &[u8; 9usize] = b"2.5.4.40\0"; +pub const szOID_GIVEN_NAME: &[u8; 9usize] = b"2.5.4.42\0"; +pub const szOID_INITIALS: &[u8; 9usize] = b"2.5.4.43\0"; +pub const szOID_DN_QUALIFIER: &[u8; 9usize] = b"2.5.4.46\0"; +pub const szOID_DOMAIN_COMPONENT: &[u8; 27usize] = b"0.9.2342.19200300.100.1.25\0"; +pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &[u8; 22usize] = b"1.2.840.113549.1.9.20\0"; +pub const szOID_PKCS_12_LOCAL_KEY_ID: &[u8; 22usize] = b"1.2.840.113549.1.9.21\0"; +pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.1\0"; +pub const szOID_LOCAL_MACHINE_KEYSET: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.2\0"; +pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.3\0"; +pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &[u8; 21usize] = + b"1.3.6.1.4.1.311.17.4\0"; +pub const szOID_KEYID_RDN: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.7.1\0"; +pub const szOID_EV_RDN_LOCALE: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.1\0"; +pub const szOID_EV_RDN_STATE_OR_PROVINCE: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.2\0"; +pub const szOID_EV_RDN_COUNTRY: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.3\0"; +pub const CERT_RDN_ANY_TYPE: u32 = 0; +pub const CERT_RDN_ENCODED_BLOB: u32 = 1; +pub const CERT_RDN_OCTET_STRING: u32 = 2; +pub const CERT_RDN_NUMERIC_STRING: u32 = 3; +pub const CERT_RDN_PRINTABLE_STRING: u32 = 4; +pub const CERT_RDN_TELETEX_STRING: u32 = 5; +pub const CERT_RDN_T61_STRING: u32 = 5; +pub const CERT_RDN_VIDEOTEX_STRING: u32 = 6; +pub const CERT_RDN_IA5_STRING: u32 = 7; +pub const CERT_RDN_GRAPHIC_STRING: u32 = 8; +pub const CERT_RDN_VISIBLE_STRING: u32 = 9; +pub const CERT_RDN_ISO646_STRING: u32 = 9; +pub const CERT_RDN_GENERAL_STRING: u32 = 10; +pub const CERT_RDN_UNIVERSAL_STRING: u32 = 11; +pub const CERT_RDN_INT4_STRING: u32 = 11; +pub const CERT_RDN_BMP_STRING: u32 = 12; +pub const CERT_RDN_UNICODE_STRING: u32 = 12; +pub const CERT_RDN_UTF8_STRING: u32 = 13; +pub const CERT_RDN_TYPE_MASK: u32 = 255; +pub const CERT_RDN_FLAGS_MASK: u32 = 4278190080; +pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: u32 = 2147483648; +pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: u32 = 536870912; +pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456; +pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: u32 = 1073741824; +pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: u32 = 16777216; +pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: u32 = 33554432; +pub const CERT_RSA_PUBLIC_KEY_OBJID: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: u32 = 1; +pub const CERT_V1: u32 = 0; +pub const CERT_V2: u32 = 1; +pub const CERT_V3: u32 = 2; +pub const CERT_INFO_VERSION_FLAG: u32 = 1; +pub const CERT_INFO_SERIAL_NUMBER_FLAG: u32 = 2; +pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: u32 = 3; +pub const CERT_INFO_ISSUER_FLAG: u32 = 4; +pub const CERT_INFO_NOT_BEFORE_FLAG: u32 = 5; +pub const CERT_INFO_NOT_AFTER_FLAG: u32 = 6; +pub const CERT_INFO_SUBJECT_FLAG: u32 = 7; +pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: u32 = 8; +pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: u32 = 9; +pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: u32 = 10; +pub const CERT_INFO_EXTENSION_FLAG: u32 = 11; +pub const CRL_V1: u32 = 0; +pub const CRL_V2: u32 = 1; +pub const CERT_BUNDLE_CERTIFICATE: u32 = 0; +pub const CERT_BUNDLE_CRL: u32 = 1; +pub const CERT_REQUEST_V1: u32 = 0; +pub const CERT_KEYGEN_REQUEST_V1: u32 = 0; +pub const CTL_V1: u32 = 0; +pub const CERT_ENCODING_TYPE_MASK: u32 = 65535; +pub const CMSG_ENCODING_TYPE_MASK: u32 = 4294901760; +pub const CRYPT_ASN_ENCODING: u32 = 1; +pub const CRYPT_NDR_ENCODING: u32 = 2; +pub const X509_ASN_ENCODING: u32 = 1; +pub const X509_NDR_ENCODING: u32 = 2; +pub const PKCS_7_ASN_ENCODING: u32 = 65536; +pub const PKCS_7_NDR_ENCODING: u32 = 131072; +pub const CRYPT_FORMAT_STR_MULTI_LINE: u32 = 1; +pub const CRYPT_FORMAT_STR_NO_HEX: u32 = 16; +pub const CRYPT_FORMAT_SIMPLE: u32 = 1; +pub const CRYPT_FORMAT_X509: u32 = 2; +pub const CRYPT_FORMAT_OID: u32 = 4; +pub const CRYPT_FORMAT_RDN_SEMICOLON: u32 = 256; +pub const CRYPT_FORMAT_RDN_CRLF: u32 = 512; +pub const CRYPT_FORMAT_RDN_UNQUOTE: u32 = 1024; +pub const CRYPT_FORMAT_RDN_REVERSE: u32 = 2048; +pub const CRYPT_FORMAT_COMMA: u32 = 4096; +pub const CRYPT_FORMAT_SEMICOLON: u32 = 256; +pub const CRYPT_FORMAT_CRLF: u32 = 512; +pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8; +pub const CRYPT_ENCODE_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: u32 = 2147483648; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: u32 = 536870912; +pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456; +pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: u32 = 1073741824; +pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 65536; +pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: u32 = 131072; +pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: u32 = 262144; +pub const CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG: u32 = 393216; +pub const CRYPT_DECODE_NOCOPY_FLAG: u32 = 1; +pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: u32 = 2; +pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: u32 = 4; +pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8; +pub const CRYPT_DECODE_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: u32 = 16777216; +pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: u32 = 33554432; +pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: u32 = 67108864; +pub const CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG: u32 = 100663296; +pub const CRYPT_ENCODE_DECODE_NONE: u32 = 0; +pub const szOID_AUTHORITY_KEY_IDENTIFIER: &[u8; 9usize] = b"2.5.29.1\0"; +pub const szOID_KEY_ATTRIBUTES: &[u8; 9usize] = b"2.5.29.2\0"; +pub const szOID_CERT_POLICIES_95: &[u8; 9usize] = b"2.5.29.3\0"; +pub const szOID_KEY_USAGE_RESTRICTION: &[u8; 9usize] = b"2.5.29.4\0"; +pub const szOID_SUBJECT_ALT_NAME: &[u8; 9usize] = b"2.5.29.7\0"; +pub const szOID_ISSUER_ALT_NAME: &[u8; 9usize] = b"2.5.29.8\0"; +pub const szOID_BASIC_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.10\0"; +pub const szOID_KEY_USAGE: &[u8; 10usize] = b"2.5.29.15\0"; +pub const szOID_PRIVATEKEY_USAGE_PERIOD: &[u8; 10usize] = b"2.5.29.16\0"; +pub const szOID_BASIC_CONSTRAINTS2: &[u8; 10usize] = b"2.5.29.19\0"; +pub const szOID_CERT_POLICIES: &[u8; 10usize] = b"2.5.29.32\0"; +pub const szOID_ANY_CERT_POLICY: &[u8; 12usize] = b"2.5.29.32.0\0"; +pub const szOID_INHIBIT_ANY_POLICY: &[u8; 10usize] = b"2.5.29.54\0"; +pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &[u8; 10usize] = b"2.5.29.35\0"; +pub const szOID_SUBJECT_KEY_IDENTIFIER: &[u8; 10usize] = b"2.5.29.14\0"; +pub const szOID_SUBJECT_ALT_NAME2: &[u8; 10usize] = b"2.5.29.17\0"; +pub const szOID_ISSUER_ALT_NAME2: &[u8; 10usize] = b"2.5.29.18\0"; +pub const szOID_CRL_REASON_CODE: &[u8; 10usize] = b"2.5.29.21\0"; +pub const szOID_REASON_CODE_HOLD: &[u8; 10usize] = b"2.5.29.23\0"; +pub const szOID_CRL_DIST_POINTS: &[u8; 10usize] = b"2.5.29.31\0"; +pub const szOID_ENHANCED_KEY_USAGE: &[u8; 10usize] = b"2.5.29.37\0"; +pub const szOID_ANY_ENHANCED_KEY_USAGE: &[u8; 12usize] = b"2.5.29.37.0\0"; +pub const szOID_CRL_NUMBER: &[u8; 10usize] = b"2.5.29.20\0"; +pub const szOID_DELTA_CRL_INDICATOR: &[u8; 10usize] = b"2.5.29.27\0"; +pub const szOID_ISSUING_DIST_POINT: &[u8; 10usize] = b"2.5.29.28\0"; +pub const szOID_FRESHEST_CRL: &[u8; 10usize] = b"2.5.29.46\0"; +pub const szOID_NAME_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.30\0"; +pub const szOID_POLICY_MAPPINGS: &[u8; 10usize] = b"2.5.29.33\0"; +pub const szOID_LEGACY_POLICY_MAPPINGS: &[u8; 9usize] = b"2.5.29.5\0"; +pub const szOID_POLICY_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.36\0"; +pub const szOID_RENEWAL_CERTIFICATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.13.1\0"; +pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.1\0"; +pub const szOID_ENROLLMENT_CSP_PROVIDER: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.2\0"; +pub const szOID_OS_VERSION: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.3\0"; +pub const szOID_ENROLLMENT_AGENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.1\0"; +pub const szOID_PKIX: &[u8; 14usize] = b"1.3.6.1.5.5.7\0"; +pub const szOID_PKIX_PE: &[u8; 16usize] = b"1.3.6.1.5.5.7.1\0"; +pub const szOID_AUTHORITY_INFO_ACCESS: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.1\0"; +pub const szOID_SUBJECT_INFO_ACCESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.11\0"; +pub const szOID_BIOMETRIC_EXT: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.2\0"; +pub const szOID_QC_STATEMENTS_EXT: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.3\0"; +pub const szOID_LOGOTYPE_EXT: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.12\0"; +pub const szOID_TLS_FEATURES_EXT: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.24\0"; +pub const szOID_CERT_EXTENSIONS: &[u8; 23usize] = b"1.3.6.1.4.1.311.2.1.14\0"; +pub const szOID_NEXT_UPDATE_LOCATION: &[u8; 21usize] = b"1.3.6.1.4.1.311.10.2\0"; +pub const szOID_REMOVE_CERTIFICATE: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.8.1\0"; +pub const szOID_CROSS_CERT_DIST_POINTS: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.9.1\0"; +pub const szOID_CTL: &[u8; 21usize] = b"1.3.6.1.4.1.311.10.1\0"; +pub const szOID_SORTED_CTL: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.1.1\0"; +pub const szOID_SERIALIZED: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.3.1\0"; +pub const szOID_NT_PRINCIPAL_NAME: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.3\0"; +pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.4\0"; +pub const szOID_PRODUCT_UPDATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.31.1\0"; +pub const szOID_ANY_APPLICATION_POLICY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.12.1\0"; +pub const szOID_AUTO_ENROLL_CTL_USAGE: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.1\0"; +pub const szOID_ENROLL_CERTTYPE_EXTENSION: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.2\0"; +pub const szOID_CERT_MANIFOLD: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.3\0"; +pub const szOID_CERTSRV_CA_VERSION: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.1\0"; +pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.2\0"; +pub const szOID_CRL_VIRTUAL_BASE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.3\0"; +pub const szOID_CRL_NEXT_PUBLISH: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.4\0"; +pub const szOID_KP_CA_EXCHANGE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.5\0"; +pub const szOID_KP_PRIVACY_CA: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.36\0"; +pub const szOID_KP_KEY_RECOVERY_AGENT: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.6\0"; +pub const szOID_CERTIFICATE_TEMPLATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.7\0"; +pub const szOID_ENTERPRISE_OID_ROOT: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.8\0"; +pub const szOID_RDN_DUMMY_SIGNER: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.9\0"; +pub const szOID_APPLICATION_CERT_POLICIES: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.10\0"; +pub const szOID_APPLICATION_POLICY_MAPPINGS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.11\0"; +pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.12\0"; +pub const szOID_ARCHIVED_KEY_ATTR: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.13\0"; +pub const szOID_CRL_SELF_CDP: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.14\0"; +pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.15\0"; +pub const szOID_ARCHIVED_KEY_CERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.16\0"; +pub const szOID_ISSUED_CERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.17\0"; +pub const szOID_DS_EMAIL_REPLICATION: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.19\0"; +pub const szOID_REQUEST_CLIENT_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.20\0"; +pub const szOID_ENCRYPTED_KEY_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.21\0"; +pub const szOID_CERTSRV_CROSSCA_VERSION: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.22\0"; +pub const szOID_NTDS_REPLICATION: &[u8; 21usize] = b"1.3.6.1.4.1.311.25.1\0"; +pub const szOID_NTDS_CA_SECURITY_EXT: &[u8; 21usize] = b"1.3.6.1.4.1.311.25.2\0"; +pub const szOID_NTDS_OBJECTSID: &[u8; 23usize] = b"1.3.6.1.4.1.311.25.2.1\0"; +pub const szOID_SUBJECT_DIR_ATTRS: &[u8; 9usize] = b"2.5.29.9\0"; +pub const szOID_PKIX_KP: &[u8; 16usize] = b"1.3.6.1.5.5.7.3\0"; +pub const szOID_PKIX_KP_SERVER_AUTH: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.1\0"; +pub const szOID_PKIX_KP_CLIENT_AUTH: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.2\0"; +pub const szOID_PKIX_KP_CODE_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.3\0"; +pub const szOID_PKIX_KP_EMAIL_PROTECTION: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.4\0"; +pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.5\0"; +pub const szOID_PKIX_KP_IPSEC_TUNNEL: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.6\0"; +pub const szOID_PKIX_KP_IPSEC_USER: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.7\0"; +pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.8\0"; +pub const szOID_PKIX_KP_OCSP_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.9\0"; +pub const szOID_PKIX_OCSP_NOCHECK: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.5\0"; +pub const szOID_PKIX_OCSP_NONCE: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.2\0"; +pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &[u8; 18usize] = b"1.3.6.1.5.5.8.2.2\0"; +pub const szOID_PKINIT_KP_KDC: &[u8; 16usize] = b"1.3.6.1.5.2.3.5\0"; +pub const szOID_KP_CTL_USAGE_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.1\0"; +pub const szOID_KP_TIME_STAMP_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.2\0"; +pub const szOID_SERVER_GATED_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.3\0"; +pub const szOID_SGC_NETSCAPE: &[u8; 22usize] = b"2.16.840.1.113730.4.1\0"; +pub const szOID_KP_EFS: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.4\0"; +pub const szOID_EFS_RECOVERY: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.4.1\0"; +pub const szOID_WHQL_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.5\0"; +pub const szOID_ATTEST_WHQL_CRYPTO: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.5.1\0"; +pub const szOID_NT5_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.6\0"; +pub const szOID_OEM_WHQL_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.7\0"; +pub const szOID_EMBEDDED_NT_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.8\0"; +pub const szOID_ROOT_LIST_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.9\0"; +pub const szOID_KP_QUALIFIED_SUBORDINATION: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.10\0"; +pub const szOID_KP_KEY_RECOVERY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.11\0"; +pub const szOID_KP_DOCUMENT_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.12\0"; +pub const szOID_KP_LIFETIME_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.13\0"; +pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.14\0"; +pub const szOID_KP_SMART_DISPLAY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.15\0"; +pub const szOID_KP_CSP_SIGNATURE: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.16\0"; +pub const szOID_KP_FLIGHT_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.27\0"; +pub const szOID_PLATFORM_MANIFEST_BINARY_ID: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.28\0"; +pub const szOID_DRM: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.5.1\0"; +pub const szOID_DRM_INDIVIDUALIZATION: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.5.2\0"; +pub const szOID_LICENSES: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.6.1\0"; +pub const szOID_LICENSE_SERVER: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.6.2\0"; +pub const szOID_KP_SMARTCARD_LOGON: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.2\0"; +pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.1.1\0"; +pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.4.1\0"; +pub const szOID_REVOKED_LIST_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.19\0"; +pub const szOID_WINDOWS_KITS_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.20\0"; +pub const szOID_WINDOWS_RT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.21\0"; +pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.22\0"; +pub const szOID_WINDOWS_TCB_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.23\0"; +pub const szOID_PROTECTED_PROCESS_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.24\0"; +pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.25\0"; +pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.26\0"; +pub const szOID_DISALLOWED_LIST: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.30\0"; +pub const szOID_PIN_RULES_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.31\0"; +pub const szOID_PIN_RULES_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.32\0"; +pub const szOID_PIN_RULES_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.33\0"; +pub const szOID_PIN_RULES_DOMAIN_NAME: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.34\0"; +pub const szOID_PIN_RULES_LOG_END_DATE_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.35\0"; +pub const szOID_IUM_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.37\0"; +pub const szOID_EV_WHQL_CRYPTO: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.39\0"; +pub const szOID_BIOMETRIC_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.41\0"; +pub const szOID_ENCLAVE_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.42\0"; +pub const szOID_SYNC_ROOT_CTL_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.50\0"; +pub const szOID_HPKP_DOMAIN_NAME_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.60\0"; +pub const szOID_HPKP_HEADER_VALUE_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.61\0"; +pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.5.1\0"; +pub const szOID_WINDOWS_STORE_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.3.1\0"; +pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.5.1\0"; +pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.8.1\0"; +pub const szOID_YESNO_TRUST_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.1\0"; +pub const szOID_SITE_PIN_RULES_INDEX_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.2\0"; +pub const szOID_SITE_PIN_RULES_FLAGS_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.3\0"; +pub const SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG: u32 = 1; +pub const szOID_PKIX_POLICY_QUALIFIER_CPS: &[u8; 18usize] = b"1.3.6.1.5.5.7.2.1\0"; +pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &[u8; 18usize] = b"1.3.6.1.5.5.7.2.2\0"; +pub const szOID_ROOT_PROGRAM_FLAGS: &[u8; 23usize] = b"1.3.6.1.4.1.311.60.1.1\0"; +pub const CERT_ROOT_PROGRAM_FLAG_ORG: u32 = 128; +pub const CERT_ROOT_PROGRAM_FLAG_LSC: u32 = 64; +pub const CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO: u32 = 32; +pub const CERT_ROOT_PROGRAM_FLAG_OU: u32 = 16; +pub const CERT_ROOT_PROGRAM_FLAG_ADDRESS: u32 = 8; +pub const szOID_CERT_POLICIES_95_QUALIFIER1: &[u8; 26usize] = b"2.16.840.1.113733.1.7.1.1\0"; +pub const szOID_RDN_TPM_MANUFACTURER: &[u8; 13usize] = b"2.23.133.2.1\0"; +pub const szOID_RDN_TPM_MODEL: &[u8; 13usize] = b"2.23.133.2.2\0"; +pub const szOID_RDN_TPM_VERSION: &[u8; 13usize] = b"2.23.133.2.3\0"; +pub const szOID_RDN_TCG_PLATFORM_MANUFACTURER: &[u8; 13usize] = b"2.23.133.2.4\0"; +pub const szOID_RDN_TCG_PLATFORM_MODEL: &[u8; 13usize] = b"2.23.133.2.5\0"; +pub const szOID_RDN_TCG_PLATFORM_VERSION: &[u8; 13usize] = b"2.23.133.2.6\0"; +pub const szOID_CT_CERT_SCTLIST: &[u8; 24usize] = b"1.3.6.1.4.1.11129.2.4.2\0"; +pub const szOID_ENROLL_EK_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.23\0"; +pub const szOID_ENROLL_AIK_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.39\0"; +pub const szOID_ENROLL_ATTESTATION_STATEMENT: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.24\0"; +pub const szOID_ENROLL_KSP_NAME: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.25\0"; +pub const szOID_ENROLL_EKPUB_CHALLENGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.26\0"; +pub const szOID_ENROLL_CAXCHGCERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.27\0"; +pub const szOID_ENROLL_ATTESTATION_CHALLENGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.28\0"; +pub const szOID_ENROLL_ENCRYPTION_ALGORITHM: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.29\0"; +pub const szOID_KP_TPM_EK_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.1\0"; +pub const szOID_KP_TPM_PLATFORM_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.2\0"; +pub const szOID_KP_TPM_AIK_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.3\0"; +pub const szOID_ENROLL_EKVERIFYKEY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.30\0"; +pub const szOID_ENROLL_EKVERIFYCERT: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.31\0"; +pub const szOID_ENROLL_EKVERIFYCREDS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.32\0"; +pub const szOID_ENROLL_SCEP_ERROR: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.33\0"; +pub const szOID_ENROLL_SCEP_SERVER_STATE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.34\0"; +pub const szOID_ENROLL_SCEP_CHALLENGE_ANSWER: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.35\0"; +pub const szOID_ENROLL_SCEP_CLIENT_REQUEST: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.37\0"; +pub const szOID_ENROLL_SCEP_SERVER_MESSAGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.38\0"; +pub const szOID_ENROLL_SCEP_SERVER_SECRET: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.40\0"; +pub const szOID_ENROLL_KEY_AFFINITY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.41\0"; +pub const szOID_ENROLL_SCEP_SIGNER_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.42\0"; +pub const szOID_ENROLL_EK_CA_KEYID: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.43\0"; +pub const szOID_ATTR_SUPPORTED_ALGORITHMS: &[u8; 9usize] = b"2.5.4.52\0"; +pub const szOID_ATTR_TPM_SPECIFICATION: &[u8; 14usize] = b"2.23.133.2.16\0"; +pub const szOID_ATTR_PLATFORM_SPECIFICATION: &[u8; 14usize] = b"2.23.133.2.17\0"; +pub const szOID_ATTR_TPM_SECURITY_ASSERTIONS: &[u8; 14usize] = b"2.23.133.2.18\0"; +pub const CERT_UNICODE_RDN_ERR_INDEX_MASK: u32 = 1023; +pub const CERT_UNICODE_RDN_ERR_INDEX_SHIFT: u32 = 22; +pub const CERT_UNICODE_ATTR_ERR_INDEX_MASK: u32 = 63; +pub const CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: u32 = 16; +pub const CERT_UNICODE_VALUE_ERR_INDEX_MASK: u32 = 65535; +pub const CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: u32 = 0; +pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: u32 = 128; +pub const CERT_NON_REPUDIATION_KEY_USAGE: u32 = 64; +pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: u32 = 32; +pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: u32 = 16; +pub const CERT_KEY_AGREEMENT_KEY_USAGE: u32 = 8; +pub const CERT_KEY_CERT_SIGN_KEY_USAGE: u32 = 4; +pub const CERT_OFFLINE_CRL_SIGN_KEY_USAGE: u32 = 2; +pub const CERT_CRL_SIGN_KEY_USAGE: u32 = 2; +pub const CERT_ENCIPHER_ONLY_KEY_USAGE: u32 = 1; +pub const CERT_DECIPHER_ONLY_KEY_USAGE: u32 = 128; +pub const CERT_ALT_NAME_OTHER_NAME: u32 = 1; +pub const CERT_ALT_NAME_RFC822_NAME: u32 = 2; +pub const CERT_ALT_NAME_DNS_NAME: u32 = 3; +pub const CERT_ALT_NAME_X400_ADDRESS: u32 = 4; +pub const CERT_ALT_NAME_DIRECTORY_NAME: u32 = 5; +pub const CERT_ALT_NAME_EDI_PARTY_NAME: u32 = 6; +pub const CERT_ALT_NAME_URL: u32 = 7; +pub const CERT_ALT_NAME_IP_ADDRESS: u32 = 8; +pub const CERT_ALT_NAME_REGISTERED_ID: u32 = 9; +pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: u32 = 255; +pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: u32 = 16; +pub const CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: u32 = 65535; +pub const CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: u32 = 0; +pub const CERT_CA_SUBJECT_FLAG: u32 = 128; +pub const CERT_END_ENTITY_SUBJECT_FLAG: u32 = 64; +pub const szOID_PKIX_ACC_DESCR: &[u8; 17usize] = b"1.3.6.1.5.5.7.48\0"; +pub const szOID_PKIX_OCSP: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.1\0"; +pub const szOID_PKIX_CA_ISSUERS: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.2\0"; +pub const szOID_PKIX_TIME_STAMPING: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.3\0"; +pub const szOID_PKIX_CA_REPOSITORY: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.5\0"; +pub const CRL_REASON_UNSPECIFIED: u32 = 0; +pub const CRL_REASON_KEY_COMPROMISE: u32 = 1; +pub const CRL_REASON_CA_COMPROMISE: u32 = 2; +pub const CRL_REASON_AFFILIATION_CHANGED: u32 = 3; +pub const CRL_REASON_SUPERSEDED: u32 = 4; +pub const CRL_REASON_CESSATION_OF_OPERATION: u32 = 5; +pub const CRL_REASON_CERTIFICATE_HOLD: u32 = 6; +pub const CRL_REASON_REMOVE_FROM_CRL: u32 = 8; +pub const CRL_REASON_PRIVILEGE_WITHDRAWN: u32 = 9; +pub const CRL_REASON_AA_COMPROMISE: u32 = 10; +pub const CRL_DIST_POINT_NO_NAME: u32 = 0; +pub const CRL_DIST_POINT_FULL_NAME: u32 = 1; +pub const CRL_DIST_POINT_ISSUER_RDN_NAME: u32 = 2; +pub const CRL_REASON_UNUSED_FLAG: u32 = 128; +pub const CRL_REASON_KEY_COMPROMISE_FLAG: u32 = 64; +pub const CRL_REASON_CA_COMPROMISE_FLAG: u32 = 32; +pub const CRL_REASON_AFFILIATION_CHANGED_FLAG: u32 = 16; +pub const CRL_REASON_SUPERSEDED_FLAG: u32 = 8; +pub const CRL_REASON_CESSATION_OF_OPERATION_FLAG: u32 = 4; +pub const CRL_REASON_CERTIFICATE_HOLD_FLAG: u32 = 2; +pub const CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG: u32 = 1; +pub const CRL_REASON_AA_COMPROMISE_FLAG: u32 = 128; +pub const CRL_DIST_POINT_ERR_INDEX_MASK: u32 = 127; +pub const CRL_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24; +pub const CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: u32 = 2147483648; +pub const CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: u32 = 255; +pub const CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24; +pub const CERT_EXCLUDED_SUBTREE_BIT: u32 = 2147483648; +pub const SORTED_CTL_EXT_FLAGS_OFFSET: u32 = 0; +pub const SORTED_CTL_EXT_COUNT_OFFSET: u32 = 4; +pub const SORTED_CTL_EXT_MAX_COLLISION_OFFSET: u32 = 8; +pub const SORTED_CTL_EXT_HASH_BUCKET_OFFSET: u32 = 12; +pub const SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 1; +pub const CERT_DSS_R_LEN: u32 = 20; +pub const CERT_DSS_S_LEN: u32 = 20; +pub const CERT_DSS_SIGNATURE_LEN: u32 = 40; +pub const CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN: u32 = 48; +pub const CRYPT_X942_COUNTER_BYTE_LENGTH: u32 = 4; +pub const CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: u32 = 4; +pub const CRYPT_X942_PUB_INFO_BYTE_LENGTH: u32 = 64; +pub const CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH: u32 = 4; +pub const CRYPT_RC2_40BIT_VERSION: u32 = 160; +pub const CRYPT_RC2_56BIT_VERSION: u32 = 52; +pub const CRYPT_RC2_64BIT_VERSION: u32 = 120; +pub const CRYPT_RC2_128BIT_VERSION: u32 = 58; +pub const szOID_QC_EU_COMPLIANCE: &[u8; 15usize] = b"0.4.0.1862.1.1\0"; +pub const szOID_QC_SSCD: &[u8; 15usize] = b"0.4.0.1862.1.4\0"; +pub const PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC: u32 = 1; +pub const szOID_VERISIGN_PRIVATE_6_9: &[u8; 24usize] = b"2.16.840.1.113733.1.6.9\0"; +pub const szOID_VERISIGN_ONSITE_JURISDICTION_HASH: &[u8; 25usize] = b"2.16.840.1.113733.1.6.11\0"; +pub const szOID_VERISIGN_BITSTRING_6_13: &[u8; 25usize] = b"2.16.840.1.113733.1.6.13\0"; +pub const szOID_VERISIGN_ISS_STRONG_CRYPTO: &[u8; 24usize] = b"2.16.840.1.113733.1.8.1\0"; +pub const szOIDVerisign_MessageType: &[u8; 24usize] = b"2.16.840.1.113733.1.9.2\0"; +pub const szOIDVerisign_PkiStatus: &[u8; 24usize] = b"2.16.840.1.113733.1.9.3\0"; +pub const szOIDVerisign_FailInfo: &[u8; 24usize] = b"2.16.840.1.113733.1.9.4\0"; +pub const szOIDVerisign_SenderNonce: &[u8; 24usize] = b"2.16.840.1.113733.1.9.5\0"; +pub const szOIDVerisign_RecipientNonce: &[u8; 24usize] = b"2.16.840.1.113733.1.9.6\0"; +pub const szOIDVerisign_TransactionID: &[u8; 24usize] = b"2.16.840.1.113733.1.9.7\0"; +pub const szOID_NETSCAPE: &[u8; 18usize] = b"2.16.840.1.113730\0"; +pub const szOID_NETSCAPE_CERT_EXTENSION: &[u8; 20usize] = b"2.16.840.1.113730.1\0"; +pub const szOID_NETSCAPE_CERT_TYPE: &[u8; 22usize] = b"2.16.840.1.113730.1.1\0"; +pub const szOID_NETSCAPE_BASE_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.2\0"; +pub const szOID_NETSCAPE_REVOCATION_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.3\0"; +pub const szOID_NETSCAPE_CA_REVOCATION_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.4\0"; +pub const szOID_NETSCAPE_CERT_RENEWAL_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.7\0"; +pub const szOID_NETSCAPE_CA_POLICY_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.8\0"; +pub const szOID_NETSCAPE_SSL_SERVER_NAME: &[u8; 23usize] = b"2.16.840.1.113730.1.12\0"; +pub const szOID_NETSCAPE_COMMENT: &[u8; 23usize] = b"2.16.840.1.113730.1.13\0"; +pub const szOID_NETSCAPE_DATA_TYPE: &[u8; 20usize] = b"2.16.840.1.113730.2\0"; +pub const szOID_NETSCAPE_CERT_SEQUENCE: &[u8; 22usize] = b"2.16.840.1.113730.2.5\0"; +pub const NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: u32 = 128; +pub const NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: u32 = 64; +pub const NETSCAPE_SMIME_CERT_TYPE: u32 = 32; +pub const NETSCAPE_SIGN_CERT_TYPE: u32 = 16; +pub const NETSCAPE_SSL_CA_CERT_TYPE: u32 = 4; +pub const NETSCAPE_SMIME_CA_CERT_TYPE: u32 = 2; +pub const NETSCAPE_SIGN_CA_CERT_TYPE: u32 = 1; +pub const szOID_CT_PKI_DATA: &[u8; 19usize] = b"1.3.6.1.5.5.7.12.2\0"; +pub const szOID_CT_PKI_RESPONSE: &[u8; 19usize] = b"1.3.6.1.5.5.7.12.3\0"; +pub const szOID_PKIX_NO_SIGNATURE: &[u8; 18usize] = b"1.3.6.1.5.5.7.6.2\0"; +pub const szOID_CMC: &[u8; 16usize] = b"1.3.6.1.5.5.7.7\0"; +pub const szOID_CMC_STATUS_INFO: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.1\0"; +pub const szOID_CMC_IDENTIFICATION: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.2\0"; +pub const szOID_CMC_IDENTITY_PROOF: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.3\0"; +pub const szOID_CMC_DATA_RETURN: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.4\0"; +pub const szOID_CMC_TRANSACTION_ID: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.5\0"; +pub const szOID_CMC_SENDER_NONCE: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.6\0"; +pub const szOID_CMC_RECIPIENT_NONCE: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.7\0"; +pub const szOID_CMC_ADD_EXTENSIONS: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.8\0"; +pub const szOID_CMC_ENCRYPTED_POP: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.9\0"; +pub const szOID_CMC_DECRYPTED_POP: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.10\0"; +pub const szOID_CMC_LRA_POP_WITNESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.11\0"; +pub const szOID_CMC_GET_CERT: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.15\0"; +pub const szOID_CMC_GET_CRL: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.16\0"; +pub const szOID_CMC_REVOKE_REQUEST: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.17\0"; +pub const szOID_CMC_REG_INFO: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.18\0"; +pub const szOID_CMC_RESPONSE_INFO: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.19\0"; +pub const szOID_CMC_QUERY_PENDING: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.21\0"; +pub const szOID_CMC_ID_POP_LINK_RANDOM: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.22\0"; +pub const szOID_CMC_ID_POP_LINK_WITNESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.23\0"; +pub const szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.24\0"; +pub const szOID_CMC_ADD_ATTRIBUTES: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.10.1\0"; +pub const CMC_TAGGED_CERT_REQUEST_CHOICE: u32 = 1; +pub const CMC_OTHER_INFO_NO_CHOICE: u32 = 0; +pub const CMC_OTHER_INFO_FAIL_CHOICE: u32 = 1; +pub const CMC_OTHER_INFO_PEND_CHOICE: u32 = 2; +pub const CMC_STATUS_SUCCESS: u32 = 0; +pub const CMC_STATUS_FAILED: u32 = 2; +pub const CMC_STATUS_PENDING: u32 = 3; +pub const CMC_STATUS_NO_SUPPORT: u32 = 4; +pub const CMC_STATUS_CONFIRM_REQUIRED: u32 = 5; +pub const CMC_FAIL_BAD_ALG: u32 = 0; +pub const CMC_FAIL_BAD_MESSAGE_CHECK: u32 = 1; +pub const CMC_FAIL_BAD_REQUEST: u32 = 2; +pub const CMC_FAIL_BAD_TIME: u32 = 3; +pub const CMC_FAIL_BAD_CERT_ID: u32 = 4; +pub const CMC_FAIL_UNSUPORTED_EXT: u32 = 5; +pub const CMC_FAIL_MUST_ARCHIVE_KEYS: u32 = 6; +pub const CMC_FAIL_BAD_IDENTITY: u32 = 7; +pub const CMC_FAIL_POP_REQUIRED: u32 = 8; +pub const CMC_FAIL_POP_FAILED: u32 = 9; +pub const CMC_FAIL_NO_KEY_REUSE: u32 = 10; +pub const CMC_FAIL_INTERNAL_CA_ERROR: u32 = 11; +pub const CMC_FAIL_TRY_LATER: u32 = 12; +pub const CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE: u32 = 2; +pub const CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE: u32 = 0; +pub const CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE: u32 = 2; +pub const CERT_LOGOTYPE_DIRECT_INFO_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_INDIRECT_INFO_CHOICE: u32 = 2; +pub const szOID_LOYALTY_OTHER_LOGOTYPE: &[u8; 19usize] = b"1.3.6.1.5.5.7.20.1\0"; +pub const szOID_BACKGROUND_OTHER_LOGOTYPE: &[u8; 19usize] = b"1.3.6.1.5.5.7.20.2\0"; +pub const CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE: u32 = 1; +pub const CERT_BIOMETRIC_OID_DATA_CHOICE: u32 = 2; +pub const CERT_BIOMETRIC_PICTURE_TYPE: u32 = 0; +pub const CERT_BIOMETRIC_SIGNATURE_TYPE: u32 = 1; +pub const OCSP_REQUEST_V1: u32 = 0; +pub const OCSP_SUCCESSFUL_RESPONSE: u32 = 0; +pub const OCSP_MALFORMED_REQUEST_RESPONSE: u32 = 1; +pub const OCSP_INTERNAL_ERROR_RESPONSE: u32 = 2; +pub const OCSP_TRY_LATER_RESPONSE: u32 = 3; +pub const OCSP_SIG_REQUIRED_RESPONSE: u32 = 5; +pub const OCSP_UNAUTHORIZED_RESPONSE: u32 = 6; +pub const szOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.1\0"; +pub const OCSP_BASIC_GOOD_CERT_STATUS: u32 = 0; +pub const OCSP_BASIC_REVOKED_CERT_STATUS: u32 = 1; +pub const OCSP_BASIC_UNKNOWN_CERT_STATUS: u32 = 2; +pub const OCSP_BASIC_RESPONSE_V1: u32 = 0; +pub const OCSP_BASIC_BY_NAME_RESPONDER_ID: u32 = 1; +pub const OCSP_BASIC_BY_KEY_RESPONDER_ID: u32 = 2; +pub const CRYPT_OID_ENCODE_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllEncodeObject\0"; +pub const CRYPT_OID_DECODE_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllDecodeObject\0"; +pub const CRYPT_OID_ENCODE_OBJECT_EX_FUNC: &[u8; 23usize] = b"CryptDllEncodeObjectEx\0"; +pub const CRYPT_OID_DECODE_OBJECT_EX_FUNC: &[u8; 23usize] = b"CryptDllDecodeObjectEx\0"; +pub const CRYPT_OID_CREATE_COM_OBJECT_FUNC: &[u8; 24usize] = b"CryptDllCreateCOMObject\0"; +pub const CRYPT_OID_VERIFY_REVOCATION_FUNC: &[u8; 24usize] = b"CertDllVerifyRevocation\0"; +pub const CRYPT_OID_VERIFY_CTL_USAGE_FUNC: &[u8; 22usize] = b"CertDllVerifyCTLUsage\0"; +pub const CRYPT_OID_FORMAT_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllFormatObject\0"; +pub const CRYPT_OID_FIND_OID_INFO_FUNC: &[u8; 20usize] = b"CryptDllFindOIDInfo\0"; +pub const CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: &[u8; 26usize] = b"CryptDllFindLocalizedName\0"; +pub const CRYPT_OID_REGPATH: &[u8; 36usize] = b"Software\\Microsoft\\Cryptography\\OID\0"; +pub const CRYPT_OID_REG_ENCODING_TYPE_PREFIX: &[u8; 14usize] = b"EncodingType \0"; +pub const CRYPT_OID_REG_DLL_VALUE_NAME: &[u8; 4usize] = b"Dll\0"; +pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: &[u8; 9usize] = b"FuncName\0"; +pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A: &[u8; 9usize] = b"FuncName\0"; +pub const CRYPT_OID_REG_FLAGS_VALUE_NAME: &[u8; 11usize] = b"CryptFlags\0"; +pub const CRYPT_DEFAULT_OID: &[u8; 8usize] = b"DEFAULT\0"; +pub const CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: u32 = 1; +pub const CRYPT_GET_INSTALLED_OID_FUNC_FLAG: u32 = 1; +pub const CRYPT_REGISTER_FIRST_INDEX: u32 = 0; +pub const CRYPT_REGISTER_LAST_INDEX: u32 = 4294967295; +pub const CRYPT_MATCH_ANY_ENCODING_TYPE: u32 = 4294967295; +pub const CALG_OID_INFO_CNG_ONLY: u32 = 4294967295; +pub const CALG_OID_INFO_PARAMETERS: u32 = 4294967294; +pub const CRYPT_OID_INFO_HASH_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoHashParameters\0"; +pub const CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM: &[u8; 26usize] = b"CryptOIDInfoECCParameters\0"; +pub const CRYPT_OID_INFO_MGF1_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoMgf1Parameters\0"; +pub const CRYPT_OID_INFO_NO_SIGN_ALGORITHM: &[u8; 19usize] = b"CryptOIDInfoNoSign\0"; +pub const CRYPT_OID_INFO_OAEP_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoOAEPParameters\0"; +pub const CRYPT_OID_INFO_ECC_WRAP_PARAMETERS_ALGORITHM: &[u8; 30usize] = + b"CryptOIDInfoECCWrapParameters\0"; +pub const CRYPT_OID_INFO_NO_PARAMETERS_ALGORITHM: &[u8; 25usize] = b"CryptOIDInfoNoParameters\0"; +pub const CRYPT_HASH_ALG_OID_GROUP_ID: u32 = 1; +pub const CRYPT_ENCRYPT_ALG_OID_GROUP_ID: u32 = 2; +pub const CRYPT_PUBKEY_ALG_OID_GROUP_ID: u32 = 3; +pub const CRYPT_SIGN_ALG_OID_GROUP_ID: u32 = 4; +pub const CRYPT_RDN_ATTR_OID_GROUP_ID: u32 = 5; +pub const CRYPT_EXT_OR_ATTR_OID_GROUP_ID: u32 = 6; +pub const CRYPT_ENHKEY_USAGE_OID_GROUP_ID: u32 = 7; +pub const CRYPT_POLICY_OID_GROUP_ID: u32 = 8; +pub const CRYPT_TEMPLATE_OID_GROUP_ID: u32 = 9; +pub const CRYPT_KDF_OID_GROUP_ID: u32 = 10; +pub const CRYPT_LAST_OID_GROUP_ID: u32 = 10; +pub const CRYPT_FIRST_ALG_OID_GROUP_ID: u32 = 1; +pub const CRYPT_LAST_ALG_OID_GROUP_ID: u32 = 4; +pub const CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: u32 = 1; +pub const CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: u32 = 2; +pub const CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: u32 = 4; +pub const CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG: u32 = 2147483648; +pub const CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG: u32 = 1073741824; +pub const CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG: u32 = 536870912; +pub const CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG: u32 = 268435456; +pub const CRYPT_OID_INFO_OID_KEY: u32 = 1; +pub const CRYPT_OID_INFO_NAME_KEY: u32 = 2; +pub const CRYPT_OID_INFO_ALGID_KEY: u32 = 3; +pub const CRYPT_OID_INFO_SIGN_KEY: u32 = 4; +pub const CRYPT_OID_INFO_CNG_ALGID_KEY: u32 = 5; +pub const CRYPT_OID_INFO_CNG_SIGN_KEY: u32 = 6; +pub const CRYPT_OID_INFO_OID_KEY_FLAGS_MASK: u32 = 4294901760; +pub const CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG: u32 = 2147483648; +pub const CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG: u32 = 1073741824; +pub const CRYPT_OID_DISABLE_SEARCH_DS_FLAG: u32 = 2147483648; +pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK: u32 = 268369920; +pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT: u32 = 16; +pub const CRYPT_INSTALL_OID_INFO_BEFORE_FLAG: u32 = 1; +pub const CRYPT_LOCALIZED_NAME_ENCODING_TYPE: u32 = 0; +pub const CRYPT_LOCALIZED_NAME_OID: &[u8; 15usize] = b"LocalizedNames\0"; +pub const CERT_STRONG_SIGN_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE: u32 = 1; +pub const CERT_STRONG_SIGN_OID_INFO_CHOICE: u32 = 2; +pub const CERT_STRONG_SIGN_ENABLE_CRL_CHECK: u32 = 1; +pub const CERT_STRONG_SIGN_ENABLE_OCSP_CHECK: u32 = 2; +pub const szOID_CERT_STRONG_SIGN_OS_PREFIX: &[u8; 22usize] = b"1.3.6.1.4.1.311.72.1.\0"; +pub const szOID_CERT_STRONG_SIGN_OS_1: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; +pub const szOID_CERT_STRONG_SIGN_OS_CURRENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; +pub const szOID_CERT_STRONG_KEY_OS_PREFIX: &[u8; 22usize] = b"1.3.6.1.4.1.311.72.2.\0"; +pub const szOID_CERT_STRONG_KEY_OS_1: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; +pub const szOID_CERT_STRONG_KEY_OS_CURRENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; +pub const szOID_PKCS_7_DATA: &[u8; 21usize] = b"1.2.840.113549.1.7.1\0"; +pub const szOID_PKCS_7_SIGNED: &[u8; 21usize] = b"1.2.840.113549.1.7.2\0"; +pub const szOID_PKCS_7_ENVELOPED: &[u8; 21usize] = b"1.2.840.113549.1.7.3\0"; +pub const szOID_PKCS_7_SIGNEDANDENVELOPED: &[u8; 21usize] = b"1.2.840.113549.1.7.4\0"; +pub const szOID_PKCS_7_DIGESTED: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_PKCS_7_ENCRYPTED: &[u8; 21usize] = b"1.2.840.113549.1.7.6\0"; +pub const szOID_PKCS_9_CONTENT_TYPE: &[u8; 21usize] = b"1.2.840.113549.1.9.3\0"; +pub const szOID_PKCS_9_MESSAGE_DIGEST: &[u8; 21usize] = b"1.2.840.113549.1.9.4\0"; +pub const CMSG_DATA: u32 = 1; +pub const CMSG_SIGNED: u32 = 2; +pub const CMSG_ENVELOPED: u32 = 3; +pub const CMSG_SIGNED_AND_ENVELOPED: u32 = 4; +pub const CMSG_HASHED: u32 = 5; +pub const CMSG_ENCRYPTED: u32 = 6; +pub const CMSG_ALL_FLAGS: i32 = -1; +pub const CMSG_DATA_FLAG: u32 = 2; +pub const CMSG_SIGNED_FLAG: u32 = 4; +pub const CMSG_ENVELOPED_FLAG: u32 = 8; +pub const CMSG_SIGNED_AND_ENVELOPED_FLAG: u32 = 16; +pub const CMSG_HASHED_FLAG: u32 = 32; +pub const CMSG_ENCRYPTED_FLAG: u32 = 64; +pub const CERT_ID_ISSUER_SERIAL_NUMBER: u32 = 1; +pub const CERT_ID_KEY_IDENTIFIER: u32 = 2; +pub const CERT_ID_SHA1_HASH: u32 = 3; +pub const CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: u32 = 1; +pub const CMSG_KEY_AGREE_STATIC_KEY_CHOICE: u32 = 2; +pub const CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: u32 = 1; +pub const CMSG_KEY_TRANS_RECIPIENT: u32 = 1; +pub const CMSG_KEY_AGREE_RECIPIENT: u32 = 2; +pub const CMSG_MAIL_LIST_RECIPIENT: u32 = 3; +pub const CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: u32 = 2147483648; +pub const CMSG_RC4_NO_SALT_FLAG: u32 = 1073741824; +pub const CMSG_INDEFINITE_LENGTH: u32 = 4294967295; +pub const CMSG_BARE_CONTENT_FLAG: u32 = 1; +pub const CMSG_LENGTH_ONLY_FLAG: u32 = 2; +pub const CMSG_DETACHED_FLAG: u32 = 4; +pub const CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: u32 = 8; +pub const CMSG_CONTENTS_OCTETS_FLAG: u32 = 16; +pub const CMSG_MAX_LENGTH_FLAG: u32 = 32; +pub const CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: u32 = 64; +pub const CMSG_SIGNED_DATA_NO_SIGN_FLAG: u32 = 128; +pub const CMSG_CRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768; +pub const CMSG_TYPE_PARAM: u32 = 1; +pub const CMSG_CONTENT_PARAM: u32 = 2; +pub const CMSG_BARE_CONTENT_PARAM: u32 = 3; +pub const CMSG_INNER_CONTENT_TYPE_PARAM: u32 = 4; +pub const CMSG_SIGNER_COUNT_PARAM: u32 = 5; +pub const CMSG_SIGNER_INFO_PARAM: u32 = 6; +pub const CMSG_SIGNER_CERT_INFO_PARAM: u32 = 7; +pub const CMSG_SIGNER_HASH_ALGORITHM_PARAM: u32 = 8; +pub const CMSG_SIGNER_AUTH_ATTR_PARAM: u32 = 9; +pub const CMSG_SIGNER_UNAUTH_ATTR_PARAM: u32 = 10; +pub const CMSG_CERT_COUNT_PARAM: u32 = 11; +pub const CMSG_CERT_PARAM: u32 = 12; +pub const CMSG_CRL_COUNT_PARAM: u32 = 13; +pub const CMSG_CRL_PARAM: u32 = 14; +pub const CMSG_ENVELOPE_ALGORITHM_PARAM: u32 = 15; +pub const CMSG_RECIPIENT_COUNT_PARAM: u32 = 17; +pub const CMSG_RECIPIENT_INDEX_PARAM: u32 = 18; +pub const CMSG_RECIPIENT_INFO_PARAM: u32 = 19; +pub const CMSG_HASH_ALGORITHM_PARAM: u32 = 20; +pub const CMSG_HASH_DATA_PARAM: u32 = 21; +pub const CMSG_COMPUTED_HASH_PARAM: u32 = 22; +pub const CMSG_ENCRYPT_PARAM: u32 = 26; +pub const CMSG_ENCRYPTED_DIGEST: u32 = 27; +pub const CMSG_ENCODED_SIGNER: u32 = 28; +pub const CMSG_ENCODED_MESSAGE: u32 = 29; +pub const CMSG_VERSION_PARAM: u32 = 30; +pub const CMSG_ATTR_CERT_COUNT_PARAM: u32 = 31; +pub const CMSG_ATTR_CERT_PARAM: u32 = 32; +pub const CMSG_CMS_RECIPIENT_COUNT_PARAM: u32 = 33; +pub const CMSG_CMS_RECIPIENT_INDEX_PARAM: u32 = 34; +pub const CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: u32 = 35; +pub const CMSG_CMS_RECIPIENT_INFO_PARAM: u32 = 36; +pub const CMSG_UNPROTECTED_ATTR_PARAM: u32 = 37; +pub const CMSG_SIGNER_CERT_ID_PARAM: u32 = 38; +pub const CMSG_CMS_SIGNER_INFO_PARAM: u32 = 39; +pub const CMSG_SIGNED_DATA_V1: u32 = 1; +pub const CMSG_SIGNED_DATA_V3: u32 = 3; +pub const CMSG_SIGNED_DATA_PKCS_1_5_VERSION: u32 = 1; +pub const CMSG_SIGNED_DATA_CMS_VERSION: u32 = 3; +pub const CMSG_SIGNER_INFO_V1: u32 = 1; +pub const CMSG_SIGNER_INFO_V3: u32 = 3; +pub const CMSG_SIGNER_INFO_PKCS_1_5_VERSION: u32 = 1; +pub const CMSG_SIGNER_INFO_CMS_VERSION: u32 = 3; +pub const CMSG_HASHED_DATA_V0: u32 = 0; +pub const CMSG_HASHED_DATA_V2: u32 = 2; +pub const CMSG_HASHED_DATA_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_HASHED_DATA_CMS_VERSION: u32 = 2; +pub const CMSG_ENVELOPED_DATA_V0: u32 = 0; +pub const CMSG_ENVELOPED_DATA_V2: u32 = 2; +pub const CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_ENVELOPED_DATA_CMS_VERSION: u32 = 2; +pub const CMSG_KEY_AGREE_ORIGINATOR_CERT: u32 = 1; +pub const CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: u32 = 2; +pub const CMSG_ENVELOPED_RECIPIENT_V0: u32 = 0; +pub const CMSG_ENVELOPED_RECIPIENT_V2: u32 = 2; +pub const CMSG_ENVELOPED_RECIPIENT_V3: u32 = 3; +pub const CMSG_ENVELOPED_RECIPIENT_V4: u32 = 4; +pub const CMSG_KEY_TRANS_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_KEY_TRANS_CMS_VERSION: u32 = 2; +pub const CMSG_KEY_AGREE_VERSION: u32 = 3; +pub const CMSG_MAIL_LIST_VERSION: u32 = 4; +pub const CMSG_CTRL_VERIFY_SIGNATURE: u32 = 1; +pub const CMSG_CTRL_DECRYPT: u32 = 2; +pub const CMSG_CTRL_VERIFY_HASH: u32 = 5; +pub const CMSG_CTRL_ADD_SIGNER: u32 = 6; +pub const CMSG_CTRL_DEL_SIGNER: u32 = 7; +pub const CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: u32 = 8; +pub const CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: u32 = 9; +pub const CMSG_CTRL_ADD_CERT: u32 = 10; +pub const CMSG_CTRL_DEL_CERT: u32 = 11; +pub const CMSG_CTRL_ADD_CRL: u32 = 12; +pub const CMSG_CTRL_DEL_CRL: u32 = 13; +pub const CMSG_CTRL_ADD_ATTR_CERT: u32 = 14; +pub const CMSG_CTRL_DEL_ATTR_CERT: u32 = 15; +pub const CMSG_CTRL_KEY_TRANS_DECRYPT: u32 = 16; +pub const CMSG_CTRL_KEY_AGREE_DECRYPT: u32 = 17; +pub const CMSG_CTRL_MAIL_LIST_DECRYPT: u32 = 18; +pub const CMSG_CTRL_VERIFY_SIGNATURE_EX: u32 = 19; +pub const CMSG_CTRL_ADD_CMS_SIGNER_INFO: u32 = 20; +pub const CMSG_CTRL_ENABLE_STRONG_SIGNATURE: u32 = 21; +pub const CMSG_VERIFY_SIGNER_PUBKEY: u32 = 1; +pub const CMSG_VERIFY_SIGNER_CERT: u32 = 2; +pub const CMSG_VERIFY_SIGNER_CHAIN: u32 = 3; +pub const CMSG_VERIFY_SIGNER_NULL: u32 = 4; +pub const CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG: u32 = 1; +pub const CMSG_OID_GEN_ENCRYPT_KEY_FUNC: &[u8; 25usize] = b"CryptMsgDllGenEncryptKey\0"; +pub const CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: &[u8; 28usize] = b"CryptMsgDllExportEncryptKey\0"; +pub const CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: &[u8; 28usize] = b"CryptMsgDllImportEncryptKey\0"; +pub const CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: u32 = 1; +pub const CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768; +pub const CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 32usize] = + b"CryptMsgDllGenContentEncryptKey\0"; +pub const CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 32usize] = + b"CryptMsgDllGenContentEncryptKey\0"; +pub const CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 35usize] = + b"CryptMsgDllCNGGenContentEncryptKey\0"; +pub const CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_OID_EXPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; +pub const CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; +pub const CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGExportKeyTrans\0"; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: u32 = 2; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: u32 = 4; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: u32 = 8; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: u32 = 16; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG: u32 = 32; +pub const CMSG_OID_EXPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; +pub const CMSG_OID_CAPI1_EXPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; +pub const CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGExportKeyAgree\0"; +pub const CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_OID_EXPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllExportMailList\0"; +pub const CMSG_OID_CAPI1_EXPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllExportMailList\0"; +pub const CMSG_OID_IMPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; +pub const CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; +pub const CMSG_OID_IMPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; +pub const CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; +pub const CMSG_OID_IMPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllImportMailList\0"; +pub const CMSG_OID_CAPI1_IMPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllImportMailList\0"; +pub const CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGImportKeyTrans\0"; +pub const CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGImportKeyAgree\0"; +pub const CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 38usize] = + b"CryptMsgDllCNGImportContentEncryptKey\0"; +pub const CERT_KEY_PROV_HANDLE_PROP_ID: u32 = 1; +pub const CERT_KEY_PROV_INFO_PROP_ID: u32 = 2; +pub const CERT_SHA1_HASH_PROP_ID: u32 = 3; +pub const CERT_MD5_HASH_PROP_ID: u32 = 4; +pub const CERT_HASH_PROP_ID: u32 = 3; +pub const CERT_KEY_CONTEXT_PROP_ID: u32 = 5; +pub const CERT_KEY_SPEC_PROP_ID: u32 = 6; +pub const CERT_IE30_RESERVED_PROP_ID: u32 = 7; +pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: u32 = 8; +pub const CERT_ENHKEY_USAGE_PROP_ID: u32 = 9; +pub const CERT_CTL_USAGE_PROP_ID: u32 = 9; +pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: u32 = 10; +pub const CERT_FRIENDLY_NAME_PROP_ID: u32 = 11; +pub const CERT_PVK_FILE_PROP_ID: u32 = 12; +pub const CERT_DESCRIPTION_PROP_ID: u32 = 13; +pub const CERT_ACCESS_STATE_PROP_ID: u32 = 14; +pub const CERT_SIGNATURE_HASH_PROP_ID: u32 = 15; +pub const CERT_SMART_CARD_DATA_PROP_ID: u32 = 16; +pub const CERT_EFS_PROP_ID: u32 = 17; +pub const CERT_FORTEZZA_DATA_PROP_ID: u32 = 18; +pub const CERT_ARCHIVED_PROP_ID: u32 = 19; +pub const CERT_KEY_IDENTIFIER_PROP_ID: u32 = 20; +pub const CERT_AUTO_ENROLL_PROP_ID: u32 = 21; +pub const CERT_PUBKEY_ALG_PARA_PROP_ID: u32 = 22; +pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: u32 = 23; +pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 24; +pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 25; +pub const CERT_ENROLLMENT_PROP_ID: u32 = 26; +pub const CERT_DATE_STAMP_PROP_ID: u32 = 27; +pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: u32 = 28; +pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: u32 = 29; +pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: u32 = 30; +pub const CERT_RENEWAL_PROP_ID: u32 = 64; +pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: u32 = 65; +pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: u32 = 66; +pub const CERT_AIA_URL_RETRIEVED_PROP_ID: u32 = 67; +pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 68; +pub const CERT_BACKED_UP_PROP_ID: u32 = 69; +pub const CERT_OCSP_RESPONSE_PROP_ID: u32 = 70; +pub const CERT_REQUEST_ORIGINATOR_PROP_ID: u32 = 71; +pub const CERT_SOURCE_LOCATION_PROP_ID: u32 = 72; +pub const CERT_SOURCE_URL_PROP_ID: u32 = 73; +pub const CERT_NEW_KEY_PROP_ID: u32 = 74; +pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: u32 = 75; +pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: u32 = 76; +pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: u32 = 77; +pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 78; +pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 79; +pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: u32 = 80; +pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 81; +pub const CERT_CA_DISABLE_CRL_PROP_ID: u32 = 82; +pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: u32 = 83; +pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: u32 = 84; +pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 85; +pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: u32 = 86; +pub const CERT_CEP_PROP_ID: u32 = 87; +pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 89; +pub const CERT_SCARD_PIN_ID_PROP_ID: u32 = 90; +pub const CERT_SCARD_PIN_INFO_PROP_ID: u32 = 91; +pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 92; +pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 93; +pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 94; +pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 95; +pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 96; +pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: u32 = 97; +pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: u32 = 98; +pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: u32 = 99; +pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: u32 = 100; +pub const CERT_SMART_CARD_READER_PROP_ID: u32 = 101; +pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: u32 = 102; +pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: u32 = 103; +pub const CERT_DISALLOWED_FILETIME_PROP_ID: u32 = 104; +pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: u32 = 105; +pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: u32 = 106; +pub const CERT_SHA256_HASH_PROP_ID: u32 = 107; +pub const CERT_SCEP_SERVER_CERTS_PROP_ID: u32 = 108; +pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: u32 = 109; +pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: u32 = 110; +pub const CERT_SCEP_CA_CERT_PROP_ID: u32 = 111; +pub const CERT_SCEP_SIGNER_CERT_PROP_ID: u32 = 112; +pub const CERT_SCEP_NONCE_PROP_ID: u32 = 113; +pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: u32 = 114; +pub const CERT_SCEP_FLAGS_PROP_ID: u32 = 115; +pub const CERT_SCEP_GUID_PROP_ID: u32 = 116; +pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: u32 = 117; +pub const CERT_ISOLATED_KEY_PROP_ID: u32 = 118; +pub const CERT_SERIAL_CHAIN_PROP_ID: u32 = 119; +pub const CERT_KEY_CLASSIFICATION_PROP_ID: u32 = 120; +pub const CERT_OCSP_MUST_STAPLE_PROP_ID: u32 = 121; +pub const CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID: u32 = 122; +pub const CERT_NONCOMPLIANT_ROOT_URL_PROP_ID: u32 = 123; +pub const CERT_PIN_SHA256_HASH_PROP_ID: u32 = 124; +pub const CERT_CLR_DELETE_KEY_PROP_ID: u32 = 125; +pub const CERT_NOT_BEFORE_FILETIME_PROP_ID: u32 = 126; +pub const CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID: u32 = 127; +pub const CERT_FIRST_RESERVED_PROP_ID: u32 = 128; +pub const CERT_LAST_RESERVED_PROP_ID: u32 = 32767; +pub const CERT_FIRST_USER_PROP_ID: u32 = 32768; +pub const CERT_LAST_USER_PROP_ID: u32 = 65535; +pub const szOID_CERT_PROP_ID_PREFIX: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.11.\0"; +pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.20\0"; +pub const szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: &[u8; 25usize] = + b"1.3.6.1.4.1.311.10.11.28\0"; +pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.29\0"; +pub const szOID_CERT_MD5_HASH_PROP_ID: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.11.4\0"; +pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; +pub const szOID_DISALLOWED_HASH: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; +pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &[u8; 26usize] = b"1.3.6.1.4.1.311.10.11.104\0"; +pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: u32 = 1; +pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: u32 = 2; +pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: u32 = 4; +pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: u32 = 8; +pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: u32 = 16; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION: &[u8; 23usize] = + b"1.3.6.1.4.1.311.60.3.1\0"; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &[u8; 23usize] = + b"1.3.6.1.4.1.311.60.3.2\0"; +pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &[u8; 23usize] = b"1.3.6.1.4.1.311.60.3.3\0"; +pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: u32 = 1; +pub const CERT_SET_KEY_CONTEXT_PROP_ID: u32 = 1; +pub const CERT_NCRYPT_KEY_SPEC: u32 = 4294967295; +pub const sz_CERT_STORE_PROV_MEMORY: &[u8; 7usize] = b"Memory\0"; +pub const sz_CERT_STORE_PROV_FILENAME_W: &[u8; 5usize] = b"File\0"; +pub const sz_CERT_STORE_PROV_FILENAME: &[u8; 5usize] = b"File\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_W: &[u8; 7usize] = b"System\0"; +pub const sz_CERT_STORE_PROV_SYSTEM: &[u8; 7usize] = b"System\0"; +pub const sz_CERT_STORE_PROV_PKCS7: &[u8; 6usize] = b"PKCS7\0"; +pub const sz_CERT_STORE_PROV_PKCS12: &[u8; 7usize] = b"PKCS12\0"; +pub const sz_CERT_STORE_PROV_SERIALIZED: &[u8; 11usize] = b"Serialized\0"; +pub const sz_CERT_STORE_PROV_COLLECTION: &[u8; 11usize] = b"Collection\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: &[u8; 15usize] = b"SystemRegistry\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY: &[u8; 15usize] = b"SystemRegistry\0"; +pub const sz_CERT_STORE_PROV_PHYSICAL_W: &[u8; 9usize] = b"Physical\0"; +pub const sz_CERT_STORE_PROV_PHYSICAL: &[u8; 9usize] = b"Physical\0"; +pub const sz_CERT_STORE_PROV_SMART_CARD_W: &[u8; 10usize] = b"SmartCard\0"; +pub const sz_CERT_STORE_PROV_SMART_CARD: &[u8; 10usize] = b"SmartCard\0"; +pub const sz_CERT_STORE_PROV_LDAP_W: &[u8; 5usize] = b"Ldap\0"; +pub const sz_CERT_STORE_PROV_LDAP: &[u8; 5usize] = b"Ldap\0"; +pub const CERT_STORE_SIGNATURE_FLAG: u32 = 1; +pub const CERT_STORE_TIME_VALIDITY_FLAG: u32 = 2; +pub const CERT_STORE_REVOCATION_FLAG: u32 = 4; +pub const CERT_STORE_NO_CRL_FLAG: u32 = 65536; +pub const CERT_STORE_NO_ISSUER_FLAG: u32 = 131072; +pub const CERT_STORE_BASE_CRL_FLAG: u32 = 256; +pub const CERT_STORE_DELTA_CRL_FLAG: u32 = 512; +pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: u32 = 1; +pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: u32 = 2; +pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: u32 = 4; +pub const CERT_STORE_DELETE_FLAG: u32 = 16; +pub const CERT_STORE_UNSAFE_PHYSICAL_FLAG: u32 = 32; +pub const CERT_STORE_SHARE_STORE_FLAG: u32 = 64; +pub const CERT_STORE_SHARE_CONTEXT_FLAG: u32 = 128; +pub const CERT_STORE_MANIFOLD_FLAG: u32 = 256; +pub const CERT_STORE_ENUM_ARCHIVED_FLAG: u32 = 512; +pub const CERT_STORE_UPDATE_KEYID_FLAG: u32 = 1024; +pub const CERT_STORE_BACKUP_RESTORE_FLAG: u32 = 2048; +pub const CERT_STORE_READONLY_FLAG: u32 = 32768; +pub const CERT_STORE_OPEN_EXISTING_FLAG: u32 = 16384; +pub const CERT_STORE_CREATE_NEW_FLAG: u32 = 8192; +pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: u32 = 4096; +pub const CERT_SYSTEM_STORE_MASK: u32 = 4294901760; +pub const CERT_SYSTEM_STORE_RELOCATE_FLAG: u32 = 2147483648; +pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: u32 = 1073741824; +pub const CERT_SYSTEM_STORE_DEFER_READ_FLAG: u32 = 536870912; +pub const CERT_SYSTEM_STORE_LOCATION_MASK: u32 = 16711680; +pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: u32 = 16; +pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: u32 = 1; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: u32 = 2; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: u32 = 4; +pub const CERT_SYSTEM_STORE_SERVICES_ID: u32 = 5; +pub const CERT_SYSTEM_STORE_USERS_ID: u32 = 6; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: u32 = 7; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: u32 = 8; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: u32 = 9; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID: u32 = 10; +pub const CERT_SYSTEM_STORE_CURRENT_USER: u32 = 65536; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE: u32 = 131072; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE: u32 = 262144; +pub const CERT_SYSTEM_STORE_SERVICES: u32 = 327680; +pub const CERT_SYSTEM_STORE_USERS: u32 = 393216; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: u32 = 458752; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: u32 = 524288; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: u32 = 589824; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS: u32 = 655360; +pub const CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH: &[u8; 47usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\0"; +pub const CERT_EFSBLOB_REGPATH: &[u8; 51usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\EFS\0"; +pub const CERT_EFSBLOB_VALUE_NAME: &[u8; 8usize] = b"EFSBlob\0"; +pub const CERT_PROT_ROOT_FLAGS_REGPATH: &[u8; 67usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\Root\\ProtectedRoots\0"; +pub const CERT_PROT_ROOT_FLAGS_VALUE_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: u32 = 1; +pub const CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: u32 = 2; +pub const CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: u32 = 4; +pub const CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: u32 = 8; +pub const CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: u32 = 8; +pub const CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: u32 = 16; +pub const CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: u32 = 32; +pub const CERT_PROT_ROOT_DISABLE_PEER_TRUST: u32 = 65536; +pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME: &[u8; 11usize] = b"PeerUsages\0"; +pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A: &[u8; 11usize] = b"PeerUsages\0"; +pub const CERT_PROT_ROOT_PEER_USAGES_DEFAULT_A: &[u8; 60usize] = + b"1.3.6.1.5.5.7.3.2\01.3.6.1.5.5.7.3.4\01.3.6.1.4.1.311.10.3.4\0\0"; +pub const CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH: &[u8; 70usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; +pub const CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: &[u8; 38usize] = + b"Software\\Microsoft\\SystemCertificates\0"; +pub const CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: &[u8; 61usize] = + b"Software\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; +pub const CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: &[u8; 18usize] = b"AuthenticodeFlags\0"; +pub const CERT_TRUST_PUB_ALLOW_TRUST_MASK: u32 = 3; +pub const CERT_TRUST_PUB_ALLOW_END_USER_TRUST: u32 = 0; +pub const CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: u32 = 1; +pub const CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: u32 = 2; +pub const CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: u32 = 256; +pub const CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: u32 = 512; +pub const CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH: &[u8; 73usize] = + b"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents\0"; +pub const CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: &[u8; 15usize] = b"RootAutoUpdate\0"; +pub const CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: &[u8; 56usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\AuthRoot\0"; +pub const CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: &[u8; 22usize] = b"DisableRootAutoUpdate\0"; +pub const CERT_ENABLE_DISALLOWED_CERT_AUTO_UPDATE_VALUE_NAME: &[u8; 31usize] = + b"EnableDisallowedCertAutoUpdate\0"; +pub const CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME: &[u8; 26usize] = + b"DisablePinRulesAutoUpdate\0"; +pub const CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &[u8; 58usize] = + b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; +pub const CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &[u8; 11usize] = b"RootDirUrl\0"; +pub const CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME: &[u8; 15usize] = b"SyncFromDirUrl\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &[u8; 58usize] = + b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &[u8; 11usize] = b"RootDirUrl\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 14usize] = + b"SyncDeltaTime\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: u32 = 1; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: u32 = 2; +pub const CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG: u32 = 4; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 13usize] = b"LastSyncTime\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 11usize] = b"EncodedCtl\0"; +pub const CERT_AUTH_ROOT_CTL_FILENAME: &[u8; 13usize] = b"authroot.stl\0"; +pub const CERT_AUTH_ROOT_CTL_FILENAME_A: &[u8; 13usize] = b"authroot.stl\0"; +pub const CERT_AUTH_ROOT_CAB_FILENAME: &[u8; 16usize] = b"authrootstl.cab\0"; +pub const CERT_AUTH_ROOT_SEQ_FILENAME: &[u8; 16usize] = b"authrootseq.txt\0"; +pub const CERT_AUTH_ROOT_CERT_EXT: &[u8; 5usize] = b".crt\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 28usize] = + b"DisallowedCertSyncDeltaTime\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 27usize] = + b"DisallowedCertLastSyncTime\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 25usize] = + b"DisallowedCertEncodedCtl\0"; +pub const CERT_DISALLOWED_CERT_CTL_FILENAME: &[u8; 19usize] = b"disallowedcert.stl\0"; +pub const CERT_DISALLOWED_CERT_CTL_FILENAME_A: &[u8; 19usize] = b"disallowedcert.stl\0"; +pub const CERT_DISALLOWED_CERT_CAB_FILENAME: &[u8; 22usize] = b"disallowedcertstl.cab\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LIST_IDENTIFIER: &[u8; 28usize] = + b"DisallowedCert_AutoUpdate_1\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 22usize] = + b"PinRulesSyncDeltaTime\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 21usize] = + b"PinRulesLastSyncTime\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 19usize] = + b"PinRulesEncodedCtl\0"; +pub const CERT_PIN_RULES_CTL_FILENAME: &[u8; 13usize] = b"pinrules.stl\0"; +pub const CERT_PIN_RULES_CTL_FILENAME_A: &[u8; 13usize] = b"pinrules.stl\0"; +pub const CERT_PIN_RULES_CAB_FILENAME: &[u8; 16usize] = b"pinrulesstl.cab\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_LIST_IDENTIFIER: &[u8; 22usize] = b"PinRules_AutoUpdate_1\0"; +pub const CERT_REGISTRY_STORE_REMOTE_FLAG: u32 = 65536; +pub const CERT_REGISTRY_STORE_SERIALIZED_FLAG: u32 = 131072; +pub const CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: u32 = 2147483648; +pub const CERT_REGISTRY_STORE_LM_GPT_FLAG: u32 = 16777216; +pub const CERT_REGISTRY_STORE_ROAMING_FLAG: u32 = 262144; +pub const CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: u32 = 524288; +pub const CERT_REGISTRY_STORE_EXTERNAL_FLAG: u32 = 1048576; +pub const CERT_IE_DIRTY_FLAGS_REGPATH: &[u8; 45usize] = + b"Software\\Microsoft\\Cryptography\\IEDirtyFlags\0"; +pub const CERT_FILE_STORE_COMMIT_ENABLE_FLAG: u32 = 65536; +pub const CERT_LDAP_STORE_SIGN_FLAG: u32 = 65536; +pub const CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: u32 = 131072; +pub const CERT_LDAP_STORE_OPENED_FLAG: u32 = 262144; +pub const CERT_LDAP_STORE_UNBIND_FLAG: u32 = 524288; +pub const CRYPT_OID_OPEN_STORE_PROV_FUNC: &[u8; 21usize] = b"CertDllOpenStoreProv\0"; +pub const CERT_STORE_PROV_EXTERNAL_FLAG: u32 = 1; +pub const CERT_STORE_PROV_DELETED_FLAG: u32 = 2; +pub const CERT_STORE_PROV_NO_PERSIST_FLAG: u32 = 4; +pub const CERT_STORE_PROV_SYSTEM_STORE_FLAG: u32 = 8; +pub const CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: u32 = 16; +pub const CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG: u32 = 32; +pub const CERT_STORE_PROV_SHARED_USER_FLAG: u32 = 64; +pub const CERT_STORE_PROV_CLOSE_FUNC: u32 = 0; +pub const CERT_STORE_PROV_READ_CERT_FUNC: u32 = 1; +pub const CERT_STORE_PROV_WRITE_CERT_FUNC: u32 = 2; +pub const CERT_STORE_PROV_DELETE_CERT_FUNC: u32 = 3; +pub const CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: u32 = 4; +pub const CERT_STORE_PROV_READ_CRL_FUNC: u32 = 5; +pub const CERT_STORE_PROV_WRITE_CRL_FUNC: u32 = 6; +pub const CERT_STORE_PROV_DELETE_CRL_FUNC: u32 = 7; +pub const CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: u32 = 8; +pub const CERT_STORE_PROV_READ_CTL_FUNC: u32 = 9; +pub const CERT_STORE_PROV_WRITE_CTL_FUNC: u32 = 10; +pub const CERT_STORE_PROV_DELETE_CTL_FUNC: u32 = 11; +pub const CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: u32 = 12; +pub const CERT_STORE_PROV_CONTROL_FUNC: u32 = 13; +pub const CERT_STORE_PROV_FIND_CERT_FUNC: u32 = 14; +pub const CERT_STORE_PROV_FREE_FIND_CERT_FUNC: u32 = 15; +pub const CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: u32 = 16; +pub const CERT_STORE_PROV_FIND_CRL_FUNC: u32 = 17; +pub const CERT_STORE_PROV_FREE_FIND_CRL_FUNC: u32 = 18; +pub const CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: u32 = 19; +pub const CERT_STORE_PROV_FIND_CTL_FUNC: u32 = 20; +pub const CERT_STORE_PROV_FREE_FIND_CTL_FUNC: u32 = 21; +pub const CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: u32 = 22; +pub const CERT_STORE_PROV_WRITE_ADD_FLAG: u32 = 1; +pub const CERT_STORE_SAVE_AS_STORE: u32 = 1; +pub const CERT_STORE_SAVE_AS_PKCS7: u32 = 2; +pub const CERT_STORE_SAVE_AS_PKCS12: u32 = 3; +pub const CERT_STORE_SAVE_TO_FILE: u32 = 1; +pub const CERT_STORE_SAVE_TO_MEMORY: u32 = 2; +pub const CERT_STORE_SAVE_TO_FILENAME_A: u32 = 3; +pub const CERT_STORE_SAVE_TO_FILENAME_W: u32 = 4; +pub const CERT_STORE_SAVE_TO_FILENAME: u32 = 4; +pub const CERT_CLOSE_STORE_FORCE_FLAG: u32 = 1; +pub const CERT_CLOSE_STORE_CHECK_FLAG: u32 = 2; +pub const CERT_COMPARE_MASK: u32 = 65535; +pub const CERT_COMPARE_SHIFT: u32 = 16; +pub const CERT_COMPARE_ANY: u32 = 0; +pub const CERT_COMPARE_SHA1_HASH: u32 = 1; +pub const CERT_COMPARE_NAME: u32 = 2; +pub const CERT_COMPARE_ATTR: u32 = 3; +pub const CERT_COMPARE_MD5_HASH: u32 = 4; +pub const CERT_COMPARE_PROPERTY: u32 = 5; +pub const CERT_COMPARE_PUBLIC_KEY: u32 = 6; +pub const CERT_COMPARE_HASH: u32 = 1; +pub const CERT_COMPARE_NAME_STR_A: u32 = 7; +pub const CERT_COMPARE_NAME_STR_W: u32 = 8; +pub const CERT_COMPARE_KEY_SPEC: u32 = 9; +pub const CERT_COMPARE_ENHKEY_USAGE: u32 = 10; +pub const CERT_COMPARE_CTL_USAGE: u32 = 10; +pub const CERT_COMPARE_SUBJECT_CERT: u32 = 11; +pub const CERT_COMPARE_ISSUER_OF: u32 = 12; +pub const CERT_COMPARE_EXISTING: u32 = 13; +pub const CERT_COMPARE_SIGNATURE_HASH: u32 = 14; +pub const CERT_COMPARE_KEY_IDENTIFIER: u32 = 15; +pub const CERT_COMPARE_CERT_ID: u32 = 16; +pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: u32 = 17; +pub const CERT_COMPARE_PUBKEY_MD5_HASH: u32 = 18; +pub const CERT_COMPARE_SUBJECT_INFO_ACCESS: u32 = 19; +pub const CERT_COMPARE_HASH_STR: u32 = 20; +pub const CERT_COMPARE_HAS_PRIVATE_KEY: u32 = 21; +pub const CERT_FIND_ANY: u32 = 0; +pub const CERT_FIND_SHA1_HASH: u32 = 65536; +pub const CERT_FIND_MD5_HASH: u32 = 262144; +pub const CERT_FIND_SIGNATURE_HASH: u32 = 917504; +pub const CERT_FIND_KEY_IDENTIFIER: u32 = 983040; +pub const CERT_FIND_HASH: u32 = 65536; +pub const CERT_FIND_PROPERTY: u32 = 327680; +pub const CERT_FIND_PUBLIC_KEY: u32 = 393216; +pub const CERT_FIND_SUBJECT_NAME: u32 = 131079; +pub const CERT_FIND_SUBJECT_ATTR: u32 = 196615; +pub const CERT_FIND_ISSUER_NAME: u32 = 131076; +pub const CERT_FIND_ISSUER_ATTR: u32 = 196612; +pub const CERT_FIND_SUBJECT_STR_A: u32 = 458759; +pub const CERT_FIND_SUBJECT_STR_W: u32 = 524295; +pub const CERT_FIND_SUBJECT_STR: u32 = 524295; +pub const CERT_FIND_ISSUER_STR_A: u32 = 458756; +pub const CERT_FIND_ISSUER_STR_W: u32 = 524292; +pub const CERT_FIND_ISSUER_STR: u32 = 524292; +pub const CERT_FIND_KEY_SPEC: u32 = 589824; +pub const CERT_FIND_ENHKEY_USAGE: u32 = 655360; +pub const CERT_FIND_CTL_USAGE: u32 = 655360; +pub const CERT_FIND_SUBJECT_CERT: u32 = 720896; +pub const CERT_FIND_ISSUER_OF: u32 = 786432; +pub const CERT_FIND_EXISTING: u32 = 851968; +pub const CERT_FIND_CERT_ID: u32 = 1048576; +pub const CERT_FIND_CROSS_CERT_DIST_POINTS: u32 = 1114112; +pub const CERT_FIND_PUBKEY_MD5_HASH: u32 = 1179648; +pub const CERT_FIND_SUBJECT_INFO_ACCESS: u32 = 1245184; +pub const CERT_FIND_HASH_STR: u32 = 1310720; +pub const CERT_FIND_HAS_PRIVATE_KEY: u32 = 1376256; +pub const CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: u32 = 1; +pub const CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: u32 = 2; +pub const CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: u32 = 4; +pub const CERT_FIND_NO_ENHKEY_USAGE_FLAG: u32 = 8; +pub const CERT_FIND_OR_ENHKEY_USAGE_FLAG: u32 = 16; +pub const CERT_FIND_VALID_ENHKEY_USAGE_FLAG: u32 = 32; +pub const CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: u32 = 1; +pub const CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: u32 = 2; +pub const CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: u32 = 4; +pub const CERT_FIND_NO_CTL_USAGE_FLAG: u32 = 8; +pub const CERT_FIND_OR_CTL_USAGE_FLAG: u32 = 16; +pub const CERT_FIND_VALID_CTL_USAGE_FLAG: u32 = 32; +pub const CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: u32 = 2147483648; +pub const CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: u32 = 1073741824; +pub const CTL_ENTRY_FROM_PROP_CHAIN_FLAG: u32 = 1; +pub const CRL_FIND_ANY: u32 = 0; +pub const CRL_FIND_ISSUED_BY: u32 = 1; +pub const CRL_FIND_EXISTING: u32 = 2; +pub const CRL_FIND_ISSUED_FOR: u32 = 3; +pub const CRL_FIND_ISSUED_BY_AKI_FLAG: u32 = 1; +pub const CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: u32 = 2; +pub const CRL_FIND_ISSUED_BY_DELTA_FLAG: u32 = 4; +pub const CRL_FIND_ISSUED_BY_BASE_FLAG: u32 = 8; +pub const CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG: u32 = 16; +pub const CERT_STORE_ADD_NEW: u32 = 1; +pub const CERT_STORE_ADD_USE_EXISTING: u32 = 2; +pub const CERT_STORE_ADD_REPLACE_EXISTING: u32 = 3; +pub const CERT_STORE_ADD_ALWAYS: u32 = 4; +pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: u32 = 5; +pub const CERT_STORE_ADD_NEWER: u32 = 6; +pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: u32 = 7; +pub const CERT_STORE_CERTIFICATE_CONTEXT: u32 = 1; +pub const CERT_STORE_CRL_CONTEXT: u32 = 2; +pub const CERT_STORE_CTL_CONTEXT: u32 = 3; +pub const CERT_STORE_ALL_CONTEXT_FLAG: i32 = -1; +pub const CERT_STORE_CERTIFICATE_CONTEXT_FLAG: u32 = 2; +pub const CERT_STORE_CRL_CONTEXT_FLAG: u32 = 4; +pub const CERT_STORE_CTL_CONTEXT_FLAG: u32 = 8; +pub const CTL_ANY_SUBJECT_TYPE: u32 = 1; +pub const CTL_CERT_SUBJECT_TYPE: u32 = 2; +pub const CTL_FIND_ANY: u32 = 0; +pub const CTL_FIND_SHA1_HASH: u32 = 1; +pub const CTL_FIND_MD5_HASH: u32 = 2; +pub const CTL_FIND_USAGE: u32 = 3; +pub const CTL_FIND_SUBJECT: u32 = 4; +pub const CTL_FIND_EXISTING: u32 = 5; +pub const CTL_FIND_NO_LIST_ID_CBDATA: u32 = 4294967295; +pub const CTL_FIND_SAME_USAGE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_RESYNC: u32 = 1; +pub const CERT_STORE_CTRL_NOTIFY_CHANGE: u32 = 2; +pub const CERT_STORE_CTRL_COMMIT: u32 = 3; +pub const CERT_STORE_CTRL_AUTO_RESYNC: u32 = 4; +pub const CERT_STORE_CTRL_CANCEL_NOTIFY: u32 = 5; +pub const CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_COMMIT_FORCE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: u32 = 2; +pub const CERT_STORE_LOCALIZED_NAME_PROP_ID: u32 = 4096; +pub const CERT_CREATE_CONTEXT_NOCOPY_FLAG: u32 = 1; +pub const CERT_CREATE_CONTEXT_SORTED_FLAG: u32 = 2; +pub const CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: u32 = 4; +pub const CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: u32 = 8; +pub const CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: u32 = 1; +pub const CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: u32 = 2; +pub const CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: u32 = 4; +pub const CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: u32 = 8; +pub const CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: u32 = 1; +pub const CERT_PHYSICAL_STORE_DEFAULT_NAME: &[u8; 9usize] = b".Default\0"; +pub const CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: &[u8; 13usize] = b".GroupPolicy\0"; +pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: &[u8; 14usize] = b".LocalMachine\0"; +pub const CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: &[u8; 17usize] = b".UserCertificate\0"; +pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: &[u8; 25usize] = + b".LocalMachineGroupPolicy\0"; +pub const CERT_PHYSICAL_STORE_ENTERPRISE_NAME: &[u8; 12usize] = b".Enterprise\0"; +pub const CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: &[u8; 10usize] = b".AuthRoot\0"; +pub const CERT_PHYSICAL_STORE_SMART_CARD_NAME: &[u8; 11usize] = b".SmartCard\0"; +pub const CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: &[u8; 27usize] = b"CertDllOpenSystemStoreProv\0"; +pub const CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: &[u8; 27usize] = b"CertDllRegisterSystemStore\0"; +pub const CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: &[u8; 29usize] = + b"CertDllUnregisterSystemStore\0"; +pub const CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: &[u8; 23usize] = b"CertDllEnumSystemStore\0"; +pub const CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: &[u8; 29usize] = + b"CertDllRegisterPhysicalStore\0"; +pub const CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: &[u8; 31usize] = + b"CertDllUnregisterPhysicalStore\0"; +pub const CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: &[u8; 25usize] = b"CertDllEnumPhysicalStore\0"; +pub const CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: &[u8; 20usize] = b"SystemStoreLocation\0"; +pub const CMSG_TRUSTED_SIGNER_FLAG: u32 = 1; +pub const CMSG_SIGNER_ONLY_FLAG: u32 = 2; +pub const CMSG_USE_SIGNER_INDEX_FLAG: u32 = 4; +pub const CMSG_CMS_ENCAPSULATED_CTL_FLAG: u32 = 32768; +pub const CMSG_ENCODE_SORTED_CTL_FLAG: u32 = 1; +pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 2; +pub const CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: u32 = 1; +pub const CERT_VERIFY_TRUSTED_SIGNERS_FLAG: u32 = 2; +pub const CERT_VERIFY_NO_TIME_CHECK_FLAG: u32 = 4; +pub const CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: u32 = 8; +pub const CERT_VERIFY_UPDATED_CTL_FLAG: u32 = 1; +pub const CERT_CONTEXT_REVOCATION_TYPE: u32 = 1; +pub const CERT_VERIFY_REV_CHAIN_FLAG: u32 = 1; +pub const CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: u32 = 2; +pub const CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: u32 = 4; +pub const CERT_VERIFY_REV_SERVER_OCSP_FLAG: u32 = 8; +pub const CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG: u32 = 16; +pub const CERT_VERIFY_REV_SERVER_OCSP_WIRE_ONLY_FLAG: u32 = 32; +pub const CERT_UNICODE_IS_RDN_ATTRS_FLAG: u32 = 1; +pub const CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: u32 = 3; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: u32 = 3; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_CHECK_WEAK_HASH_FLAG: u32 = 8; +pub const CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC: &[u8; 42usize] = + b"CryptDllExtractEncodedSignatureParameters\0"; +pub const CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC: &[u8; 26usize] = b"CryptDllSignAndEncodeHash\0"; +pub const CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC: &[u8; 31usize] = + b"CryptDllVerifyEncodedSignature\0"; +pub const CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: u32 = 1; +pub const CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: u32 = 2; +pub const CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: u32 = 1; +pub const CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: u32 = 2; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC: &[u8; 30usize] = + b"CryptDllExportPublicKeyInfoEx\0"; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC: &[u8; 31usize] = + b"CryptDllExportPublicKeyInfoEx2\0"; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC: &[u8; 47usize] = + b"CryptDllExportPublicKeyInfoFromBCryptKeyHandle\0"; +pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: &[u8; 30usize] = + b"CryptDllImportPublicKeyInfoEx\0"; +pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC: &[u8; 31usize] = + b"CryptDllImportPublicKeyInfoEx2\0"; +pub const CRYPT_ACQUIRE_CACHE_FLAG: u32 = 1; +pub const CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: u32 = 2; +pub const CRYPT_ACQUIRE_COMPARE_KEY_FLAG: u32 = 4; +pub const CRYPT_ACQUIRE_NO_HEALING: u32 = 8; +pub const CRYPT_ACQUIRE_SILENT_FLAG: u32 = 64; +pub const CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG: u32 = 128; +pub const CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK: u32 = 458752; +pub const CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG: u32 = 65536; +pub const CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG: u32 = 131072; +pub const CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG: u32 = 262144; +pub const CRYPT_FIND_USER_KEYSET_FLAG: u32 = 1; +pub const CRYPT_FIND_MACHINE_KEYSET_FLAG: u32 = 2; +pub const CRYPT_FIND_SILENT_KEYSET_FLAG: u32 = 64; +pub const CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC: &[u8; 31usize] = + b"CryptDllImportPrivateKeyInfoEx\0"; +pub const CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: &[u8; 31usize] = + b"CryptDllExportPrivateKeyInfoEx\0"; +pub const CRYPT_DELETE_KEYSET: u32 = 16; +pub const CERT_SIMPLE_NAME_STR: u32 = 1; +pub const CERT_OID_NAME_STR: u32 = 2; +pub const CERT_X500_NAME_STR: u32 = 3; +pub const CERT_XML_NAME_STR: u32 = 4; +pub const CERT_NAME_STR_SEMICOLON_FLAG: u32 = 1073741824; +pub const CERT_NAME_STR_NO_PLUS_FLAG: u32 = 536870912; +pub const CERT_NAME_STR_NO_QUOTING_FLAG: u32 = 268435456; +pub const CERT_NAME_STR_CRLF_FLAG: u32 = 134217728; +pub const CERT_NAME_STR_COMMA_FLAG: u32 = 67108864; +pub const CERT_NAME_STR_REVERSE_FLAG: u32 = 33554432; +pub const CERT_NAME_STR_FORWARD_FLAG: u32 = 16777216; +pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: u32 = 65536; +pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: u32 = 131072; +pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: u32 = 262144; +pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: u32 = 524288; +pub const CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG: u32 = 1048576; +pub const CERT_NAME_STR_ENABLE_PUNYCODE_FLAG: u32 = 2097152; +pub const CERT_NAME_EMAIL_TYPE: u32 = 1; +pub const CERT_NAME_RDN_TYPE: u32 = 2; +pub const CERT_NAME_ATTR_TYPE: u32 = 3; +pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: u32 = 4; +pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: u32 = 5; +pub const CERT_NAME_DNS_TYPE: u32 = 6; +pub const CERT_NAME_URL_TYPE: u32 = 7; +pub const CERT_NAME_UPN_TYPE: u32 = 8; +pub const CERT_NAME_ISSUER_FLAG: u32 = 1; +pub const CERT_NAME_DISABLE_IE4_UTF8_FLAG: u32 = 65536; +pub const CERT_NAME_SEARCH_ALL_NAMES_FLAG: u32 = 2; +pub const CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: u32 = 1; +pub const CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: u32 = 2; +pub const CRYPT_MESSAGE_KEYID_SIGNER_FLAG: u32 = 4; +pub const CRYPT_MESSAGE_SILENT_KEYSET_FLAG: u32 = 64; +pub const CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: u32 = 4; +pub const CERT_QUERY_OBJECT_FILE: u32 = 1; +pub const CERT_QUERY_OBJECT_BLOB: u32 = 2; +pub const CERT_QUERY_CONTENT_CERT: u32 = 1; +pub const CERT_QUERY_CONTENT_CTL: u32 = 2; +pub const CERT_QUERY_CONTENT_CRL: u32 = 3; +pub const CERT_QUERY_CONTENT_SERIALIZED_STORE: u32 = 4; +pub const CERT_QUERY_CONTENT_SERIALIZED_CERT: u32 = 5; +pub const CERT_QUERY_CONTENT_SERIALIZED_CTL: u32 = 6; +pub const CERT_QUERY_CONTENT_SERIALIZED_CRL: u32 = 7; +pub const CERT_QUERY_CONTENT_PKCS7_SIGNED: u32 = 8; +pub const CERT_QUERY_CONTENT_PKCS7_UNSIGNED: u32 = 9; +pub const CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: u32 = 10; +pub const CERT_QUERY_CONTENT_PKCS10: u32 = 11; +pub const CERT_QUERY_CONTENT_PFX: u32 = 12; +pub const CERT_QUERY_CONTENT_CERT_PAIR: u32 = 13; +pub const CERT_QUERY_CONTENT_PFX_AND_LOAD: u32 = 14; +pub const CERT_QUERY_CONTENT_FLAG_CERT: u32 = 2; +pub const CERT_QUERY_CONTENT_FLAG_CTL: u32 = 4; +pub const CERT_QUERY_CONTENT_FLAG_CRL: u32 = 8; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: u32 = 16; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: u32 = 32; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: u32 = 64; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: u32 = 128; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: u32 = 256; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: u32 = 512; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: u32 = 1024; +pub const CERT_QUERY_CONTENT_FLAG_PKCS10: u32 = 2048; +pub const CERT_QUERY_CONTENT_FLAG_PFX: u32 = 4096; +pub const CERT_QUERY_CONTENT_FLAG_CERT_PAIR: u32 = 8192; +pub const CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD: u32 = 16384; +pub const CERT_QUERY_CONTENT_FLAG_ALL: u32 = 16382; +pub const CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT: u32 = 818; +pub const CERT_QUERY_FORMAT_BINARY: u32 = 1; +pub const CERT_QUERY_FORMAT_BASE64_ENCODED: u32 = 2; +pub const CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: u32 = 3; +pub const CERT_QUERY_FORMAT_FLAG_BINARY: u32 = 2; +pub const CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: u32 = 4; +pub const CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: u32 = 8; +pub const CERT_QUERY_FORMAT_FLAG_ALL: u32 = 14; +pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC: &[u8; 31usize] = + b"SchemeDllRetrieveEncodedObject\0"; +pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: &[u8; 32usize] = + b"SchemeDllRetrieveEncodedObjectW\0"; +pub const CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: &[u8; 30usize] = + b"ContextDllCreateObjectContext\0"; +pub const CRYPT_RETRIEVE_MULTIPLE_OBJECTS: u32 = 1; +pub const CRYPT_CACHE_ONLY_RETRIEVAL: u32 = 2; +pub const CRYPT_WIRE_ONLY_RETRIEVAL: u32 = 4; +pub const CRYPT_DONT_CACHE_RESULT: u32 = 8; +pub const CRYPT_ASYNC_RETRIEVAL: u32 = 16; +pub const CRYPT_STICKY_CACHE_RETRIEVAL: u32 = 4096; +pub const CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: u32 = 8192; +pub const CRYPT_OFFLINE_CHECK_RETRIEVAL: u32 = 16384; +pub const CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: u32 = 32768; +pub const CRYPT_LDAP_SIGN_RETRIEVAL: u32 = 65536; +pub const CRYPT_NO_AUTH_RETRIEVAL: u32 = 131072; +pub const CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: u32 = 262144; +pub const CRYPT_AIA_RETRIEVAL: u32 = 524288; +pub const CRYPT_HTTP_POST_RETRIEVAL: u32 = 1048576; +pub const CRYPT_PROXY_CACHE_RETRIEVAL: u32 = 2097152; +pub const CRYPT_NOT_MODIFIED_RETRIEVAL: u32 = 4194304; +pub const CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL: u32 = 8388608; +pub const CRYPT_RANDOM_QUERY_STRING_RETRIEVAL: u32 = 67108864; +pub const CRYPT_ENABLE_FILE_RETRIEVAL: u32 = 134217728; +pub const CRYPT_CREATE_NEW_FLUSH_ENTRY: u32 = 268435456; +pub const CRYPT_VERIFY_CONTEXT_SIGNATURE: u32 = 32; +pub const CRYPT_VERIFY_DATA_HASH: u32 = 64; +pub const CRYPT_KEEP_TIME_VALID: u32 = 128; +pub const CRYPT_DONT_VERIFY_SIGNATURE: u32 = 256; +pub const CRYPT_DONT_CHECK_TIME_VALIDITY: u32 = 512; +pub const CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: u32 = 1024; +pub const CRYPT_ACCUMULATIVE_TIMEOUT: u32 = 2048; +pub const CRYPT_OCSP_ONLY_RETRIEVAL: u32 = 16777216; +pub const CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL: u32 = 33554432; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_NONE: u32 = 0; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_BLOB: u32 = 1; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_CRL: u32 = 2; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_OCSP: u32 = 3; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB: u32 = 5; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB: u32 = 6; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB: u32 = 7; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH: u32 = 0; +pub const CRYPTNET_URL_CACHE_DISABLE_FLUSH: u32 = 4294967295; +pub const CRYPTNET_URL_CACHE_RESPONSE_NONE: u32 = 0; +pub const CRYPTNET_URL_CACHE_RESPONSE_HTTP: u32 = 1; +pub const CRYPTNET_URL_CACHE_RESPONSE_VALIDATED: u32 = 32768; +pub const CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH: u32 = 4096; +pub const CRYPT_GET_URL_FROM_PROPERTY: u32 = 1; +pub const CRYPT_GET_URL_FROM_EXTENSION: u32 = 2; +pub const CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: u32 = 4; +pub const CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: u32 = 8; +pub const URL_OID_GET_OBJECT_URL_FUNC: &[u8; 19usize] = b"UrlDllGetObjectUrl\0"; +pub const TIME_VALID_OID_GET_OBJECT_FUNC: &[u8; 22usize] = b"TimeValidDllGetObject\0"; +pub const TIME_VALID_OID_FLUSH_OBJECT_FUNC: &[u8; 24usize] = b"TimeValidDllFlushObject\0"; +pub const CERT_CREATE_SELFSIGN_NO_SIGN: u32 = 1; +pub const CERT_CREATE_SELFSIGN_NO_KEY_INFO: u32 = 2; +pub const CRYPT_KEYID_MACHINE_FLAG: u32 = 32; +pub const CRYPT_KEYID_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_KEYID_DELETE_FLAG: u32 = 16; +pub const CRYPT_KEYID_SET_NEW_FLAG: u32 = 8192; +pub const CERT_CHAIN_CONFIG_REGPATH : & [u8 ; 94usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\0" ; +pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &[u8; 25usize] = + b"MaxUrlRetrievalByteCount\0"; +pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: u32 = 104857600; +pub const CERT_CHAIN_CACHE_RESYNC_FILETIME_VALUE_NAME: &[u8; 25usize] = + b"ChainCacheResyncFiletime\0"; +pub const CERT_CHAIN_DISABLE_MANDATORY_BASIC_CONSTRAINTS_VALUE_NAME: &[u8; 33usize] = + b"DisableMandatoryBasicConstraints\0"; +pub const CERT_CHAIN_DISABLE_CA_NAME_CONSTRAINTS_VALUE_NAME: &[u8; 25usize] = + b"DisableCANameConstraints\0"; +pub const CERT_CHAIN_DISABLE_UNSUPPORTED_CRITICAL_EXTENSIONS_VALUE_NAME: &[u8; 37usize] = + b"DisableUnsupportedCriticalExtensions\0"; +pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_VALUE_NAME: &[u8; 21usize] = + b"MaxAIAUrlCountInCert\0"; +pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: u32 = 5; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_VALUE_NAME: &[u8; 32usize] = + b"MaxAIAUrlRetrievalCountPerChain\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: u32 = 3; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxAIAUrlRetrievalByteCount\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: u32 = 100000; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxAIAUrlRetrievalCertCount\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: u32 = 10; +pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_VALUE_NAME: &[u8; 20usize] = b"OcspValiditySeconds\0"; +pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT: u32 = 43200; +pub const CERT_CHAIN_DISABLE_SERIAL_CHAIN_VALUE_NAME: &[u8; 19usize] = b"DisableSerialChain\0"; +pub const CERT_CHAIN_SERIAL_CHAIN_LOG_FILE_NAME_VALUE_NAME: &[u8; 23usize] = + b"SerialChainLogFileName\0"; +pub const CERT_CHAIN_DISABLE_SYNC_WITH_SSL_TIME_VALUE_NAME: &[u8; 23usize] = + b"DisableSyncWithSslTime\0"; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxSslTimeUpdatedEventCount\0"; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT: u32 = 5; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_SSL_HANDSHAKE_LOG_FILE_NAME_VALUE_NAME: &[u8; 24usize] = + b"SslHandshakeLogFileName\0"; +pub const CERT_CHAIN_ENABLE_WEAK_SIGNATURE_FLAGS_VALUE_NAME: &[u8; 25usize] = + b"EnableWeakSignatureFlags\0"; +pub const CERT_CHAIN_ENABLE_MD2_MD4_FLAG: u32 = 1; +pub const CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG: u32 = 2; +pub const CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG: u32 = 4; +pub const CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG: u32 = 8; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_VALUE_NAME: &[u8; 22usize] = + b"MinRsaPubKeyBitLength\0"; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT: u32 = 1023; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_VALUE_NAME: &[u8; 18usize] = b"WeakRsaPubKeyTime\0"; +pub const CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME: &[u8; 20usize] = b"WeakSignatureLogDir\0"; +pub const CERT_CHAIN_DEFAULT_CONFIG_SUBDIR: &[u8; 8usize] = b"Default\0"; +pub const CERT_CHAIN_WEAK_PREFIX_NAME: &[u8; 5usize] = b"Weak\0"; +pub const CERT_CHAIN_WEAK_THIRD_PARTY_CONFIG_NAME: &[u8; 11usize] = b"ThirdParty\0"; +pub const CERT_CHAIN_WEAK_ALL_CONFIG_NAME: &[u8; 4usize] = b"All\0"; +pub const CERT_CHAIN_WEAK_FLAGS_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_CHAIN_WEAK_HYGIENE_NAME: &[u8; 8usize] = b"Hygiene\0"; +pub const CERT_CHAIN_WEAK_AFTER_TIME_NAME: &[u8; 10usize] = b"AfterTime\0"; +pub const CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME: &[u8; 18usize] = b"FileHashAfterTime\0"; +pub const CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME: &[u8; 23usize] = + b"TimestampHashAfterTime\0"; +pub const CERT_CHAIN_WEAK_MIN_BIT_LENGTH_NAME: &[u8; 13usize] = b"MinBitLength\0"; +pub const CERT_CHAIN_WEAK_SHA256_ALLOW_NAME: &[u8; 12usize] = b"Sha256Allow\0"; +pub const CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG: u32 = 2147483648; +pub const CERT_CHAIN_DISABLE_ECC_PARA_FLAG: u32 = 16; +pub const CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG: u32 = 65536; +pub const CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG: u32 = 131072; +pub const CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG: u32 = 262144; +pub const CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG: u32 = 1048576; +pub const CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG: u32 = 2097152; +pub const CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG: u32 = 4194304; +pub const CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG: u32 = 8388608; +pub const CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG: u32 = 16777216; +pub const CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG: u32 = 33554432; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG: u32 = 67108864; +pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG: u32 = 134217728; +pub const CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG: u32 = 268435456; +pub const CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG: u32 = 536870912; +pub const CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG: u32 = 1073741824; +pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG: u32 = 4096; +pub const CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG: u32 = 8192; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG: u32 = 16384; +pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG: u32 = 32768; +pub const CERT_CHAIN_DISABLE_WEAK_FLAGS: u32 = 215285776; +pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS: u32 = 12288; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS: u32 = 49152; +pub const CERT_CHAIN_ENABLE_HYGIENE_FLAGS: u32 = 857866240; +pub const CERT_CHAIN_MOTW_WEAK_FLAGS: u32 = 1786773504; +pub const CERT_CHAIN_OPT_IN_WEAK_FLAGS: u32 = 262144; +pub const CERT_CHAIN_AUTO_CURRENT_USER: u32 = 1; +pub const CERT_CHAIN_AUTO_LOCAL_MACHINE: u32 = 2; +pub const CERT_CHAIN_AUTO_IMPERSONATED: u32 = 3; +pub const CERT_CHAIN_AUTO_PROCESS_INFO: u32 = 4; +pub const CERT_CHAIN_AUTO_PINRULE_INFO: u32 = 5; +pub const CERT_CHAIN_AUTO_NETWORK_INFO: u32 = 6; +pub const CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE: u32 = 7; +pub const CERT_CHAIN_AUTO_HPKP_RULE_INFO: u32 = 8; +pub const CERT_CHAIN_AUTO_FLAGS_VALUE_NAME: &[u8; 10usize] = b"AutoFlags\0"; +pub const CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG: u32 = 1; +pub const CERT_CHAIN_AUTO_LOG_CREATE_FLAG: u32 = 2; +pub const CERT_CHAIN_AUTO_LOG_FREE_FLAG: u32 = 4; +pub const CERT_CHAIN_AUTO_LOG_FLUSH_FLAG: u32 = 8; +pub const CERT_CHAIN_AUTO_LOG_FLAGS: u32 = 14; +pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_VALUE_NAME: &[u8; 27usize] = + b"AutoFlushFirstDeltaSeconds\0"; +pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_DEFAULT: u32 = 300; +pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_VALUE_NAME: &[u8; 26usize] = + b"AutoFlushNextDeltaSeconds\0"; +pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_DEFAULT: u32 = 1800; +pub const CERT_CHAIN_AUTO_LOG_FILE_NAME_VALUE_NAME: &[u8; 16usize] = b"AutoLogFileName\0"; +pub const CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME: &[u8; 32usize] = + b"DisableAutoFlushProcessNameList\0"; +pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME: &[u8; 30usize] = + b"SrvOcspRespMinValiditySeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT: u32 = 600; +pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; 43usize] = + b"SrvOcspRespUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 15000; +pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 38usize] = + b"SrvOcspRespMaxBeforeNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 14400; +pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 38usize] = + b"SrvOcspRespMinBeforeNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 120; +pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 37usize] = + b"SrvOcspRespMinAfterNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 60; +pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"SrvOcspRespMinSyncCertFileSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT: u32 = 5; +pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"SrvOcspRespMaxSyncCertFileSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_VALUE_NAME: &[u8; 33usize] = + b"CryptnetMaxCachedOcspPerCrlCount\0"; +pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT: u32 = 500; +pub const CRYPTNET_OCSP_AFTER_CRL_DISABLE: u32 = 4294967295; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"CryptnetDefaultFlushExemptSeconds\0"; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_DEFAULT: u32 = 2419200; +pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 33usize] = + b"CryptnetPreFetchMinMaxAgeSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 33usize] = + b"CryptnetPreFetchMaxMaxAgeSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_DEFAULT: u32 = 1209600; +pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_VALUE_NAME: &[u8; 45usize] = + b"CryptnetPreFetchMinOcspValidityPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_DEFAULT: u32 = 1209600; +pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_VALUE_NAME: &[u8; 44usize] = + b"CryptnetPreFetchAfterPublishPreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10; +pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: &[u8; 48usize] = + b"CryptnetPreFetchBeforeNextUpdatePreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 20; +pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 51usize] = b"CryptnetPreFetchMinBeforeNextUpdatePreFetchSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: + &[u8; 61usize] = b"CryptnetPreFetchValidityPeriodAfterNextUpdatePreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10; +pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 56usize] = b"CryptnetPreFetchMaxAfterNextUpdatePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 14400; +pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 56usize] = b"CryptnetPreFetchMinAfterNextUpdatePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 1800; +pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: &[u8; + 54usize] = b"CryptnetPreFetchAfterCurrentTimePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 1800; +pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_VALUE_NAME: &[u8; 37usize] = + b"CryptnetPreFetchTriggerPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_DEFAULT: u32 = 600; +pub const CRYPTNET_PRE_FETCH_TRIGGER_DISABLE: u32 = 4294967295; +pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_VALUE_NAME: &[u8; 45usize] = + b"CryptnetPreFetchScanAfterTriggerDelaySeconds\0"; +pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT: u32 = 60; +pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_VALUE_NAME: &[u8; 40usize] = + b"CryptnetPreFetchRetrievalTimeoutSeconds\0"; +pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_CONFIG_REGPATH : & [u8 ; 106usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\\CrlPreFetch\0" ; +pub const CRYPTNET_CRL_PRE_FETCH_PROCESS_NAME_LIST_VALUE_NAME: &[u8; 16usize] = + b"ProcessNameList\0"; +pub const CRYPTNET_CRL_PRE_FETCH_URL_LIST_VALUE_NAME: &[u8; 16usize] = b"PreFetchUrlList\0"; +pub const CRYPTNET_CRL_PRE_FETCH_DISABLE_INFORMATION_EVENTS_VALUE_NAME: &[u8; 25usize] = + b"DisableInformationEvents\0"; +pub const CRYPTNET_CRL_PRE_FETCH_LOG_FILE_NAME_VALUE_NAME: &[u8; 12usize] = b"LogFileName\0"; +pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_VALUE_NAME: &[u8; 15usize] = b"TimeoutSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 14usize] = b"MaxAgeSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_DEFAULT: u32 = 7200; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_MIN: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 31usize] = + b"PublishBeforeNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_VALUE_NAME: &[u8; 29usize] = + b"PublishRandomIntervalSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 27usize] = + b"MinBeforeNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 26usize] = + b"MinAfterNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 300; +pub const CERT_GROUP_POLICY_CHAIN_CONFIG_REGPATH: &[u8; 66usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\ChainEngine\\Config\0"; +pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; 37usize] = + b"ChainUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 15000; +pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; + 52usize] = b"ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 20000; +pub const CERT_RETR_BEHAVIOR_INET_AUTH_VALUE_NAME: &[u8; 22usize] = b"EnableInetUnknownAuth\0"; +pub const CERT_RETR_BEHAVIOR_INET_STATUS_VALUE_NAME: &[u8; 16usize] = b"EnableInetLocal\0"; +pub const CERT_RETR_BEHAVIOR_FILE_VALUE_NAME: &[u8; 19usize] = b"AllowFileUrlScheme\0"; +pub const CERT_RETR_BEHAVIOR_LDAP_VALUE_NAME: &[u8; 26usize] = b"DisableLDAPSignAndEncrypt\0"; +pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_VALUE_NAME: &[u8; 35usize] = + b"CryptnetCachedOcspSwitchToCrlCount\0"; +pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT: u32 = 50; +pub const CRYPTNET_CRL_BEFORE_OCSP_ENABLE: u32 = 4294967295; +pub const CERT_CHAIN_DISABLE_AIA_URL_RETRIEVAL_VALUE_NAME: &[u8; 23usize] = + b"DisableAIAUrlRetrieval\0"; +pub const CERT_CHAIN_OPTIONS_VALUE_NAME: &[u8; 8usize] = b"Options\0"; +pub const CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL: u32 = 2; +pub const CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL: u32 = 4; +pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_VALUE_NAME: &[u8; 31usize] = + b"CrossCertDownloadIntervalHours\0"; +pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_DEFAULT: u32 = 168; +pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_VALUE_NAME: &[u8; 27usize] = + b"CRLValidityExtensionPeriod\0"; +pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT: u32 = 12; +pub const CERT_CHAIN_CACHE_END_CERT: u32 = 1; +pub const CERT_CHAIN_THREAD_STORE_SYNC: u32 = 2; +pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: u32 = 4; +pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: u32 = 8; +pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: u32 = 16; +pub const CERT_CHAIN_ENABLE_SHARE_STORE: u32 = 32; +pub const CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG: u32 = 1; +pub const CERT_TRUST_NO_ERROR: u32 = 0; +pub const CERT_TRUST_IS_NOT_TIME_VALID: u32 = 1; +pub const CERT_TRUST_IS_NOT_TIME_NESTED: u32 = 2; +pub const CERT_TRUST_IS_REVOKED: u32 = 4; +pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: u32 = 8; +pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: u32 = 16; +pub const CERT_TRUST_IS_UNTRUSTED_ROOT: u32 = 32; +pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: u32 = 64; +pub const CERT_TRUST_IS_CYCLIC: u32 = 128; +pub const CERT_TRUST_INVALID_EXTENSION: u32 = 256; +pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: u32 = 512; +pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: u32 = 1024; +pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: u32 = 2048; +pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: u32 = 4096; +pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: u32 = 8192; +pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: u32 = 16384; +pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: u32 = 32768; +pub const CERT_TRUST_IS_OFFLINE_REVOCATION: u32 = 16777216; +pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: u32 = 33554432; +pub const CERT_TRUST_IS_EXPLICIT_DISTRUST: u32 = 67108864; +pub const CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT: u32 = 134217728; +pub const CERT_TRUST_HAS_WEAK_SIGNATURE: u32 = 1048576; +pub const CERT_TRUST_HAS_WEAK_HYGIENE: u32 = 2097152; +pub const CERT_TRUST_IS_PARTIAL_CHAIN: u32 = 65536; +pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: u32 = 131072; +pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: u32 = 262144; +pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: u32 = 524288; +pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: u32 = 1; +pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: u32 = 2; +pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: u32 = 4; +pub const CERT_TRUST_IS_SELF_SIGNED: u32 = 8; +pub const CERT_TRUST_AUTO_UPDATE_CA_REVOCATION: u32 = 16; +pub const CERT_TRUST_AUTO_UPDATE_END_REVOCATION: u32 = 32; +pub const CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL: u32 = 64; +pub const CERT_TRUST_IS_KEY_ROLLOVER: u32 = 128; +pub const CERT_TRUST_SSL_HANDSHAKE_OCSP: u32 = 262144; +pub const CERT_TRUST_SSL_TIME_VALID_OCSP: u32 = 524288; +pub const CERT_TRUST_SSL_RECONNECT_OCSP: u32 = 1048576; +pub const CERT_TRUST_HAS_PREFERRED_ISSUER: u32 = 256; +pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: u32 = 512; +pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: u32 = 1024; +pub const CERT_TRUST_IS_PEER_TRUSTED: u32 = 2048; +pub const CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED: u32 = 4096; +pub const CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE: u32 = 8192; +pub const CERT_TRUST_IS_CA_TRUSTED: u32 = 16384; +pub const CERT_TRUST_HAS_AUTO_UPDATE_WEAK_SIGNATURE: u32 = 32768; +pub const CERT_TRUST_HAS_ALLOW_WEAK_SIGNATURE: u32 = 131072; +pub const CERT_TRUST_IS_COMPLEX_CHAIN: u32 = 65536; +pub const CERT_TRUST_SSL_TIME_VALID: u32 = 16777216; +pub const CERT_TRUST_NO_TIME_CHECK: u32 = 33554432; +pub const USAGE_MATCH_TYPE_AND: u32 = 0; +pub const USAGE_MATCH_TYPE_OR: u32 = 1; +pub const CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG: u32 = 1; +pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: u32 = 268435456; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: u32 = 536870912; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: u32 = 1073741824; +pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: u32 = 2147483648; +pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: u32 = 134217728; +pub const CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT: u32 = 67108864; +pub const CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: u32 = 64; +pub const CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: u32 = 128; +pub const CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: u32 = 256; +pub const CERT_CHAIN_TIMESTAMP_TIME: u32 = 512; +pub const CERT_CHAIN_ENABLE_PEER_TRUST: u32 = 1024; +pub const CERT_CHAIN_DISABLE_MY_PEER_TRUST: u32 = 2048; +pub const CERT_CHAIN_DISABLE_MD2_MD4: u32 = 4096; +pub const CERT_CHAIN_DISABLE_AIA: u32 = 8192; +pub const CERT_CHAIN_HAS_MOTW: u32 = 16384; +pub const CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT: u32 = 32768; +pub const CERT_CHAIN_OPT_IN_WEAK_SIGNATURE: u32 = 65536; +pub const CERT_CHAIN_FIND_BY_ISSUER: u32 = 1; +pub const CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: u32 = 1; +pub const CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: u32 = 2; +pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: u32 = 4; +pub const CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: u32 = 8; +pub const CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: u32 = 16384; +pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: u32 = 32768; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: u32 = 1; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: u32 = 2; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: u32 = 4; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: u32 = 8; +pub const CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: u32 = 7; +pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: u32 = 16; +pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: u32 = 32; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: u32 = 64; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: u32 = 128; +pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: u32 = 256; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: u32 = 512; +pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: u32 = 1024; +pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: u32 = 2048; +pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: u32 = 3840; +pub const CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: u32 = 32768; +pub const CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: u32 = 16384; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG: u32 = 8192; +pub const CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG: u32 = 4096; +pub const CERT_CHAIN_POLICY_IGNORE_WEAK_SIGNATURE_FLAG: u32 = 134217728; +pub const CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC: &[u8; 36usize] = + b"CertDllVerifyCertificateChainPolicy\0"; +pub const AUTHTYPE_CLIENT: u32 = 1; +pub const AUTHTYPE_SERVER: u32 = 2; +pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: u32 = 2147483648; +pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: u32 = 1073741824; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: u32 = 65536; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG: u32 = 131072; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG: u32 = 262144; +pub const SSL_F12_ERROR_TEXT_LENGTH: u32 = 256; +pub const CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL: u32 = 2; +pub const CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY: u32 = 2; +pub const SSL_HPKP_PKP_HEADER_INDEX: u32 = 0; +pub const SSL_HPKP_PKP_RO_HEADER_INDEX: u32 = 1; +pub const SSL_HPKP_HEADER_COUNT: u32 = 2; +pub const SSL_KEY_PIN_ERROR_TEXT_LENGTH: u32 = 512; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR: i32 = -2; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR: i32 = -1; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING: u32 = 2; +pub const CRYPT_STRING_BASE64HEADER: u32 = 0; +pub const CRYPT_STRING_BASE64: u32 = 1; +pub const CRYPT_STRING_BINARY: u32 = 2; +pub const CRYPT_STRING_BASE64REQUESTHEADER: u32 = 3; +pub const CRYPT_STRING_HEX: u32 = 4; +pub const CRYPT_STRING_HEXASCII: u32 = 5; +pub const CRYPT_STRING_BASE64_ANY: u32 = 6; +pub const CRYPT_STRING_ANY: u32 = 7; +pub const CRYPT_STRING_HEX_ANY: u32 = 8; +pub const CRYPT_STRING_BASE64X509CRLHEADER: u32 = 9; +pub const CRYPT_STRING_HEXADDR: u32 = 10; +pub const CRYPT_STRING_HEXASCIIADDR: u32 = 11; +pub const CRYPT_STRING_HEXRAW: u32 = 12; +pub const CRYPT_STRING_BASE64URI: u32 = 13; +pub const CRYPT_STRING_ENCODEMASK: u32 = 255; +pub const CRYPT_STRING_RESERVED100: u32 = 256; +pub const CRYPT_STRING_RESERVED200: u32 = 512; +pub const CRYPT_STRING_PERCENTESCAPE: u32 = 134217728; +pub const CRYPT_STRING_HASHDATA: u32 = 268435456; +pub const CRYPT_STRING_STRICT: u32 = 536870912; +pub const CRYPT_STRING_NOCRLF: u32 = 1073741824; +pub const CRYPT_STRING_NOCR: u32 = 2147483648; +pub const szOID_PKCS_12_PbeIds: &[u8; 22usize] = b"1.2.840.113549.1.12.1\0"; +pub const szOID_PKCS_12_pbeWithSHA1And128BitRC4: &[u8; 24usize] = b"1.2.840.113549.1.12.1.1\0"; +pub const szOID_PKCS_12_pbeWithSHA1And40BitRC4: &[u8; 24usize] = b"1.2.840.113549.1.12.1.2\0"; +pub const szOID_PKCS_12_pbeWithSHA1And3KeyTripleDES: &[u8; 24usize] = b"1.2.840.113549.1.12.1.3\0"; +pub const szOID_PKCS_12_pbeWithSHA1And2KeyTripleDES: &[u8; 24usize] = b"1.2.840.113549.1.12.1.4\0"; +pub const szOID_PKCS_12_pbeWithSHA1And128BitRC2: &[u8; 24usize] = b"1.2.840.113549.1.12.1.5\0"; +pub const szOID_PKCS_12_pbeWithSHA1And40BitRC2: &[u8; 24usize] = b"1.2.840.113549.1.12.1.6\0"; +pub const szOID_PKCS_5_PBKDF2: &[u8; 22usize] = b"1.2.840.113549.1.5.12\0"; +pub const szOID_PKCS_5_PBES2: &[u8; 22usize] = b"1.2.840.113549.1.5.13\0"; +pub const PKCS12_IMPORT_SILENT: u32 = 64; +pub const CRYPT_USER_KEYSET: u32 = 4096; +pub const PKCS12_PREFER_CNG_KSP: u32 = 256; +pub const PKCS12_ALWAYS_CNG_KSP: u32 = 512; +pub const PKCS12_ONLY_CERTIFICATES: u32 = 1024; +pub const PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES: u32 = 2048; +pub const PKCS12_ALLOW_OVERWRITE_KEY: u32 = 16384; +pub const PKCS12_NO_PERSIST_KEY: u32 = 32768; +pub const PKCS12_VIRTUAL_ISOLATION_KEY: u32 = 65536; +pub const PKCS12_IMPORT_RESERVED_MASK: u32 = 4294901760; +pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE: u32 = 0; +pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_NAME: &[u8; 12usize] = b"PfxProvider\0"; +pub const PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME: &[u8; 13usize] = b"PfxContainer\0"; +pub const REPORT_NO_PRIVATE_KEY: u32 = 1; +pub const REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: u32 = 2; +pub const EXPORT_PRIVATE_KEYS: u32 = 4; +pub const PKCS12_INCLUDE_EXTENDED_PROPERTIES: u32 = 16; +pub const PKCS12_PROTECT_TO_DOMAIN_SIDS: u32 = 32; +pub const PKCS12_EXPORT_SILENT: u32 = 64; +pub const PKCS12_EXPORT_PBES2_PARAMS: u32 = 128; +pub const PKCS12_DISABLE_ENCRYPT_CERTIFICATES: u32 = 256; +pub const PKCS12_ENCRYPT_CERTIFICATES: u32 = 512; +pub const PKCS12_EXPORT_ECC_CURVE_PARAMETERS: u32 = 4096; +pub const PKCS12_EXPORT_ECC_CURVE_OID: u32 = 8192; +pub const PKCS12_EXPORT_RESERVED_MASK: u32 = 4294901760; +pub const PKCS12_PBKDF2_ID_HMAC_SHA1: &[u8; 19usize] = b"1.2.840.113549.2.7\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA256: &[u8; 19usize] = b"1.2.840.113549.2.9\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA384: &[u8; 20usize] = b"1.2.840.113549.2.10\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA512: &[u8; 20usize] = b"1.2.840.113549.2.11\0"; +pub const PKCS12_PBES2_ALG_AES256_SHA256: &[u8; 14usize] = b"AES256-SHA256\0"; +pub const PKCS12_CONFIG_REGPATH: &[u8; 46usize] = + b"Software\\Microsoft\\Windows\\CurrentVersion\\PFX\0"; +pub const PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME: &[u8; 20usize] = b"EncryptCertificates\0"; +pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG: u32 = 1; +pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG: u32 = 2; +pub const CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG: u32 = 1; +pub const CERT_SELECT_MAX_PARA: u32 = 500; +pub const CERT_SELECT_BY_ENHKEY_USAGE: u32 = 1; +pub const CERT_SELECT_BY_KEY_USAGE: u32 = 2; +pub const CERT_SELECT_BY_POLICY_OID: u32 = 3; +pub const CERT_SELECT_BY_PROV_NAME: u32 = 4; +pub const CERT_SELECT_BY_EXTENSION: u32 = 5; +pub const CERT_SELECT_BY_SUBJECT_HOST_NAME: u32 = 6; +pub const CERT_SELECT_BY_ISSUER_ATTR: u32 = 7; +pub const CERT_SELECT_BY_SUBJECT_ATTR: u32 = 8; +pub const CERT_SELECT_BY_ISSUER_NAME: u32 = 9; +pub const CERT_SELECT_BY_PUBLIC_KEY: u32 = 10; +pub const CERT_SELECT_BY_TLS_SIGNATURES: u32 = 11; +pub const CERT_SELECT_BY_ISSUER_DISPLAYNAME: u32 = 12; +pub const CERT_SELECT_BY_FRIENDLYNAME: u32 = 13; +pub const CERT_SELECT_BY_THUMBPRINT: u32 = 14; +pub const CERT_SELECT_LAST: u32 = 11; +pub const CERT_SELECT_MAX: u32 = 33; +pub const CERT_SELECT_ALLOW_EXPIRED: u32 = 1; +pub const CERT_SELECT_TRUSTED_ROOT: u32 = 2; +pub const CERT_SELECT_DISALLOW_SELFSIGNED: u32 = 4; +pub const CERT_SELECT_HAS_PRIVATE_KEY: u32 = 8; +pub const CERT_SELECT_HAS_KEY_FOR_SIGNATURE: u32 = 16; +pub const CERT_SELECT_HAS_KEY_FOR_KEY_EXCHANGE: u32 = 32; +pub const CERT_SELECT_HARDWARE_ONLY: u32 = 64; +pub const CERT_SELECT_ALLOW_DUPLICATES: u32 = 128; +pub const CERT_SELECT_IGNORE_AUTOSELECT: u32 = 256; +pub const TIMESTAMP_VERSION: u32 = 1; +pub const TIMESTAMP_STATUS_GRANTED: u32 = 0; +pub const TIMESTAMP_STATUS_GRANTED_WITH_MODS: u32 = 1; +pub const TIMESTAMP_STATUS_REJECTED: u32 = 2; +pub const TIMESTAMP_STATUS_WAITING: u32 = 3; +pub const TIMESTAMP_STATUS_REVOCATION_WARNING: u32 = 4; +pub const TIMESTAMP_STATUS_REVOKED: u32 = 5; +pub const TIMESTAMP_FAILURE_BAD_ALG: u32 = 0; +pub const TIMESTAMP_FAILURE_BAD_REQUEST: u32 = 2; +pub const TIMESTAMP_FAILURE_BAD_FORMAT: u32 = 5; +pub const TIMESTAMP_FAILURE_TIME_NOT_AVAILABLE: u32 = 14; +pub const TIMESTAMP_FAILURE_POLICY_NOT_SUPPORTED: u32 = 15; +pub const TIMESTAMP_FAILURE_EXTENSION_NOT_SUPPORTED: u32 = 16; +pub const TIMESTAMP_FAILURE_INFO_NOT_AVAILABLE: u32 = 17; +pub const TIMESTAMP_FAILURE_SYSTEM_FAILURE: u32 = 25; +pub const TIMESTAMP_DONT_HASH_DATA: u32 = 1; +pub const TIMESTAMP_VERIFY_CONTEXT_SIGNATURE: u32 = 32; +pub const TIMESTAMP_NO_AUTH_RETRIEVAL: u32 = 131072; +pub const CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE: u32 = 1; +pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE: u32 = 32; +pub const CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE: u32 = 33; +pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE: u32 = 65535; +pub const SSL_OBJECT_LOCATOR_PFX_FUNC: &[u8; 30usize] = b"SslObjectLocatorInitializePfx\0"; +pub const SSL_OBJECT_LOCATOR_ISSUER_LIST_FUNC: &[u8; 37usize] = + b"SslObjectLocatorInitializeIssuerList\0"; +pub const SSL_OBJECT_LOCATOR_CERT_VALIDATION_CONFIG_FUNC: &[u8; 47usize] = + b"SslObjectLocatorInitializeCertValidationConfig\0"; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN: u32 = 1; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP: u32 = 2; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT: u32 = 3; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD: u32 = 4; +pub const CERT_FILE_HASH_USE_TYPE: u32 = 1; +pub const CERT_TIMESTAMP_HASH_USE_TYPE: u32 = 2; +pub const szFORCE_KEY_PROTECTION: &[u8; 19usize] = b"ForceKeyProtection\0"; +pub const dwFORCE_KEY_PROTECTION_DISABLED: u32 = 0; +pub const dwFORCE_KEY_PROTECTION_USER_SELECT: u32 = 1; +pub const dwFORCE_KEY_PROTECTION_HIGH: u32 = 2; +pub const CRYPTPROTECT_PROMPT_ON_UNPROTECT: u32 = 1; +pub const CRYPTPROTECT_PROMPT_ON_PROTECT: u32 = 2; +pub const CRYPTPROTECT_PROMPT_RESERVED: u32 = 4; +pub const CRYPTPROTECT_PROMPT_STRONG: u32 = 8; +pub const CRYPTPROTECT_PROMPT_REQUIRE_STRONG: u32 = 16; +pub const CRYPTPROTECT_UI_FORBIDDEN: u32 = 1; +pub const CRYPTPROTECT_LOCAL_MACHINE: u32 = 4; +pub const CRYPTPROTECT_CRED_SYNC: u32 = 8; +pub const CRYPTPROTECT_AUDIT: u32 = 16; +pub const CRYPTPROTECT_NO_RECOVERY: u32 = 32; +pub const CRYPTPROTECT_VERIFY_PROTECTION: u32 = 64; +pub const CRYPTPROTECT_CRED_REGENERATE: u32 = 128; +pub const CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: u32 = 268435455; +pub const CRYPTPROTECT_LAST_RESERVED_FLAGVAL: u32 = 4294967295; +pub const CRYPTPROTECTMEMORY_BLOCK_SIZE: u32 = 16; +pub const CRYPTPROTECTMEMORY_SAME_PROCESS: u32 = 0; +pub const CRYPTPROTECTMEMORY_CROSS_PROCESS: u32 = 1; +pub const CRYPTPROTECTMEMORY_SAME_LOGON: u32 = 2; +pub const WINEFS_SETUSERKEY_SET_CAPABILITIES: u32 = 1; +pub const EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR: u32 = 5; +pub const EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR: u32 = 6; +pub const EFS_SUBVER_UNKNOWN: u32 = 0; +pub const EFS_EFS_SUBVER_EFS_CERT: u32 = 1; +pub const EFS_PFILE_SUBVER_RMS: u32 = 2; +pub const EFS_PFILE_SUBVER_APPX: u32 = 3; +pub const MAX_SID_SIZE: u32 = 256; +pub const EFS_METADATA_ADD_USER: u32 = 1; +pub const EFS_METADATA_REMOVE_USER: u32 = 2; +pub const EFS_METADATA_REPLACE_USER: u32 = 4; +pub const EFS_METADATA_GENERAL_OP: u32 = 8; +pub const __REQUIRED_RPCNDR_H_VERSION__: u32 = 500; +pub const __REQUIRED_RPCSAL_H_VERSION__: u32 = 100; +pub const __RPCNDR_H_VERSION__: u32 = 500; +pub const __RPCSAL_H_VERSION__: u32 = 100; +pub const TARGET_IS_NT100_OR_LATER: u32 = 1; +pub const TARGET_IS_NT63_OR_LATER: u32 = 1; +pub const TARGET_IS_NT62_OR_LATER: u32 = 1; +pub const TARGET_IS_NT61_OR_LATER: u32 = 1; +pub const TARGET_IS_NT60_OR_LATER: u32 = 1; +pub const TARGET_IS_NT51_OR_LATER: u32 = 1; +pub const TARGET_IS_NT50_OR_LATER: u32 = 1; +pub const TARGET_IS_NT40_OR_LATER: u32 = 1; +pub const TARGET_IS_NT351_OR_WIN95_OR_LATER: u32 = 1; +pub const cbNDRContext: u32 = 20; +pub const USER_CALL_IS_ASYNC: u32 = 256; +pub const USER_CALL_NEW_CORRELATION_DESC: u32 = 512; +pub const USER_MARSHAL_FC_BYTE: u32 = 1; +pub const USER_MARSHAL_FC_CHAR: u32 = 2; +pub const USER_MARSHAL_FC_SMALL: u32 = 3; +pub const USER_MARSHAL_FC_USMALL: u32 = 4; +pub const USER_MARSHAL_FC_WCHAR: u32 = 5; +pub const USER_MARSHAL_FC_SHORT: u32 = 6; +pub const USER_MARSHAL_FC_USHORT: u32 = 7; +pub const USER_MARSHAL_FC_LONG: u32 = 8; +pub const USER_MARSHAL_FC_ULONG: u32 = 9; +pub const USER_MARSHAL_FC_FLOAT: u32 = 10; +pub const USER_MARSHAL_FC_HYPER: u32 = 11; +pub const USER_MARSHAL_FC_DOUBLE: u32 = 12; +pub const ROTREGFLAGS_ALLOWANYCLIENT: u32 = 1; +pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: u32 = 1; +pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: u32 = 2; +pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: u32 = 4; +pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: u32 = 8; +pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: u32 = 16; +pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: u32 = 32; +pub const APPIDREGFLAGS_RESERVED1: u32 = 64; +pub const APPIDREGFLAGS_RESERVED2: u32 = 128; +pub const APPIDREGFLAGS_RESERVED3: u32 = 256; +pub const APPIDREGFLAGS_RESERVED4: u32 = 512; +pub const APPIDREGFLAGS_RESERVED5: u32 = 1024; +pub const APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU: u32 = 2048; +pub const APPIDREGFLAGS_RESERVED7: u32 = 4096; +pub const APPIDREGFLAGS_RESERVED8: u32 = 8192; +pub const APPIDREGFLAGS_RESERVED9: u32 = 16384; +pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: u32 = 1; +pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: u32 = 2; +pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: u32 = 4; +pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: u32 = 8; +pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: u32 = 16; +pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: u32 = 32; +pub const ROTFLAGS_REGISTRATIONKEEPSALIVE: u32 = 1; +pub const ROTFLAGS_ALLOWANYCLIENT: u32 = 2; +pub const ROT_COMPARE_MAX: u32 = 2048; +pub const WDT_INPROC_CALL: u32 = 1215587415; +pub const WDT_REMOTE_CALL: u32 = 1383359575; +pub const WDT_INPROC64_CALL: u32 = 1349805143; +pub const FILE_DEVICE_BEEP: u32 = 1; +pub const FILE_DEVICE_CD_ROM: u32 = 2; +pub const FILE_DEVICE_CD_ROM_FILE_SYSTEM: u32 = 3; +pub const FILE_DEVICE_CONTROLLER: u32 = 4; +pub const FILE_DEVICE_DATALINK: u32 = 5; +pub const FILE_DEVICE_DFS: u32 = 6; +pub const FILE_DEVICE_DISK: u32 = 7; +pub const FILE_DEVICE_DISK_FILE_SYSTEM: u32 = 8; +pub const FILE_DEVICE_FILE_SYSTEM: u32 = 9; +pub const FILE_DEVICE_INPORT_PORT: u32 = 10; +pub const FILE_DEVICE_KEYBOARD: u32 = 11; +pub const FILE_DEVICE_MAILSLOT: u32 = 12; +pub const FILE_DEVICE_MIDI_IN: u32 = 13; +pub const FILE_DEVICE_MIDI_OUT: u32 = 14; +pub const FILE_DEVICE_MOUSE: u32 = 15; +pub const FILE_DEVICE_MULTI_UNC_PROVIDER: u32 = 16; +pub const FILE_DEVICE_NAMED_PIPE: u32 = 17; +pub const FILE_DEVICE_NETWORK: u32 = 18; +pub const FILE_DEVICE_NETWORK_BROWSER: u32 = 19; +pub const FILE_DEVICE_NETWORK_FILE_SYSTEM: u32 = 20; +pub const FILE_DEVICE_NULL: u32 = 21; +pub const FILE_DEVICE_PARALLEL_PORT: u32 = 22; +pub const FILE_DEVICE_PHYSICAL_NETCARD: u32 = 23; +pub const FILE_DEVICE_PRINTER: u32 = 24; +pub const FILE_DEVICE_SCANNER: u32 = 25; +pub const FILE_DEVICE_SERIAL_MOUSE_PORT: u32 = 26; +pub const FILE_DEVICE_SERIAL_PORT: u32 = 27; +pub const FILE_DEVICE_SCREEN: u32 = 28; +pub const FILE_DEVICE_SOUND: u32 = 29; +pub const FILE_DEVICE_STREAMS: u32 = 30; +pub const FILE_DEVICE_TAPE: u32 = 31; +pub const FILE_DEVICE_TAPE_FILE_SYSTEM: u32 = 32; +pub const FILE_DEVICE_TRANSPORT: u32 = 33; +pub const FILE_DEVICE_UNKNOWN: u32 = 34; +pub const FILE_DEVICE_VIDEO: u32 = 35; +pub const FILE_DEVICE_VIRTUAL_DISK: u32 = 36; +pub const FILE_DEVICE_WAVE_IN: u32 = 37; +pub const FILE_DEVICE_WAVE_OUT: u32 = 38; +pub const FILE_DEVICE_8042_PORT: u32 = 39; +pub const FILE_DEVICE_NETWORK_REDIRECTOR: u32 = 40; +pub const FILE_DEVICE_BATTERY: u32 = 41; +pub const FILE_DEVICE_BUS_EXTENDER: u32 = 42; +pub const FILE_DEVICE_MODEM: u32 = 43; +pub const FILE_DEVICE_VDM: u32 = 44; +pub const FILE_DEVICE_MASS_STORAGE: u32 = 45; +pub const FILE_DEVICE_SMB: u32 = 46; +pub const FILE_DEVICE_KS: u32 = 47; +pub const FILE_DEVICE_CHANGER: u32 = 48; +pub const FILE_DEVICE_SMARTCARD: u32 = 49; +pub const FILE_DEVICE_ACPI: u32 = 50; +pub const FILE_DEVICE_DVD: u32 = 51; +pub const FILE_DEVICE_FULLSCREEN_VIDEO: u32 = 52; +pub const FILE_DEVICE_DFS_FILE_SYSTEM: u32 = 53; +pub const FILE_DEVICE_DFS_VOLUME: u32 = 54; +pub const FILE_DEVICE_SERENUM: u32 = 55; +pub const FILE_DEVICE_TERMSRV: u32 = 56; +pub const FILE_DEVICE_KSEC: u32 = 57; +pub const FILE_DEVICE_FIPS: u32 = 58; +pub const FILE_DEVICE_INFINIBAND: u32 = 59; +pub const FILE_DEVICE_VMBUS: u32 = 62; +pub const FILE_DEVICE_CRYPT_PROVIDER: u32 = 63; +pub const FILE_DEVICE_WPD: u32 = 64; +pub const FILE_DEVICE_BLUETOOTH: u32 = 65; +pub const FILE_DEVICE_MT_COMPOSITE: u32 = 66; +pub const FILE_DEVICE_MT_TRANSPORT: u32 = 67; +pub const FILE_DEVICE_BIOMETRIC: u32 = 68; +pub const FILE_DEVICE_PMI: u32 = 69; +pub const FILE_DEVICE_EHSTOR: u32 = 70; +pub const FILE_DEVICE_DEVAPI: u32 = 71; +pub const FILE_DEVICE_GPIO: u32 = 72; +pub const FILE_DEVICE_USBEX: u32 = 73; +pub const FILE_DEVICE_CONSOLE: u32 = 80; +pub const FILE_DEVICE_NFP: u32 = 81; +pub const FILE_DEVICE_SYSENV: u32 = 82; +pub const FILE_DEVICE_VIRTUAL_BLOCK: u32 = 83; +pub const FILE_DEVICE_POINT_OF_SERVICE: u32 = 84; +pub const FILE_DEVICE_STORAGE_REPLICATION: u32 = 85; +pub const FILE_DEVICE_TRUST_ENV: u32 = 86; +pub const FILE_DEVICE_UCM: u32 = 87; +pub const FILE_DEVICE_UCMTCPCI: u32 = 88; +pub const FILE_DEVICE_PERSISTENT_MEMORY: u32 = 89; +pub const FILE_DEVICE_NVDIMM: u32 = 90; +pub const FILE_DEVICE_HOLOGRAPHIC: u32 = 91; +pub const FILE_DEVICE_SDFXHCI: u32 = 92; +pub const FILE_DEVICE_UCMUCSI: u32 = 93; +pub const FILE_DEVICE_PRM: u32 = 94; +pub const FILE_DEVICE_EVENT_COLLECTOR: u32 = 95; +pub const FILE_DEVICE_USB4: u32 = 96; +pub const FILE_DEVICE_SOUNDWIRE: u32 = 97; +pub const METHOD_BUFFERED: u32 = 0; +pub const METHOD_IN_DIRECT: u32 = 1; +pub const METHOD_OUT_DIRECT: u32 = 2; +pub const METHOD_NEITHER: u32 = 3; +pub const METHOD_DIRECT_TO_HARDWARE: u32 = 1; +pub const METHOD_DIRECT_FROM_HARDWARE: u32 = 2; +pub const FILE_ANY_ACCESS: u32 = 0; +pub const FILE_SPECIAL_ACCESS: u32 = 0; +pub const FILE_READ_ACCESS: u32 = 1; +pub const FILE_WRITE_ACCESS: u32 = 2; +pub const IOCTL_STORAGE_BASE: u32 = 45; +pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT: u32 = 1; +pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID: u32 = 2; +pub const STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID: u32 = 4; +pub const RECOVERED_WRITES_VALID: u32 = 1; +pub const UNRECOVERED_WRITES_VALID: u32 = 2; +pub const RECOVERED_READS_VALID: u32 = 4; +pub const UNRECOVERED_READS_VALID: u32 = 8; +pub const WRITE_COMPRESSION_INFO_VALID: u32 = 16; +pub const READ_COMPRESSION_INFO_VALID: u32 = 32; +pub const TAPE_RETURN_STATISTICS: u32 = 0; +pub const TAPE_RETURN_ENV_INFO: u32 = 1; +pub const TAPE_RESET_STATISTICS: u32 = 2; +pub const MEDIA_ERASEABLE: u32 = 1; +pub const MEDIA_WRITE_ONCE: u32 = 2; +pub const MEDIA_READ_ONLY: u32 = 4; +pub const MEDIA_READ_WRITE: u32 = 8; +pub const MEDIA_WRITE_PROTECTED: u32 = 256; +pub const MEDIA_CURRENTLY_MOUNTED: u32 = 2147483648; +pub const STORAGE_FAILURE_PREDICTION_CONFIG_V1: u32 = 1; +pub const SRB_TYPE_SCSI_REQUEST_BLOCK: u32 = 0; +pub const SRB_TYPE_STORAGE_REQUEST_BLOCK: u32 = 1; +pub const STORAGE_ADDRESS_TYPE_BTL8: u32 = 0; +pub const STORAGE_RPMB_DESCRIPTOR_VERSION_1: u32 = 1; +pub const STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE: u32 = 512; +pub const STORAGE_CRYPTO_CAPABILITY_VERSION_1: u32 = 1; +pub const STORAGE_CRYPTO_DESCRIPTOR_VERSION_1: u32 = 1; +pub const STORAGE_TIER_NAME_LENGTH: u32 = 256; +pub const STORAGE_TIER_DESCRIPTION_LENGTH: u32 = 512; +pub const STORAGE_TIER_FLAG_NO_SEEK_PENALTY: u32 = 131072; +pub const STORAGE_TIER_FLAG_WRITE_BACK_CACHE: u32 = 2097152; +pub const STORAGE_TIER_FLAG_READ_CACHE: u32 = 4194304; +pub const STORAGE_TIER_FLAG_PARITY: u32 = 8388608; +pub const STORAGE_TIER_FLAG_SMR: u32 = 16777216; +pub const STORAGE_TEMPERATURE_VALUE_NOT_REPORTED: u32 = 32768; +pub const STORAGE_TEMPERATURE_THRESHOLD_FLAG_ADAPTER_REQUEST: u32 = 1; +pub const STORAGE_COMPONENT_ROLE_CACHE: u32 = 1; +pub const STORAGE_COMPONENT_ROLE_TIERING: u32 = 2; +pub const STORAGE_COMPONENT_ROLE_DATA: u32 = 4; +pub const STORAGE_ATTRIBUTE_BYTE_ADDRESSABLE_IO: u32 = 1; +pub const STORAGE_ATTRIBUTE_BLOCK_IO: u32 = 2; +pub const STORAGE_ATTRIBUTE_DYNAMIC_PERSISTENCE: u32 = 4; +pub const STORAGE_ATTRIBUTE_VOLATILE: u32 = 8; +pub const STORAGE_ATTRIBUTE_ASYNC_EVENT_NOTIFICATION: u32 = 16; +pub const STORAGE_ATTRIBUTE_PERF_SIZE_INDEPENDENT: u32 = 32; +pub const STORAGE_DEVICE_MAX_OPERATIONAL_STATUS: u32 = 16; +pub const STORAGE_ADAPTER_SERIAL_NUMBER_V1_MAX_LENGTH: u32 = 128; +pub const STORAGE_DEVICE_NUMA_NODE_UNKNOWN: u32 = 4294967295; +pub const DeviceDsmActionFlag_NonDestructive: u32 = 2147483648; +pub const DeviceDsmAction_None: u32 = 0; +pub const DeviceDsmAction_Trim: u32 = 1; +pub const DeviceDsmAction_Notification: u32 = 2147483650; +pub const DeviceDsmAction_OffloadRead: u32 = 2147483651; +pub const DeviceDsmAction_OffloadWrite: u32 = 4; +pub const DeviceDsmAction_Allocation: u32 = 2147483653; +pub const DeviceDsmAction_Repair: u32 = 2147483654; +pub const DeviceDsmAction_Scrub: u32 = 2147483655; +pub const DeviceDsmAction_DrtQuery: u32 = 2147483656; +pub const DeviceDsmAction_DrtClear: u32 = 2147483657; +pub const DeviceDsmAction_DrtDisable: u32 = 2147483658; +pub const DeviceDsmAction_TieringQuery: u32 = 2147483659; +pub const DeviceDsmAction_Map: u32 = 2147483660; +pub const DeviceDsmAction_RegenerateParity: u32 = 2147483661; +pub const DeviceDsmAction_NvCache_Change_Priority: u32 = 2147483662; +pub const DeviceDsmAction_NvCache_Evict: u32 = 2147483663; +pub const DeviceDsmAction_TopologyIdQuery: u32 = 2147483664; +pub const DeviceDsmAction_GetPhysicalAddresses: u32 = 2147483665; +pub const DeviceDsmAction_ScopeRegen: u32 = 2147483666; +pub const DeviceDsmAction_ReportZones: u32 = 2147483667; +pub const DeviceDsmAction_OpenZone: u32 = 2147483668; +pub const DeviceDsmAction_FinishZone: u32 = 2147483669; +pub const DeviceDsmAction_CloseZone: u32 = 2147483670; +pub const DeviceDsmAction_ResetWritePointer: u32 = 23; +pub const DeviceDsmAction_GetRangeErrorInfo: u32 = 2147483672; +pub const DeviceDsmAction_WriteZeroes: u32 = 25; +pub const DeviceDsmAction_LostQuery: u32 = 2147483674; +pub const DeviceDsmAction_GetFreeSpace: u32 = 2147483675; +pub const DeviceDsmAction_ConversionQuery: u32 = 2147483676; +pub const DeviceDsmAction_VdtSet: u32 = 29; +pub const DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE: u32 = 1; +pub const DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED: u32 = 2147483648; +pub const DEVICE_DSM_FLAG_TRIM_BYPASS_RZAT: u32 = 1073741824; +pub const DEVICE_DSM_NOTIFY_FLAG_BEGIN: u32 = 1; +pub const DEVICE_DSM_NOTIFY_FLAG_END: u32 = 2; +pub const STORAGE_OFFLOAD_MAX_TOKEN_LENGTH: u32 = 512; +pub const STORAGE_OFFLOAD_TOKEN_ID_LENGTH: u32 = 504; +pub const STORAGE_OFFLOAD_TOKEN_TYPE_ZERO_DATA: u32 = 4294901761; +pub const STORAGE_OFFLOAD_READ_RANGE_TRUNCATED: u32 = 1; +pub const STORAGE_OFFLOAD_WRITE_RANGE_TRUNCATED: u32 = 1; +pub const STORAGE_OFFLOAD_TOKEN_INVALID: u32 = 2; +pub const DEVICE_DSM_FLAG_ALLOCATION_CONSOLIDATEABLE_ONLY: u32 = 1073741824; +pub const DEVICE_DSM_PARAMETERS_V1: u32 = 1; +pub const DEVICE_DATA_SET_LBP_STATE_PARAMETERS_VERSION_V1: u32 = 1; +pub const DEVICE_DSM_FLAG_REPAIR_INPUT_TOPOLOGY_ID_PRESENT: u32 = 1073741824; +pub const DEVICE_DSM_FLAG_REPAIR_OUTPUT_PARITY_EXTENT: u32 = 536870912; +pub const DEVICE_DSM_FLAG_SCRUB_SKIP_IN_SYNC: u32 = 268435456; +pub const DEVICE_DSM_FLAG_SCRUB_OUTPUT_PARITY_EXTENT: u32 = 536870912; +pub const DEVICE_DSM_FLAG_PHYSICAL_ADDRESSES_OMIT_TOTAL_RANGES: u32 = 268435456; +pub const DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT_V1: u32 = 1; +pub const DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT_VERSION_V1: u32 = 1; +pub const DEVICE_STORAGE_NO_ERRORS: u32 = 1; +pub const DEVICE_DSM_RANGE_ERROR_OUTPUT_V1: u32 = 1; +pub const DEVICE_DSM_RANGE_ERROR_INFO_VERSION_V1: u32 = 1; +pub const IOCTL_STORAGE_BC_VERSION: u32 = 1; +pub const STORAGE_PRIORITY_HINT_SUPPORTED: u32 = 1; +pub const STORAGE_DIAGNOSTIC_FLAG_ADAPTER_REQUEST: u32 = 1; +pub const ERROR_HISTORY_DIRECTORY_ENTRY_DEFAULT_COUNT: u32 = 8; +pub const DEVICEDUMP_STRUCTURE_VERSION_V1: u32 = 1; +pub const DEVICEDUMP_MAX_IDSTRING: u32 = 32; +pub const MAX_FW_BUCKET_ID_LENGTH: u32 = 132; +pub const STORAGE_CRASH_TELEMETRY_REGKEY: &[u8; 81usize] = + b"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\StorageTelemetry\0"; +pub const STORAGE_DEVICE_TELEMETRY_REGKEY: &[u8; 76usize] = + b"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Storage\\StorageTelemetry\0"; +pub const DDUMP_FLAG_DATA_READ_FROM_DEVICE: u32 = 1; +pub const FW_ISSUEID_NO_ISSUE: u32 = 0; +pub const FW_ISSUEID_UNKNOWN: u32 = 4294967295; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_SMART: u32 = 1; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_GPLOG: u32 = 2; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_GPLOG_MAX: u32 = 16; +pub const TC_DEVICEDUMP_SUBSECTION_DESC_LENGTH: u32 = 16; +pub const TC_PUBLIC_DATA_TYPE_ATAGP: &[u8; 14usize] = b"ATAGPLogPages\0"; +pub const TC_PUBLIC_DATA_TYPE_ATASMART: &[u8; 14usize] = b"ATASMARTPages\0"; +pub const CDB_SIZE: u32 = 16; +pub const TELEMETRY_COMMAND_SIZE: u32 = 16; +pub const DEVICEDUMP_CAP_PRIVATE_SECTION: u32 = 1; +pub const DEVICEDUMP_CAP_RESTRICTED_SECTION: u32 = 2; +pub const STORAGE_IDLE_POWERUP_REASON_VERSION_V1: u32 = 1; +pub const STORAGE_DEVICE_POWER_CAP_VERSION_V1: u32 = 1; +pub const STORAGE_EVENT_NOTIFICATION_VERSION_V1: u32 = 1; +pub const STORAGE_EVENT_MEDIA_STATUS: u32 = 1; +pub const STORAGE_EVENT_DEVICE_STATUS: u32 = 2; +pub const STORAGE_EVENT_DEVICE_OPERATION: u32 = 4; +pub const STORAGE_EVENT_ALL: u32 = 7; +pub const READ_COPY_NUMBER_KEY: u32 = 1380142592; +pub const READ_COPY_NUMBER_BYPASS_CACHE_FLAG: u32 = 256; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_CONTROLLER: u32 = 1; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_LAST_SEGMENT: u32 = 2; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT: u32 = 4; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE: u32 = 2147483648; +pub const STORAGE_HW_FIRMWARE_INVALID_SLOT: u32 = 255; +pub const STORAGE_HW_FIRMWARE_REVISION_LENGTH: u32 = 16; +pub const STORAGE_PROTOCOL_STRUCTURE_VERSION: u32 = 1; +pub const STORAGE_PROTOCOL_COMMAND_FLAG_ADAPTER_REQUEST: u32 = 2147483648; +pub const STORAGE_PROTOCOL_STATUS_PENDING: u32 = 0; +pub const STORAGE_PROTOCOL_STATUS_SUCCESS: u32 = 1; +pub const STORAGE_PROTOCOL_STATUS_ERROR: u32 = 2; +pub const STORAGE_PROTOCOL_STATUS_INVALID_REQUEST: u32 = 3; +pub const STORAGE_PROTOCOL_STATUS_NO_DEVICE: u32 = 4; +pub const STORAGE_PROTOCOL_STATUS_BUSY: u32 = 5; +pub const STORAGE_PROTOCOL_STATUS_DATA_OVERRUN: u32 = 6; +pub const STORAGE_PROTOCOL_STATUS_INSUFFICIENT_RESOURCES: u32 = 7; +pub const STORAGE_PROTOCOL_STATUS_THROTTLED_REQUEST: u32 = 8; +pub const STORAGE_PROTOCOL_STATUS_NOT_SUPPORTED: u32 = 255; +pub const STORAGE_PROTOCOL_COMMAND_LENGTH_NVME: u32 = 64; +pub const STORAGE_PROTOCOL_SPECIFIC_NVME_ADMIN_COMMAND: u32 = 1; +pub const STORAGE_PROTOCOL_SPECIFIC_NVME_NVM_COMMAND: u32 = 2; +pub const STORATTRIBUTE_NONE: u32 = 0; +pub const STORATTRIBUTE_MANAGEMENT_STATE: u32 = 1; +pub const IOCTL_SCMBUS_BASE: u32 = 89; +pub const IOCTL_SCMBUS_DEVICE_FUNCTION_BASE: u32 = 0; +pub const IOCTL_SCM_LOGICAL_DEVICE_FUNCTION_BASE: u32 = 768; +pub const IOCTL_SCM_PHYSICAL_DEVICE_FUNCTION_BASE: u32 = 1536; +pub const SCM_MAX_SYMLINK_LEN_IN_CHARS: u32 = 256; +pub const MAX_INTERFACE_CODES: u32 = 8; +pub const SCM_PD_FIRMWARE_REVISION_LENGTH_BYTES: u32 = 32; +pub const SCM_PD_PROPERTY_NAME_LENGTH_IN_CHARS: u32 = 128; +pub const SCM_PD_MAX_OPERATIONAL_STATUS: u32 = 16; +pub const SCM_PD_FIRMWARE_LAST_DOWNLOAD: u32 = 1; +pub const IOCTL_DISK_BASE: u32 = 7; +pub const PARTITION_ENTRY_UNUSED: u32 = 0; +pub const PARTITION_FAT_12: u32 = 1; +pub const PARTITION_XENIX_1: u32 = 2; +pub const PARTITION_XENIX_2: u32 = 3; +pub const PARTITION_FAT_16: u32 = 4; +pub const PARTITION_EXTENDED: u32 = 5; +pub const PARTITION_HUGE: u32 = 6; +pub const PARTITION_IFS: u32 = 7; +pub const PARTITION_OS2BOOTMGR: u32 = 10; +pub const PARTITION_FAT32: u32 = 11; +pub const PARTITION_FAT32_XINT13: u32 = 12; +pub const PARTITION_XINT13: u32 = 14; +pub const PARTITION_XINT13_EXTENDED: u32 = 15; +pub const PARTITION_MSFT_RECOVERY: u32 = 39; +pub const PARTITION_MAIN_OS: u32 = 40; +pub const PARTIITON_OS_DATA: u32 = 41; +pub const PARTITION_PRE_INSTALLED: u32 = 42; +pub const PARTITION_BSP: u32 = 43; +pub const PARTITION_DPP: u32 = 44; +pub const PARTITION_WINDOWS_SYSTEM: u32 = 45; +pub const PARTITION_PREP: u32 = 65; +pub const PARTITION_LDM: u32 = 66; +pub const PARTITION_DM: u32 = 84; +pub const PARTITION_EZDRIVE: u32 = 85; +pub const PARTITION_UNIX: u32 = 99; +pub const PARTITION_SPACES_DATA: u32 = 215; +pub const PARTITION_SPACES: u32 = 231; +pub const PARTITION_GPT: u32 = 238; +pub const PARTITION_SYSTEM: u32 = 239; +pub const VALID_NTFT: u32 = 192; +pub const PARTITION_NTFT: u32 = 128; +pub const GPT_ATTRIBUTE_PLATFORM_REQUIRED: u32 = 1; +pub const GPT_ATTRIBUTE_NO_BLOCK_IO_PROTOCOL: u32 = 2; +pub const GPT_ATTRIBUTE_LEGACY_BIOS_BOOTABLE: u32 = 4; +pub const GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER: i64 = -9223372036854775808; +pub const GPT_BASIC_DATA_ATTRIBUTE_HIDDEN: u64 = 4611686018427387904; +pub const GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY: u64 = 2305843009213693952; +pub const GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY: u64 = 1152921504606846976; +pub const GPT_BASIC_DATA_ATTRIBUTE_OFFLINE: u64 = 576460752303423488; +pub const GPT_BASIC_DATA_ATTRIBUTE_DAX: u64 = 288230376151711744; +pub const GPT_BASIC_DATA_ATTRIBUTE_SERVICE: u64 = 144115188075855872; +pub const GPT_SPACES_ATTRIBUTE_NO_METADATA: i64 = -9223372036854775808; +pub const HIST_NO_OF_BUCKETS: u32 = 24; +pub const DISK_LOGGING_START: u32 = 0; +pub const DISK_LOGGING_STOP: u32 = 1; +pub const DISK_LOGGING_DUMP: u32 = 2; +pub const DISK_BINNING: u32 = 3; +pub const CAP_ATA_ID_CMD: u32 = 1; +pub const CAP_ATAPI_ID_CMD: u32 = 2; +pub const CAP_SMART_CMD: u32 = 4; +pub const ATAPI_ID_CMD: u32 = 161; +pub const ID_CMD: u32 = 236; +pub const SMART_CMD: u32 = 176; +pub const SMART_CYL_LOW: u32 = 79; +pub const SMART_CYL_HI: u32 = 194; +pub const SMART_NO_ERROR: u32 = 0; +pub const SMART_IDE_ERROR: u32 = 1; +pub const SMART_INVALID_FLAG: u32 = 2; +pub const SMART_INVALID_COMMAND: u32 = 3; +pub const SMART_INVALID_BUFFER: u32 = 4; +pub const SMART_INVALID_DRIVE: u32 = 5; +pub const SMART_INVALID_IOCTL: u32 = 6; +pub const SMART_ERROR_NO_MEM: u32 = 7; +pub const SMART_INVALID_REGISTER: u32 = 8; +pub const SMART_NOT_SUPPORTED: u32 = 9; +pub const SMART_NO_IDE_DEVICE: u32 = 10; +pub const SMART_OFFLINE_ROUTINE_OFFLINE: u32 = 0; +pub const SMART_SHORT_SELFTEST_OFFLINE: u32 = 1; +pub const SMART_EXTENDED_SELFTEST_OFFLINE: u32 = 2; +pub const SMART_ABORT_OFFLINE_SELFTEST: u32 = 127; +pub const SMART_SHORT_SELFTEST_CAPTIVE: u32 = 129; +pub const SMART_EXTENDED_SELFTEST_CAPTIVE: u32 = 130; +pub const READ_ATTRIBUTE_BUFFER_SIZE: u32 = 512; +pub const IDENTIFY_BUFFER_SIZE: u32 = 512; +pub const READ_THRESHOLD_BUFFER_SIZE: u32 = 512; +pub const SMART_LOG_SECTOR_SIZE: u32 = 512; +pub const READ_ATTRIBUTES: u32 = 208; +pub const READ_THRESHOLDS: u32 = 209; +pub const ENABLE_DISABLE_AUTOSAVE: u32 = 210; +pub const SAVE_ATTRIBUTE_VALUES: u32 = 211; +pub const EXECUTE_OFFLINE_DIAGS: u32 = 212; +pub const SMART_READ_LOG: u32 = 213; +pub const SMART_WRITE_LOG: u32 = 214; +pub const ENABLE_SMART: u32 = 216; +pub const DISABLE_SMART: u32 = 217; +pub const RETURN_SMART_STATUS: u32 = 218; +pub const ENABLE_DISABLE_AUTO_OFFLINE: u32 = 219; +pub const DISK_ATTRIBUTE_OFFLINE: u32 = 1; +pub const DISK_ATTRIBUTE_READ_ONLY: u32 = 2; +pub const IOCTL_CHANGER_BASE: u32 = 48; +pub const MAX_VOLUME_ID_SIZE: u32 = 36; +pub const MAX_VOLUME_TEMPLATE_SIZE: u32 = 40; +pub const VENDOR_ID_LENGTH: u32 = 8; +pub const PRODUCT_ID_LENGTH: u32 = 16; +pub const REVISION_LENGTH: u32 = 4; +pub const SERIAL_NUMBER_LENGTH: u32 = 32; +pub const CHANGER_BAR_CODE_SCANNER_INSTALLED: u32 = 1; +pub const CHANGER_INIT_ELEM_STAT_WITH_RANGE: u32 = 2; +pub const CHANGER_CLOSE_IEPORT: u32 = 4; +pub const CHANGER_OPEN_IEPORT: u32 = 8; +pub const CHANGER_STATUS_NON_VOLATILE: u32 = 16; +pub const CHANGER_EXCHANGE_MEDIA: u32 = 32; +pub const CHANGER_CLEANER_SLOT: u32 = 64; +pub const CHANGER_LOCK_UNLOCK: u32 = 128; +pub const CHANGER_CARTRIDGE_MAGAZINE: u32 = 256; +pub const CHANGER_MEDIUM_FLIP: u32 = 512; +pub const CHANGER_POSITION_TO_ELEMENT: u32 = 1024; +pub const CHANGER_REPORT_IEPORT_STATE: u32 = 2048; +pub const CHANGER_STORAGE_DRIVE: u32 = 4096; +pub const CHANGER_STORAGE_IEPORT: u32 = 8192; +pub const CHANGER_STORAGE_SLOT: u32 = 16384; +pub const CHANGER_STORAGE_TRANSPORT: u32 = 32768; +pub const CHANGER_DRIVE_CLEANING_REQUIRED: u32 = 65536; +pub const CHANGER_PREDISMOUNT_EJECT_REQUIRED: u32 = 131072; +pub const CHANGER_CLEANER_ACCESS_NOT_VALID: u32 = 262144; +pub const CHANGER_PREMOUNT_EJECT_REQUIRED: u32 = 524288; +pub const CHANGER_VOLUME_IDENTIFICATION: u32 = 1048576; +pub const CHANGER_VOLUME_SEARCH: u32 = 2097152; +pub const CHANGER_VOLUME_ASSERT: u32 = 4194304; +pub const CHANGER_VOLUME_REPLACE: u32 = 8388608; +pub const CHANGER_VOLUME_UNDEFINE: u32 = 16777216; +pub const CHANGER_SERIAL_NUMBER_VALID: u32 = 67108864; +pub const CHANGER_DEVICE_REINITIALIZE_CAPABLE: u32 = 134217728; +pub const CHANGER_KEYPAD_ENABLE_DISABLE: u32 = 268435456; +pub const CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS: u32 = 536870912; +pub const CHANGER_RESERVED_BIT: u32 = 2147483648; +pub const CHANGER_PREDISMOUNT_ALIGN_TO_SLOT: u32 = 2147483649; +pub const CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE: u32 = 2147483650; +pub const CHANGER_CLEANER_AUTODISMOUNT: u32 = 2147483652; +pub const CHANGER_TRUE_EXCHANGE_CAPABLE: u32 = 2147483656; +pub const CHANGER_SLOTS_USE_TRAYS: u32 = 2147483664; +pub const CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR: u32 = 2147483680; +pub const CHANGER_CLEANER_OPS_NOT_SUPPORTED: u32 = 2147483712; +pub const CHANGER_IEPORT_USER_CONTROL_OPEN: u32 = 2147483776; +pub const CHANGER_IEPORT_USER_CONTROL_CLOSE: u32 = 2147483904; +pub const CHANGER_MOVE_EXTENDS_IEPORT: u32 = 2147484160; +pub const CHANGER_MOVE_RETRACTS_IEPORT: u32 = 2147484672; +pub const CHANGER_TO_TRANSPORT: u32 = 1; +pub const CHANGER_TO_SLOT: u32 = 2; +pub const CHANGER_TO_IEPORT: u32 = 4; +pub const CHANGER_TO_DRIVE: u32 = 8; +pub const LOCK_UNLOCK_IEPORT: u32 = 1; +pub const LOCK_UNLOCK_DOOR: u32 = 2; +pub const LOCK_UNLOCK_KEYPAD: u32 = 4; +pub const LOCK_ELEMENT: u32 = 0; +pub const UNLOCK_ELEMENT: u32 = 1; +pub const EXTEND_IEPORT: u32 = 2; +pub const RETRACT_IEPORT: u32 = 3; +pub const ELEMENT_STATUS_FULL: u32 = 1; +pub const ELEMENT_STATUS_IMPEXP: u32 = 2; +pub const ELEMENT_STATUS_EXCEPT: u32 = 4; +pub const ELEMENT_STATUS_ACCESS: u32 = 8; +pub const ELEMENT_STATUS_EXENAB: u32 = 16; +pub const ELEMENT_STATUS_INENAB: u32 = 32; +pub const ELEMENT_STATUS_PRODUCT_DATA: u32 = 64; +pub const ELEMENT_STATUS_LUN_VALID: u32 = 4096; +pub const ELEMENT_STATUS_ID_VALID: u32 = 8192; +pub const ELEMENT_STATUS_NOT_BUS: u32 = 32768; +pub const ELEMENT_STATUS_INVERT: u32 = 4194304; +pub const ELEMENT_STATUS_SVALID: u32 = 8388608; +pub const ELEMENT_STATUS_PVOLTAG: u32 = 268435456; +pub const ELEMENT_STATUS_AVOLTAG: u32 = 536870912; +pub const ERROR_LABEL_UNREADABLE: u32 = 1; +pub const ERROR_LABEL_QUESTIONABLE: u32 = 2; +pub const ERROR_SLOT_NOT_PRESENT: u32 = 4; +pub const ERROR_DRIVE_NOT_INSTALLED: u32 = 8; +pub const ERROR_TRAY_MALFUNCTION: u32 = 16; +pub const ERROR_INIT_STATUS_NEEDED: u32 = 17; +pub const ERROR_UNHANDLED_ERROR: u32 = 4294967295; +pub const SEARCH_ALL: u32 = 0; +pub const SEARCH_PRIMARY: u32 = 1; +pub const SEARCH_ALTERNATE: u32 = 2; +pub const SEARCH_ALL_NO_SEQ: u32 = 4; +pub const SEARCH_PRI_NO_SEQ: u32 = 5; +pub const SEARCH_ALT_NO_SEQ: u32 = 6; +pub const ASSERT_PRIMARY: u32 = 8; +pub const ASSERT_ALTERNATE: u32 = 9; +pub const REPLACE_PRIMARY: u32 = 10; +pub const REPLACE_ALTERNATE: u32 = 11; +pub const UNDEFINE_PRIMARY: u32 = 12; +pub const UNDEFINE_ALTERNATE: u32 = 13; +pub const GET_VOLUME_BITMAP_FLAG_MASK_METADATA: u32 = 1; +pub const FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE: u32 = 1; +pub const USN_PAGE_SIZE: u32 = 4096; +pub const USN_REASON_DATA_OVERWRITE: u32 = 1; +pub const USN_REASON_DATA_EXTEND: u32 = 2; +pub const USN_REASON_DATA_TRUNCATION: u32 = 4; +pub const USN_REASON_NAMED_DATA_OVERWRITE: u32 = 16; +pub const USN_REASON_NAMED_DATA_EXTEND: u32 = 32; +pub const USN_REASON_NAMED_DATA_TRUNCATION: u32 = 64; +pub const USN_REASON_FILE_CREATE: u32 = 256; +pub const USN_REASON_FILE_DELETE: u32 = 512; +pub const USN_REASON_EA_CHANGE: u32 = 1024; +pub const USN_REASON_SECURITY_CHANGE: u32 = 2048; +pub const USN_REASON_RENAME_OLD_NAME: u32 = 4096; +pub const USN_REASON_RENAME_NEW_NAME: u32 = 8192; +pub const USN_REASON_INDEXABLE_CHANGE: u32 = 16384; +pub const USN_REASON_BASIC_INFO_CHANGE: u32 = 32768; +pub const USN_REASON_HARD_LINK_CHANGE: u32 = 65536; +pub const USN_REASON_COMPRESSION_CHANGE: u32 = 131072; +pub const USN_REASON_ENCRYPTION_CHANGE: u32 = 262144; +pub const USN_REASON_OBJECT_ID_CHANGE: u32 = 524288; +pub const USN_REASON_REPARSE_POINT_CHANGE: u32 = 1048576; +pub const USN_REASON_STREAM_CHANGE: u32 = 2097152; +pub const USN_REASON_TRANSACTED_CHANGE: u32 = 4194304; +pub const USN_REASON_INTEGRITY_CHANGE: u32 = 8388608; +pub const USN_REASON_DESIRED_STORAGE_CLASS_CHANGE: u32 = 16777216; +pub const USN_REASON_CLOSE: u32 = 2147483648; +pub const USN_DELETE_FLAG_DELETE: u32 = 1; +pub const USN_DELETE_FLAG_NOTIFY: u32 = 2; +pub const USN_DELETE_VALID_FLAGS: u32 = 3; +pub const USN_SOURCE_DATA_MANAGEMENT: u32 = 1; +pub const USN_SOURCE_AUXILIARY_DATA: u32 = 2; +pub const USN_SOURCE_REPLICATION_MANAGEMENT: u32 = 4; +pub const USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT: u32 = 8; +pub const USN_SOURCE_VALID_FLAGS: u32 = 15; +pub const MARK_HANDLE_PROTECT_CLUSTERS: u32 = 1; +pub const MARK_HANDLE_TXF_SYSTEM_LOG: u32 = 4; +pub const MARK_HANDLE_NOT_TXF_SYSTEM_LOG: u32 = 8; +pub const MARK_HANDLE_REALTIME: u32 = 32; +pub const MARK_HANDLE_NOT_REALTIME: u32 = 64; +pub const MARK_HANDLE_CLOUD_SYNC: u32 = 2048; +pub const MARK_HANDLE_READ_COPY: u32 = 128; +pub const MARK_HANDLE_NOT_READ_COPY: u32 = 256; +pub const MARK_HANDLE_FILTER_METADATA: u32 = 512; +pub const MARK_HANDLE_RETURN_PURGE_FAILURE: u32 = 1024; +pub const MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION: u32 = 4096; +pub const MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO: u32 = 8192; +pub const MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES: u32 = 16384; +pub const MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH: u32 = 32768; +pub const MARK_HANDLE_ENABLE_CPU_CACHE: u32 = 268435456; +pub const VOLUME_IS_DIRTY: u32 = 1; +pub const VOLUME_UPGRADE_SCHEDULED: u32 = 2; +pub const VOLUME_SESSION_OPEN: u32 = 4; +pub const FILE_PREFETCH_TYPE_FOR_CREATE: u32 = 1; +pub const FILE_PREFETCH_TYPE_FOR_DIRENUM: u32 = 2; +pub const FILE_PREFETCH_TYPE_FOR_CREATE_EX: u32 = 3; +pub const FILE_PREFETCH_TYPE_FOR_DIRENUM_EX: u32 = 4; +pub const FILE_PREFETCH_TYPE_MAX: u32 = 4; +pub const FILESYSTEM_STATISTICS_TYPE_NTFS: u32 = 1; +pub const FILESYSTEM_STATISTICS_TYPE_FAT: u32 = 2; +pub const FILESYSTEM_STATISTICS_TYPE_EXFAT: u32 = 3; +pub const FILESYSTEM_STATISTICS_TYPE_REFS: u32 = 4; +pub const FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA: u32 = 1; +pub const FILE_SET_ENCRYPTION: u32 = 1; +pub const FILE_CLEAR_ENCRYPTION: u32 = 2; +pub const STREAM_SET_ENCRYPTION: u32 = 3; +pub const STREAM_CLEAR_ENCRYPTION: u32 = 4; +pub const MAXIMUM_ENCRYPTION_VALUE: u32 = 4; +pub const ENCRYPTION_FORMAT_DEFAULT: u32 = 1; +pub const ENCRYPTED_DATA_INFO_SPARSE_FILE: u32 = 1; +pub const COPYFILE_SIS_LINK: u32 = 1; +pub const COPYFILE_SIS_REPLACE: u32 = 2; +pub const COPYFILE_SIS_FLAGS: u32 = 3; +pub const SET_REPAIR_ENABLED: u32 = 1; +pub const SET_REPAIR_WARN_ABOUT_DATA_LOSS: u32 = 8; +pub const SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT: u32 = 16; +pub const SET_REPAIR_VALID_MASK: u32 = 25; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_IN_USE: u32 = 1; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_REUSED: u32 = 2; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_EXIST: u32 = 4; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_BASE_RECORD: u32 = 8; +pub const FILE_INITIATE_REPAIR_HINT1_SYSTEM_FILE: u32 = 16; +pub const FILE_INITIATE_REPAIR_HINT1_NOT_IMPLEMENTED: u32 = 32; +pub const FILE_INITIATE_REPAIR_HINT1_UNABLE_TO_REPAIR: u32 = 64; +pub const FILE_INITIATE_REPAIR_HINT1_REPAIR_DISABLED: u32 = 128; +pub const FILE_INITIATE_REPAIR_HINT1_RECURSIVELY_CORRUPTED: u32 = 256; +pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN_GENERATED: u32 = 512; +pub const FILE_INITIATE_REPAIR_HINT1_REPAIRED: u32 = 1024; +pub const FILE_INITIATE_REPAIR_HINT1_NOTHING_WRONG: u32 = 2048; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NOT_FOUND: u32 = 4096; +pub const FILE_INITIATE_REPAIR_HINT1_POTENTIAL_CROSSLINK: u32 = 8192; +pub const FILE_INITIATE_REPAIR_HINT1_STALE_INFORMATION: u32 = 16384; +pub const FILE_INITIATE_REPAIR_HINT1_CLUSTERS_ALREADY_IN_USE: u32 = 32768; +pub const FILE_INITIATE_REPAIR_HINT1_LCN_NOT_EXIST: u32 = 65536; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_RUN_LENGTH: u32 = 131072; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_ORPHAN: u32 = 262144; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_IS_BASE_RECORD: u32 = 524288; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ARRAY_LENGTH_COUNT: u32 = 1048576; +pub const FILE_INITIATE_REPAIR_HINT1_SID_VALID: u32 = 2097152; +pub const FILE_INITIATE_REPAIR_HINT1_SID_MISMATCH: u32 = 4194304; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_PARENT: u32 = 8388608; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_IN_USE: u32 = 16777216; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_REUSED: u32 = 33554432; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_EXIST: u32 = 67108864; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_BASE_RECORD: u32 = 134217728; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_INDEX: u32 = 268435456; +pub const FILE_INITIATE_REPAIR_HINT1_VALID_INDEX_ENTRY: u32 = 536870912; +pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_GENERIC_NAMES: u32 = 1073741824; +pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_RESOURCE: u32 = 2147483648; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_LCN: u64 = 4294967296; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_VCN: u64 = 8589934592; +pub const FILE_INITIATE_REPAIR_HINT1_NAME_CONFLICT: u64 = 17179869184; +pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN: u64 = 34359738368; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_TOO_SMALL: u64 = 68719476736; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NON_RESIDENT: u64 = 137438953472; +pub const FILE_INITIATE_REPAIR_HINT1_DENY_DEFRAG: u64 = 274877906944; +pub const FILE_INITIATE_REPAIR_HINT1_PREVIOUS_PARENT_STILL_VALID: u64 = 549755813888; +pub const FILE_INITIATE_REPAIR_HINT1_INDEX_ENTRY_MISMATCH: u64 = 1099511627776; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ORPHAN_RECOVERY_NAME: u64 = 2199023255552; +pub const FILE_INITIATE_REPAIR_HINT1_MULTIPLE_FILE_NAME_ATTRIBUTES: u64 = 4398046511104; +pub const TXFS_RM_FLAG_LOGGING_MODE: u32 = 1; +pub const TXFS_RM_FLAG_RENAME_RM: u32 = 2; +pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 4; +pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 8; +pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 16; +pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 32; +pub const TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 64; +pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 128; +pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 256; +pub const TXFS_RM_FLAG_GROW_LOG: u32 = 1024; +pub const TXFS_RM_FLAG_SHRINK_LOG: u32 = 2048; +pub const TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE: u32 = 4096; +pub const TXFS_RM_FLAG_PRESERVE_CHANGES: u32 = 8192; +pub const TXFS_RM_FLAG_RESET_RM_AT_NEXT_START: u32 = 16384; +pub const TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START: u32 = 32768; +pub const TXFS_RM_FLAG_PREFER_CONSISTENCY: u32 = 65536; +pub const TXFS_RM_FLAG_PREFER_AVAILABILITY: u32 = 131072; +pub const TXFS_LOGGING_MODE_SIMPLE: u32 = 1; +pub const TXFS_LOGGING_MODE_FULL: u32 = 2; +pub const TXFS_TRANSACTION_STATE_NONE: u32 = 0; +pub const TXFS_TRANSACTION_STATE_ACTIVE: u32 = 1; +pub const TXFS_TRANSACTION_STATE_PREPARED: u32 = 2; +pub const TXFS_TRANSACTION_STATE_NOTACTIVE: u32 = 3; +pub const TXFS_MODIFY_RM_VALID_FLAGS: u32 = 261631; +pub const TXFS_RM_STATE_NOT_STARTED: u32 = 0; +pub const TXFS_RM_STATE_STARTING: u32 = 1; +pub const TXFS_RM_STATE_ACTIVE: u32 = 2; +pub const TXFS_RM_STATE_SHUTTING_DOWN: u32 = 3; +pub const TXFS_QUERY_RM_INFORMATION_VALID_FLAGS: u32 = 246192; +pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN: u32 = 1; +pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK: u32 = 2; +pub const TXFS_ROLLFORWARD_REDO_VALID_FLAGS: u32 = 3; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 1; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 2; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE: u32 = 4; +pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 8; +pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 16; +pub const TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 32; +pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 64; +pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 128; +pub const TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT: u32 = 512; +pub const TXFS_START_RM_FLAG_LOGGING_MODE: u32 = 1024; +pub const TXFS_START_RM_FLAG_PRESERVE_CHANGES: u32 = 2048; +pub const TXFS_START_RM_FLAG_PREFER_CONSISTENCY: u32 = 4096; +pub const TXFS_START_RM_FLAG_PREFER_AVAILABILITY: u32 = 8192; +pub const TXFS_START_RM_VALID_FLAGS: u32 = 15999; +pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_CREATED: u32 = 1; +pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_DELETED: u32 = 2; +pub const TXFS_TRANSACTED_VERSION_NONTRANSACTED: u32 = 4294967294; +pub const TXFS_TRANSACTED_VERSION_UNCOMMITTED: u32 = 4294967295; +pub const TXFS_SAVEPOINT_SET: u32 = 1; +pub const TXFS_SAVEPOINT_ROLLBACK: u32 = 2; +pub const TXFS_SAVEPOINT_CLEAR: u32 = 4; +pub const TXFS_SAVEPOINT_CLEAR_ALL: u32 = 16; +pub const PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED: u32 = 1; +pub const PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED: u32 = 2; +pub const PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY: u32 = 4; +pub const PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY: u32 = 8; +pub const PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING: u32 = 16; +pub const PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM: u32 = 32; +pub const PERSISTENT_VOLUME_STATE_BACKED_BY_WIM: u32 = 64; +pub const PERSISTENT_VOLUME_STATE_NO_WRITE_AUTO_TIERING: u32 = 128; +pub const PERSISTENT_VOLUME_STATE_TXF_DISABLED: u32 = 256; +pub const PERSISTENT_VOLUME_STATE_REALLOCATE_ALL_DATA_WRITES: u32 = 512; +pub const PERSISTENT_VOLUME_STATE_CHKDSK_RAN_ONCE: u32 = 1024; +pub const PERSISTENT_VOLUME_STATE_MODIFIED_BY_CHKDSK: u32 = 2048; +pub const PERSISTENT_VOLUME_STATE_DAX_FORMATTED: u32 = 4096; +pub const OPLOCK_LEVEL_CACHE_READ: u32 = 1; +pub const OPLOCK_LEVEL_CACHE_HANDLE: u32 = 2; +pub const OPLOCK_LEVEL_CACHE_WRITE: u32 = 4; +pub const REQUEST_OPLOCK_INPUT_FLAG_REQUEST: u32 = 1; +pub const REQUEST_OPLOCK_INPUT_FLAG_ACK: u32 = 2; +pub const REQUEST_OPLOCK_INPUT_FLAG_COMPLETE_ACK_ON_CLOSE: u32 = 4; +pub const REQUEST_OPLOCK_CURRENT_VERSION: u32 = 1; +pub const REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED: u32 = 1; +pub const REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED: u32 = 2; +pub const QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_HOST_VOLUMES: u32 = 1; +pub const QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_GUEST_VOLUMES: u32 = 2; +pub const SD_GLOBAL_CHANGE_TYPE_MACHINE_SID: u32 = 1; +pub const SD_GLOBAL_CHANGE_TYPE_QUERY_STATS: u32 = 65536; +pub const SD_GLOBAL_CHANGE_TYPE_ENUM_SDS: u32 = 131072; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_PAGE_FILE: u32 = 1; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_DENY_DEFRAG_SET: u32 = 2; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_FS_SYSTEM_FILE: u32 = 4; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_TXF_SYSTEM_FILE: u32 = 8; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_MASK: u32 = 4278190080; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_DATA: u32 = 16777216; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_INDEX: u32 = 33554432; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_SYSTEM: u32 = 50331648; +pub const FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN: u32 = 1; +pub const FILE_TYPE_NOTIFICATION_FLAG_USAGE_END: u32 = 2; +pub const CSV_MGMTLOCK_CHECK_VOLUME_REDIRECTED: u32 = 1; +pub const CSV_INVALID_DEVICE_NUMBER: u32 = 4294967295; +pub const CSV_QUERY_MDS_PATH_V2_VERSION_1: u32 = 1; +pub const CSV_QUERY_MDS_PATH_FLAG_STORAGE_ON_THIS_NODE_IS_CONNECTED: u32 = 1; +pub const CSV_QUERY_MDS_PATH_FLAG_CSV_DIRECT_IO_ENABLED: u32 = 2; +pub const CSV_QUERY_MDS_PATH_FLAG_SMB_BYPASS_CSV_ENABLED: u32 = 4; +pub const QUERY_FILE_LAYOUT_RESTART: u32 = 1; +pub const QUERY_FILE_LAYOUT_INCLUDE_NAMES: u32 = 2; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAMS: u32 = 4; +pub const QUERY_FILE_LAYOUT_INCLUDE_EXTENTS: u32 = 8; +pub const QUERY_FILE_LAYOUT_INCLUDE_EXTRA_INFO: u32 = 16; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAMS_WITH_NO_CLUSTERS_ALLOCATED: u32 = 32; +pub const QUERY_FILE_LAYOUT_INCLUDE_FULL_PATH_IN_NAMES: u32 = 64; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION: u32 = 128; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_DSC_ATTRIBUTE: u32 = 256; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_TXF_ATTRIBUTE: u32 = 512; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_EFS_ATTRIBUTE: u32 = 1024; +pub const QUERY_FILE_LAYOUT_INCLUDE_ONLY_FILES_WITH_SPECIFIC_ATTRIBUTES: u32 = 2048; +pub const QUERY_FILE_LAYOUT_INCLUDE_FILES_WITH_DSC_ATTRIBUTE: u32 = 4096; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_DATA_ATTRIBUTE: u32 = 8192; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_REPARSE_ATTRIBUTE: u32 = 16384; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_EA_ATTRIBUTE: u32 = 32768; +pub const QUERY_FILE_LAYOUT_SINGLE_INSTANCED: u32 = 1; +pub const FILE_LAYOUT_NAME_ENTRY_PRIMARY: u32 = 1; +pub const FILE_LAYOUT_NAME_ENTRY_DOS: u32 = 2; +pub const STREAM_LAYOUT_ENTRY_IMMOVABLE: u32 = 1; +pub const STREAM_LAYOUT_ENTRY_PINNED: u32 = 2; +pub const STREAM_LAYOUT_ENTRY_RESIDENT: u32 = 4; +pub const STREAM_LAYOUT_ENTRY_NO_CLUSTERS_ALLOCATED: u32 = 8; +pub const STREAM_LAYOUT_ENTRY_HAS_INFORMATION: u32 = 16; +pub const STREAM_EXTENT_ENTRY_AS_RETRIEVAL_POINTERS: u32 = 1; +pub const STREAM_EXTENT_ENTRY_ALL_EXTENTS: u32 = 2; +pub const CHECKSUM_TYPE_UNCHANGED: i32 = -1; +pub const CHECKSUM_TYPE_NONE: u32 = 0; +pub const CHECKSUM_TYPE_CRC32: u32 = 1; +pub const CHECKSUM_TYPE_CRC64: u32 = 2; +pub const CHECKSUM_TYPE_ECC: u32 = 3; +pub const CHECKSUM_TYPE_FIRST_UNUSED_TYPE: u32 = 4; +pub const FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF: u32 = 1; +pub const OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE: u32 = 1; +pub const SET_PURGE_FAILURE_MODE_ENABLED: u32 = 1; +pub const SET_PURGE_FAILURE_MODE_DISABLED: u32 = 2; +pub const FILE_REGION_USAGE_VALID_CACHED_DATA: u32 = 1; +pub const FILE_REGION_USAGE_VALID_NONCACHED_DATA: u32 = 2; +pub const FILE_REGION_USAGE_OTHER_PAGE_ALIGNMENT: u32 = 4; +pub const FILE_REGION_USAGE_LARGE_PAGE_ALIGNMENT: u32 = 8; +pub const FILE_REGION_USAGE_HUGE_PAGE_ALIGNMENT: u32 = 16; +pub const FILE_REGION_USAGE_QUERY_ALIGNMENT: u32 = 24; +pub const VALID_WRITE_USN_REASON_MASK: u32 = 2147483649; +pub const FILE_STORAGE_TIER_NAME_LENGTH: u32 = 256; +pub const FILE_STORAGE_TIER_DESCRIPTION_LENGTH: u32 = 512; +pub const FILE_STORAGE_TIER_FLAG_NO_SEEK_PENALTY: u32 = 131072; +pub const FILE_STORAGE_TIER_FLAG_WRITE_BACK_CACHE: u32 = 2097152; +pub const FILE_STORAGE_TIER_FLAG_READ_CACHE: u32 = 4194304; +pub const FILE_STORAGE_TIER_FLAG_PARITY: u32 = 8388608; +pub const FILE_STORAGE_TIER_FLAG_SMR: u32 = 16777216; +pub const QUERY_STORAGE_CLASSES_FLAGS_MEASURE_WRITE: u32 = 2147483648; +pub const QUERY_STORAGE_CLASSES_FLAGS_MEASURE_READ: u32 = 1073741824; +pub const QUERY_STORAGE_CLASSES_FLAGS_NO_DEFRAG_VOLUME: u32 = 536870912; +pub const QUERY_FILE_LAYOUT_REPARSE_DATA_INVALID: u32 = 1; +pub const QUERY_FILE_LAYOUT_REPARSE_TAG_INVALID: u32 = 2; +pub const DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC: u32 = 1; +pub const DUPLICATE_EXTENTS_DATA_EX_ASYNC: u32 = 2; +pub const REFS_SMR_VOLUME_INFO_OUTPUT_VERSION_V0: u32 = 0; +pub const REFS_SMR_VOLUME_INFO_OUTPUT_VERSION_V1: u32 = 1; +pub const REFS_SMR_VOLUME_GC_PARAMETERS_VERSION_V1: u32 = 1; +pub const STREAMS_INVALID_ID: u32 = 0; +pub const STREAMS_MAX_ID: u32 = 65535; +pub const STREAMS_ASSOCIATE_ID_CLEAR: u32 = 1; +pub const STREAMS_ASSOCIATE_ID_SET: u32 = 2; +pub const DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY: u32 = 1; +pub const DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED: u32 = 2; +pub const WOF_CURRENT_VERSION: u32 = 1; +pub const WOF_PROVIDER_WIM: u32 = 1; +pub const WOF_PROVIDER_FILE: u32 = 2; +pub const WOF_PROVIDER_CLOUD: u32 = 3; +pub const WIM_PROVIDER_HASH_SIZE: u32 = 20; +pub const WIM_PROVIDER_CURRENT_VERSION: u32 = 1; +pub const WIM_PROVIDER_EXTERNAL_FLAG_NOT_ACTIVE: u32 = 1; +pub const WIM_PROVIDER_EXTERNAL_FLAG_SUSPENDED: u32 = 2; +pub const WIM_BOOT_OS_WIM: u32 = 1; +pub const WIM_BOOT_NOT_OS_WIM: u32 = 0; +pub const FILE_PROVIDER_CURRENT_VERSION: u32 = 1; +pub const FILE_PROVIDER_SINGLE_FILE: u32 = 1; +pub const FILE_PROVIDER_COMPRESSION_XPRESS4K: u32 = 0; +pub const FILE_PROVIDER_COMPRESSION_LZX: u32 = 1; +pub const FILE_PROVIDER_COMPRESSION_XPRESS8K: u32 = 2; +pub const FILE_PROVIDER_COMPRESSION_XPRESS16K: u32 = 3; +pub const FILE_PROVIDER_COMPRESSION_MAXIMUM: u32 = 4; +pub const FILE_PROVIDER_FLAG_COMPRESS_ON_WRITE: u32 = 1; +pub const CONTAINER_VOLUME_STATE_HOSTING_CONTAINER: u32 = 1; +pub const CONTAINER_ROOT_INFO_FLAG_SCRATCH_ROOT: u32 = 1; +pub const CONTAINER_ROOT_INFO_FLAG_LAYER_ROOT: u32 = 2; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_ROOT: u32 = 4; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_TARGET_ROOT: u32 = 8; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_EXCEPTION_ROOT: u32 = 16; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_ROOT: u32 = 32; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_TARGET_ROOT: u32 = 64; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_EXCEPTION_ROOT: u32 = 128; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_DO_NOT_MAP_NAME: u32 = 256; +pub const CONTAINER_ROOT_INFO_FLAG_UNION_LAYER_ROOT: u32 = 512; +pub const CONTAINER_ROOT_INFO_VALID_FLAGS: u32 = 1023; +pub const PROJFS_PROTOCOL_VERSION: u32 = 3; +pub const IOCTL_VOLUME_BASE: u32 = 86; +pub const EFS_TRACKED_OFFSET_HEADER_FLAG: u32 = 1; +pub const SPACES_TRACKED_OFFSET_HEADER_FLAG: u32 = 2; +pub const SCARD_ATR_LENGTH: u32 = 33; +pub const SCARD_PROTOCOL_UNDEFINED: u32 = 0; +pub const SCARD_PROTOCOL_T0: u32 = 1; +pub const SCARD_PROTOCOL_T1: u32 = 2; +pub const SCARD_PROTOCOL_RAW: u32 = 65536; +pub const SCARD_PROTOCOL_Tx: u32 = 3; +pub const SCARD_PROTOCOL_DEFAULT: u32 = 2147483648; +pub const SCARD_PROTOCOL_OPTIMAL: u32 = 0; +pub const SCARD_POWER_DOWN: u32 = 0; +pub const SCARD_COLD_RESET: u32 = 1; +pub const SCARD_WARM_RESET: u32 = 2; +pub const MAXIMUM_ATTR_STRING_LENGTH: u32 = 32; +pub const MAXIMUM_SMARTCARD_READERS: u32 = 10; +pub const SCARD_CLASS_VENDOR_INFO: u32 = 1; +pub const SCARD_CLASS_COMMUNICATIONS: u32 = 2; +pub const SCARD_CLASS_PROTOCOL: u32 = 3; +pub const SCARD_CLASS_POWER_MGMT: u32 = 4; +pub const SCARD_CLASS_SECURITY: u32 = 5; +pub const SCARD_CLASS_MECHANICAL: u32 = 6; +pub const SCARD_CLASS_VENDOR_DEFINED: u32 = 7; +pub const SCARD_CLASS_IFD_PROTOCOL: u32 = 8; +pub const SCARD_CLASS_ICC_STATE: u32 = 9; +pub const SCARD_CLASS_PERF: u32 = 32766; +pub const SCARD_CLASS_SYSTEM: u32 = 32767; +pub const SCARD_T0_HEADER_LENGTH: u32 = 7; +pub const SCARD_T0_CMD_LENGTH: u32 = 5; +pub const SCARD_T1_PROLOGUE_LENGTH: u32 = 3; +pub const SCARD_T1_EPILOGUE_LENGTH: u32 = 2; +pub const SCARD_T1_EPILOGUE_LENGTH_LRC: u32 = 1; +pub const SCARD_T1_MAX_IFS: u32 = 254; +pub const SCARD_UNKNOWN: u32 = 0; +pub const SCARD_ABSENT: u32 = 1; +pub const SCARD_PRESENT: u32 = 2; +pub const SCARD_SWALLOWED: u32 = 3; +pub const SCARD_POWERED: u32 = 4; +pub const SCARD_NEGOTIABLE: u32 = 5; +pub const SCARD_SPECIFIC: u32 = 6; +pub const SCARD_READER_SWALLOWS: u32 = 1; +pub const SCARD_READER_EJECTS: u32 = 2; +pub const SCARD_READER_CONFISCATES: u32 = 4; +pub const SCARD_READER_CONTACTLESS: u32 = 8; +pub const SCARD_READER_TYPE_SERIAL: u32 = 1; +pub const SCARD_READER_TYPE_PARALELL: u32 = 2; +pub const SCARD_READER_TYPE_KEYBOARD: u32 = 4; +pub const SCARD_READER_TYPE_SCSI: u32 = 8; +pub const SCARD_READER_TYPE_IDE: u32 = 16; +pub const SCARD_READER_TYPE_USB: u32 = 32; +pub const SCARD_READER_TYPE_PCMCIA: u32 = 64; +pub const SCARD_READER_TYPE_TPM: u32 = 128; +pub const SCARD_READER_TYPE_NFC: u32 = 256; +pub const SCARD_READER_TYPE_UICC: u32 = 512; +pub const SCARD_READER_TYPE_NGC: u32 = 1024; +pub const SCARD_READER_TYPE_EMBEDDEDSE: u32 = 2048; +pub const SCARD_READER_TYPE_VENDOR: u32 = 240; +pub const SCARD_SCOPE_USER: u32 = 0; +pub const SCARD_SCOPE_TERMINAL: u32 = 1; +pub const SCARD_SCOPE_SYSTEM: u32 = 2; +pub const SCARD_PROVIDER_PRIMARY: u32 = 1; +pub const SCARD_PROVIDER_CSP: u32 = 2; +pub const SCARD_PROVIDER_KSP: u32 = 3; +pub const SCARD_STATE_UNAWARE: u32 = 0; +pub const SCARD_STATE_IGNORE: u32 = 1; +pub const SCARD_STATE_CHANGED: u32 = 2; +pub const SCARD_STATE_UNKNOWN: u32 = 4; +pub const SCARD_STATE_UNAVAILABLE: u32 = 8; +pub const SCARD_STATE_EMPTY: u32 = 16; +pub const SCARD_STATE_PRESENT: u32 = 32; +pub const SCARD_STATE_ATRMATCH: u32 = 64; +pub const SCARD_STATE_EXCLUSIVE: u32 = 128; +pub const SCARD_STATE_INUSE: u32 = 256; +pub const SCARD_STATE_MUTE: u32 = 512; +pub const SCARD_STATE_UNPOWERED: u32 = 1024; +pub const SCARD_SHARE_EXCLUSIVE: u32 = 1; +pub const SCARD_SHARE_SHARED: u32 = 2; +pub const SCARD_SHARE_DIRECT: u32 = 3; +pub const SCARD_LEAVE_CARD: u32 = 0; +pub const SCARD_RESET_CARD: u32 = 1; +pub const SCARD_UNPOWER_CARD: u32 = 2; +pub const SCARD_EJECT_CARD: u32 = 3; +pub const SC_DLG_MINIMAL_UI: u32 = 1; +pub const SC_DLG_NO_UI: u32 = 2; +pub const SC_DLG_FORCE_UI: u32 = 4; +pub const SCERR_NOCARDNAME: u32 = 16384; +pub const SCERR_NOGUIDS: u32 = 32768; +pub const SCARD_AUDIT_CHV_FAILURE: u32 = 0; +pub const SCARD_AUDIT_CHV_SUCCESS: u32 = 1; +pub const MAXPROPPAGES: u32 = 100; +pub const PSP_DEFAULT: u32 = 0; +pub const PSP_DLGINDIRECT: u32 = 1; +pub const PSP_USEHICON: u32 = 2; +pub const PSP_USEICONID: u32 = 4; +pub const PSP_USETITLE: u32 = 8; +pub const PSP_RTLREADING: u32 = 16; +pub const PSP_HASHELP: u32 = 32; +pub const PSP_USEREFPARENT: u32 = 64; +pub const PSP_USECALLBACK: u32 = 128; +pub const PSP_PREMATURE: u32 = 1024; +pub const PSP_HIDEHEADER: u32 = 2048; +pub const PSP_USEHEADERTITLE: u32 = 4096; +pub const PSP_USEHEADERSUBTITLE: u32 = 8192; +pub const PSP_USEFUSIONCONTEXT: u32 = 16384; +pub const PSPCB_ADDREF: u32 = 0; +pub const PSPCB_RELEASE: u32 = 1; +pub const PSPCB_CREATE: u32 = 2; +pub const PSH_DEFAULT: u32 = 0; +pub const PSH_PROPTITLE: u32 = 1; +pub const PSH_USEHICON: u32 = 2; +pub const PSH_USEICONID: u32 = 4; +pub const PSH_PROPSHEETPAGE: u32 = 8; +pub const PSH_WIZARDHASFINISH: u32 = 16; +pub const PSH_WIZARD: u32 = 32; +pub const PSH_USEPSTARTPAGE: u32 = 64; +pub const PSH_NOAPPLYNOW: u32 = 128; +pub const PSH_USECALLBACK: u32 = 256; +pub const PSH_HASHELP: u32 = 512; +pub const PSH_MODELESS: u32 = 1024; +pub const PSH_RTLREADING: u32 = 2048; +pub const PSH_WIZARDCONTEXTHELP: u32 = 4096; +pub const PSH_WIZARD97: u32 = 16777216; +pub const PSH_WATERMARK: u32 = 32768; +pub const PSH_USEHBMWATERMARK: u32 = 65536; +pub const PSH_USEHPLWATERMARK: u32 = 131072; +pub const PSH_STRETCHWATERMARK: u32 = 262144; +pub const PSH_HEADER: u32 = 524288; +pub const PSH_USEHBMHEADER: u32 = 1048576; +pub const PSH_USEPAGELANG: u32 = 2097152; +pub const PSH_WIZARD_LITE: u32 = 4194304; +pub const PSH_NOCONTEXTHELP: u32 = 33554432; +pub const PSH_AEROWIZARD: u32 = 16384; +pub const PSH_RESIZABLE: u32 = 67108864; +pub const PSH_HEADERBITMAP: u32 = 134217728; +pub const PSH_NOMARGIN: u32 = 268435456; +pub const PSCB_INITIALIZED: u32 = 1; +pub const PSCB_PRECREATE: u32 = 2; +pub const PSCB_BUTTONPRESSED: u32 = 3; +pub const PSN_FIRST: i32 = -200; +pub const PSN_LAST: i32 = -299; +pub const PSN_SETACTIVE: i32 = -200; +pub const PSN_KILLACTIVE: i32 = -201; +pub const PSN_APPLY: i32 = -202; +pub const PSN_RESET: i32 = -203; +pub const PSN_HELP: i32 = -205; +pub const PSN_WIZBACK: i32 = -206; +pub const PSN_WIZNEXT: i32 = -207; +pub const PSN_WIZFINISH: i32 = -208; +pub const PSN_QUERYCANCEL: i32 = -209; +pub const PSN_GETOBJECT: i32 = -210; +pub const PSN_TRANSLATEACCELERATOR: i32 = -212; +pub const PSN_QUERYINITIALFOCUS: i32 = -213; +pub const PSNRET_NOERROR: u32 = 0; +pub const PSNRET_INVALID: u32 = 1; +pub const PSNRET_INVALID_NOCHANGEPAGE: u32 = 2; +pub const PSNRET_MESSAGEHANDLED: u32 = 3; +pub const PSM_SETCURSEL: u32 = 1125; +pub const PSM_REMOVEPAGE: u32 = 1126; +pub const PSM_ADDPAGE: u32 = 1127; +pub const PSM_CHANGED: u32 = 1128; +pub const PSM_RESTARTWINDOWS: u32 = 1129; +pub const PSM_REBOOTSYSTEM: u32 = 1130; +pub const PSM_CANCELTOCLOSE: u32 = 1131; +pub const PSM_QUERYSIBLINGS: u32 = 1132; +pub const PSM_UNCHANGED: u32 = 1133; +pub const PSM_APPLY: u32 = 1134; +pub const PSM_SETTITLEA: u32 = 1135; +pub const PSM_SETTITLEW: u32 = 1144; +pub const PSM_SETTITLE: u32 = 1135; +pub const PSM_SETWIZBUTTONS: u32 = 1136; +pub const PSWIZB_BACK: u32 = 1; +pub const PSWIZB_NEXT: u32 = 2; +pub const PSWIZB_FINISH: u32 = 4; +pub const PSWIZB_DISABLEDFINISH: u32 = 8; +pub const PSWIZBF_ELEVATIONREQUIRED: u32 = 1; +pub const PSWIZB_CANCEL: u32 = 16; +pub const PSM_PRESSBUTTON: u32 = 1137; +pub const PSBTN_BACK: u32 = 0; +pub const PSBTN_NEXT: u32 = 1; +pub const PSBTN_FINISH: u32 = 2; +pub const PSBTN_OK: u32 = 3; +pub const PSBTN_APPLYNOW: u32 = 4; +pub const PSBTN_CANCEL: u32 = 5; +pub const PSBTN_HELP: u32 = 6; +pub const PSBTN_MAX: u32 = 6; +pub const PSM_SETCURSELID: u32 = 1138; +pub const PSM_SETFINISHTEXTA: u32 = 1139; +pub const PSM_SETFINISHTEXTW: u32 = 1145; +pub const PSM_SETFINISHTEXT: u32 = 1139; +pub const PSM_GETTABCONTROL: u32 = 1140; +pub const PSM_ISDIALOGMESSAGE: u32 = 1141; +pub const PSM_GETCURRENTPAGEHWND: u32 = 1142; +pub const PSM_INSERTPAGE: u32 = 1143; +pub const PSM_SETHEADERTITLEA: u32 = 1149; +pub const PSM_SETHEADERTITLEW: u32 = 1150; +pub const PSM_SETHEADERTITLE: u32 = 1149; +pub const PSM_SETHEADERSUBTITLEA: u32 = 1151; +pub const PSM_SETHEADERSUBTITLEW: u32 = 1152; +pub const PSM_SETHEADERSUBTITLE: u32 = 1151; +pub const PSM_HWNDTOINDEX: u32 = 1153; +pub const PSM_INDEXTOHWND: u32 = 1154; +pub const PSM_PAGETOINDEX: u32 = 1155; +pub const PSM_INDEXTOPAGE: u32 = 1156; +pub const PSM_IDTOINDEX: u32 = 1157; +pub const PSM_INDEXTOID: u32 = 1158; +pub const PSM_GETRESULT: u32 = 1159; +pub const PSM_RECALCPAGESIZES: u32 = 1160; +pub const PSM_SETNEXTTEXTW: u32 = 1161; +pub const PSM_SETNEXTTEXT: u32 = 1161; +pub const PSWIZB_SHOW: u32 = 0; +pub const PSWIZB_RESTORE: u32 = 1; +pub const PSM_SHOWWIZBUTTONS: u32 = 1162; +pub const PSM_ENABLEWIZBUTTONS: u32 = 1163; +pub const PSM_SETBUTTONTEXTW: u32 = 1164; +pub const PSM_SETBUTTONTEXT: u32 = 1164; +pub const ID_PSRESTARTWINDOWS: u32 = 2; +pub const ID_PSREBOOTSYSTEM: u32 = 3; +pub const WIZ_CXDLG: u32 = 276; +pub const WIZ_CYDLG: u32 = 140; +pub const WIZ_CXBMP: u32 = 80; +pub const WIZ_BODYX: u32 = 92; +pub const WIZ_BODYCX: u32 = 184; +pub const PROP_SM_CXDLG: u32 = 212; +pub const PROP_SM_CYDLG: u32 = 188; +pub const PROP_MED_CXDLG: u32 = 227; +pub const PROP_MED_CYDLG: u32 = 215; +pub const PROP_LG_CXDLG: u32 = 252; +pub const PROP_LG_CYDLG: u32 = 218; +pub const DSPRINT_PUBLISH: u32 = 1; +pub const DSPRINT_UPDATE: u32 = 2; +pub const DSPRINT_UNPUBLISH: u32 = 4; +pub const DSPRINT_REPUBLISH: u32 = 8; +pub const DSPRINT_PENDING: u32 = 2147483648; +pub const PRINTER_CONTROL_PAUSE: u32 = 1; +pub const PRINTER_CONTROL_RESUME: u32 = 2; +pub const PRINTER_CONTROL_PURGE: u32 = 3; +pub const PRINTER_CONTROL_SET_STATUS: u32 = 4; +pub const PRINTER_STATUS_PAUSED: u32 = 1; +pub const PRINTER_STATUS_ERROR: u32 = 2; +pub const PRINTER_STATUS_PENDING_DELETION: u32 = 4; +pub const PRINTER_STATUS_PAPER_JAM: u32 = 8; +pub const PRINTER_STATUS_PAPER_OUT: u32 = 16; +pub const PRINTER_STATUS_MANUAL_FEED: u32 = 32; +pub const PRINTER_STATUS_PAPER_PROBLEM: u32 = 64; +pub const PRINTER_STATUS_OFFLINE: u32 = 128; +pub const PRINTER_STATUS_IO_ACTIVE: u32 = 256; +pub const PRINTER_STATUS_BUSY: u32 = 512; +pub const PRINTER_STATUS_PRINTING: u32 = 1024; +pub const PRINTER_STATUS_OUTPUT_BIN_FULL: u32 = 2048; +pub const PRINTER_STATUS_NOT_AVAILABLE: u32 = 4096; +pub const PRINTER_STATUS_WAITING: u32 = 8192; +pub const PRINTER_STATUS_PROCESSING: u32 = 16384; +pub const PRINTER_STATUS_INITIALIZING: u32 = 32768; +pub const PRINTER_STATUS_WARMING_UP: u32 = 65536; +pub const PRINTER_STATUS_TONER_LOW: u32 = 131072; +pub const PRINTER_STATUS_NO_TONER: u32 = 262144; +pub const PRINTER_STATUS_PAGE_PUNT: u32 = 524288; +pub const PRINTER_STATUS_USER_INTERVENTION: u32 = 1048576; +pub const PRINTER_STATUS_OUT_OF_MEMORY: u32 = 2097152; +pub const PRINTER_STATUS_DOOR_OPEN: u32 = 4194304; +pub const PRINTER_STATUS_SERVER_UNKNOWN: u32 = 8388608; +pub const PRINTER_STATUS_POWER_SAVE: u32 = 16777216; +pub const PRINTER_STATUS_SERVER_OFFLINE: u32 = 33554432; +pub const PRINTER_STATUS_DRIVER_UPDATE_NEEDED: u32 = 67108864; +pub const PRINTER_ATTRIBUTE_QUEUED: u32 = 1; +pub const PRINTER_ATTRIBUTE_DIRECT: u32 = 2; +pub const PRINTER_ATTRIBUTE_DEFAULT: u32 = 4; +pub const PRINTER_ATTRIBUTE_SHARED: u32 = 8; +pub const PRINTER_ATTRIBUTE_NETWORK: u32 = 16; +pub const PRINTER_ATTRIBUTE_HIDDEN: u32 = 32; +pub const PRINTER_ATTRIBUTE_LOCAL: u32 = 64; +pub const PRINTER_ATTRIBUTE_ENABLE_DEVQ: u32 = 128; +pub const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS: u32 = 256; +pub const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST: u32 = 512; +pub const PRINTER_ATTRIBUTE_WORK_OFFLINE: u32 = 1024; +pub const PRINTER_ATTRIBUTE_ENABLE_BIDI: u32 = 2048; +pub const PRINTER_ATTRIBUTE_RAW_ONLY: u32 = 4096; +pub const PRINTER_ATTRIBUTE_PUBLISHED: u32 = 8192; +pub const PRINTER_ATTRIBUTE_FAX: u32 = 16384; +pub const PRINTER_ATTRIBUTE_TS: u32 = 32768; +pub const PRINTER_ATTRIBUTE_PUSHED_USER: u32 = 131072; +pub const PRINTER_ATTRIBUTE_PUSHED_MACHINE: u32 = 262144; +pub const PRINTER_ATTRIBUTE_MACHINE: u32 = 524288; +pub const PRINTER_ATTRIBUTE_FRIENDLY_NAME: u32 = 1048576; +pub const PRINTER_ATTRIBUTE_TS_GENERIC_DRIVER: u32 = 2097152; +pub const PRINTER_ATTRIBUTE_PER_USER: u32 = 4194304; +pub const PRINTER_ATTRIBUTE_ENTERPRISE_CLOUD: u32 = 8388608; +pub const NO_PRIORITY: u32 = 0; +pub const MAX_PRIORITY: u32 = 99; +pub const MIN_PRIORITY: u32 = 1; +pub const DEF_PRIORITY: u32 = 1; +pub const JOB_CONTROL_PAUSE: u32 = 1; +pub const JOB_CONTROL_RESUME: u32 = 2; +pub const JOB_CONTROL_CANCEL: u32 = 3; +pub const JOB_CONTROL_RESTART: u32 = 4; +pub const JOB_CONTROL_DELETE: u32 = 5; +pub const JOB_CONTROL_SENT_TO_PRINTER: u32 = 6; +pub const JOB_CONTROL_LAST_PAGE_EJECTED: u32 = 7; +pub const JOB_CONTROL_RETAIN: u32 = 8; +pub const JOB_CONTROL_RELEASE: u32 = 9; +pub const JOB_STATUS_PAUSED: u32 = 1; +pub const JOB_STATUS_ERROR: u32 = 2; +pub const JOB_STATUS_DELETING: u32 = 4; +pub const JOB_STATUS_SPOOLING: u32 = 8; +pub const JOB_STATUS_PRINTING: u32 = 16; +pub const JOB_STATUS_OFFLINE: u32 = 32; +pub const JOB_STATUS_PAPEROUT: u32 = 64; +pub const JOB_STATUS_PRINTED: u32 = 128; +pub const JOB_STATUS_DELETED: u32 = 256; +pub const JOB_STATUS_BLOCKED_DEVQ: u32 = 512; +pub const JOB_STATUS_USER_INTERVENTION: u32 = 1024; +pub const JOB_STATUS_RESTART: u32 = 2048; +pub const JOB_STATUS_COMPLETE: u32 = 4096; +pub const JOB_STATUS_RETAINED: u32 = 8192; +pub const JOB_STATUS_RENDERING_LOCALLY: u32 = 16384; +pub const JOB_POSITION_UNSPECIFIED: u32 = 0; +pub const PRINTER_DRIVER_PACKAGE_AWARE: u32 = 1; +pub const PRINTER_DRIVER_XPS: u32 = 2; +pub const PRINTER_DRIVER_SANDBOX_ENABLED: u32 = 4; +pub const PRINTER_DRIVER_CLASS: u32 = 8; +pub const PRINTER_DRIVER_DERIVED: u32 = 16; +pub const PRINTER_DRIVER_NOT_SHAREABLE: u32 = 32; +pub const PRINTER_DRIVER_CATEGORY_FAX: u32 = 64; +pub const PRINTER_DRIVER_CATEGORY_FILE: u32 = 128; +pub const PRINTER_DRIVER_CATEGORY_VIRTUAL: u32 = 256; +pub const PRINTER_DRIVER_CATEGORY_SERVICE: u32 = 512; +pub const PRINTER_DRIVER_SOFT_RESET_REQUIRED: u32 = 1024; +pub const PRINTER_DRIVER_SANDBOX_DISABLED: u32 = 2048; +pub const PRINTER_DRIVER_CATEGORY_3D: u32 = 4096; +pub const PRINTER_DRIVER_CATEGORY_CLOUD: u32 = 8192; +pub const DRIVER_KERNELMODE: u32 = 1; +pub const DRIVER_USERMODE: u32 = 2; +pub const DPD_DELETE_UNUSED_FILES: u32 = 1; +pub const DPD_DELETE_SPECIFIC_VERSION: u32 = 2; +pub const DPD_DELETE_ALL_FILES: u32 = 4; +pub const APD_STRICT_UPGRADE: u32 = 1; +pub const APD_STRICT_DOWNGRADE: u32 = 2; +pub const APD_COPY_ALL_FILES: u32 = 4; +pub const APD_COPY_NEW_FILES: u32 = 8; +pub const APD_COPY_FROM_DIRECTORY: u32 = 16; +pub const STRING_NONE: u32 = 1; +pub const STRING_MUIDLL: u32 = 2; +pub const STRING_LANGPAIR: u32 = 4; +pub const MAX_FORM_KEYWORD_LENGTH: u32 = 64; +pub const DI_CHANNEL: u32 = 1; +pub const DI_READ_SPOOL_JOB: u32 = 3; +pub const DI_MEMORYMAP_WRITE: u32 = 1; +pub const FORM_USER: u32 = 0; +pub const FORM_BUILTIN: u32 = 1; +pub const FORM_PRINTER: u32 = 2; +pub const NORMAL_PRINT: u32 = 0; +pub const REVERSE_PRINT: u32 = 1; +pub const PPCAPS_RIGHT_THEN_DOWN: u32 = 1; +pub const PPCAPS_DOWN_THEN_RIGHT: u32 = 2; +pub const PPCAPS_LEFT_THEN_DOWN: u32 = 4; +pub const PPCAPS_DOWN_THEN_LEFT: u32 = 8; +pub const PPCAPS_BORDER_PRINT: u32 = 1; +pub const PPCAPS_BOOKLET_EDGE: u32 = 1; +pub const PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX: u32 = 1; +pub const PPCAPS_DONT_SEND_EXTRA_PAGES_FOR_DUPLEX: u32 = 2; +pub const PPCAPS_SQUARE_SCALING: u32 = 1; +pub const PORT_TYPE_WRITE: u32 = 1; +pub const PORT_TYPE_READ: u32 = 2; +pub const PORT_TYPE_REDIRECTED: u32 = 4; +pub const PORT_TYPE_NET_ATTACHED: u32 = 8; +pub const PORT_STATUS_TYPE_ERROR: u32 = 1; +pub const PORT_STATUS_TYPE_WARNING: u32 = 2; +pub const PORT_STATUS_TYPE_INFO: u32 = 3; +pub const PORT_STATUS_OFFLINE: u32 = 1; +pub const PORT_STATUS_PAPER_JAM: u32 = 2; +pub const PORT_STATUS_PAPER_OUT: u32 = 3; +pub const PORT_STATUS_OUTPUT_BIN_FULL: u32 = 4; +pub const PORT_STATUS_PAPER_PROBLEM: u32 = 5; +pub const PORT_STATUS_NO_TONER: u32 = 6; +pub const PORT_STATUS_DOOR_OPEN: u32 = 7; +pub const PORT_STATUS_USER_INTERVENTION: u32 = 8; +pub const PORT_STATUS_OUT_OF_MEMORY: u32 = 9; +pub const PORT_STATUS_TONER_LOW: u32 = 10; +pub const PORT_STATUS_WARMING_UP: u32 = 11; +pub const PORT_STATUS_POWER_SAVE: u32 = 12; +pub const PRINTER_ENUM_DEFAULT: u32 = 1; +pub const PRINTER_ENUM_LOCAL: u32 = 2; +pub const PRINTER_ENUM_CONNECTIONS: u32 = 4; +pub const PRINTER_ENUM_FAVORITE: u32 = 4; +pub const PRINTER_ENUM_NAME: u32 = 8; +pub const PRINTER_ENUM_REMOTE: u32 = 16; +pub const PRINTER_ENUM_SHARED: u32 = 32; +pub const PRINTER_ENUM_NETWORK: u32 = 64; +pub const PRINTER_ENUM_EXPAND: u32 = 16384; +pub const PRINTER_ENUM_CONTAINER: u32 = 32768; +pub const PRINTER_ENUM_ICONMASK: u32 = 16711680; +pub const PRINTER_ENUM_ICON1: u32 = 65536; +pub const PRINTER_ENUM_ICON2: u32 = 131072; +pub const PRINTER_ENUM_ICON3: u32 = 262144; +pub const PRINTER_ENUM_ICON4: u32 = 524288; +pub const PRINTER_ENUM_ICON5: u32 = 1048576; +pub const PRINTER_ENUM_ICON6: u32 = 2097152; +pub const PRINTER_ENUM_ICON7: u32 = 4194304; +pub const PRINTER_ENUM_ICON8: u32 = 8388608; +pub const PRINTER_ENUM_HIDE: u32 = 16777216; +pub const PRINTER_ENUM_CATEGORY_ALL: u32 = 33554432; +pub const PRINTER_ENUM_CATEGORY_3D: u32 = 67108864; +pub const SPOOL_FILE_PERSISTENT: u32 = 1; +pub const SPOOL_FILE_TEMPORARY: u32 = 2; +pub const PRINTER_NOTIFY_TYPE: u32 = 0; +pub const JOB_NOTIFY_TYPE: u32 = 1; +pub const SERVER_NOTIFY_TYPE: u32 = 2; +pub const PRINTER_NOTIFY_FIELD_SERVER_NAME: u32 = 0; +pub const PRINTER_NOTIFY_FIELD_PRINTER_NAME: u32 = 1; +pub const PRINTER_NOTIFY_FIELD_SHARE_NAME: u32 = 2; +pub const PRINTER_NOTIFY_FIELD_PORT_NAME: u32 = 3; +pub const PRINTER_NOTIFY_FIELD_DRIVER_NAME: u32 = 4; +pub const PRINTER_NOTIFY_FIELD_COMMENT: u32 = 5; +pub const PRINTER_NOTIFY_FIELD_LOCATION: u32 = 6; +pub const PRINTER_NOTIFY_FIELD_DEVMODE: u32 = 7; +pub const PRINTER_NOTIFY_FIELD_SEPFILE: u32 = 8; +pub const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 9; +pub const PRINTER_NOTIFY_FIELD_PARAMETERS: u32 = 10; +pub const PRINTER_NOTIFY_FIELD_DATATYPE: u32 = 11; +pub const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; +pub const PRINTER_NOTIFY_FIELD_ATTRIBUTES: u32 = 13; +pub const PRINTER_NOTIFY_FIELD_PRIORITY: u32 = 14; +pub const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: u32 = 15; +pub const PRINTER_NOTIFY_FIELD_START_TIME: u32 = 16; +pub const PRINTER_NOTIFY_FIELD_UNTIL_TIME: u32 = 17; +pub const PRINTER_NOTIFY_FIELD_STATUS: u32 = 18; +pub const PRINTER_NOTIFY_FIELD_STATUS_STRING: u32 = 19; +pub const PRINTER_NOTIFY_FIELD_CJOBS: u32 = 20; +pub const PRINTER_NOTIFY_FIELD_AVERAGE_PPM: u32 = 21; +pub const PRINTER_NOTIFY_FIELD_TOTAL_PAGES: u32 = 22; +pub const PRINTER_NOTIFY_FIELD_PAGES_PRINTED: u32 = 23; +pub const PRINTER_NOTIFY_FIELD_TOTAL_BYTES: u32 = 24; +pub const PRINTER_NOTIFY_FIELD_BYTES_PRINTED: u32 = 25; +pub const PRINTER_NOTIFY_FIELD_OBJECT_GUID: u32 = 26; +pub const PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: u32 = 27; +pub const PRINTER_NOTIFY_FIELD_BRANCH_OFFICE_PRINTING: u32 = 28; +pub const JOB_NOTIFY_FIELD_PRINTER_NAME: u32 = 0; +pub const JOB_NOTIFY_FIELD_MACHINE_NAME: u32 = 1; +pub const JOB_NOTIFY_FIELD_PORT_NAME: u32 = 2; +pub const JOB_NOTIFY_FIELD_USER_NAME: u32 = 3; +pub const JOB_NOTIFY_FIELD_NOTIFY_NAME: u32 = 4; +pub const JOB_NOTIFY_FIELD_DATATYPE: u32 = 5; +pub const JOB_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 6; +pub const JOB_NOTIFY_FIELD_PARAMETERS: u32 = 7; +pub const JOB_NOTIFY_FIELD_DRIVER_NAME: u32 = 8; +pub const JOB_NOTIFY_FIELD_DEVMODE: u32 = 9; +pub const JOB_NOTIFY_FIELD_STATUS: u32 = 10; +pub const JOB_NOTIFY_FIELD_STATUS_STRING: u32 = 11; +pub const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; +pub const JOB_NOTIFY_FIELD_DOCUMENT: u32 = 13; +pub const JOB_NOTIFY_FIELD_PRIORITY: u32 = 14; +pub const JOB_NOTIFY_FIELD_POSITION: u32 = 15; +pub const JOB_NOTIFY_FIELD_SUBMITTED: u32 = 16; +pub const JOB_NOTIFY_FIELD_START_TIME: u32 = 17; +pub const JOB_NOTIFY_FIELD_UNTIL_TIME: u32 = 18; +pub const JOB_NOTIFY_FIELD_TIME: u32 = 19; +pub const JOB_NOTIFY_FIELD_TOTAL_PAGES: u32 = 20; +pub const JOB_NOTIFY_FIELD_PAGES_PRINTED: u32 = 21; +pub const JOB_NOTIFY_FIELD_TOTAL_BYTES: u32 = 22; +pub const JOB_NOTIFY_FIELD_BYTES_PRINTED: u32 = 23; +pub const JOB_NOTIFY_FIELD_REMOTE_JOB_ID: u32 = 24; +pub const SERVER_NOTIFY_FIELD_PRINT_DRIVER_ISOLATION_GROUP: u32 = 0; +pub const PRINTER_NOTIFY_CATEGORY_ALL: u32 = 4096; +pub const PRINTER_NOTIFY_CATEGORY_3D: u32 = 8192; +pub const PRINTER_NOTIFY_OPTIONS_REFRESH: u32 = 1; +pub const PRINTER_NOTIFY_INFO_DISCARDED: u32 = 1; +pub const BIDI_ACTION_ENUM_SCHEMA: &[u8; 11usize] = b"EnumSchema\0"; +pub const BIDI_ACTION_GET: &[u8; 4usize] = b"Get\0"; +pub const BIDI_ACTION_SET: &[u8; 4usize] = b"Set\0"; +pub const BIDI_ACTION_GET_ALL: &[u8; 7usize] = b"GetAll\0"; +pub const BIDI_ACTION_GET_WITH_ARGUMENT: &[u8; 16usize] = b"GetWithArgument\0"; +pub const BIDI_ACCESS_ADMINISTRATOR: u32 = 1; +pub const BIDI_ACCESS_USER: u32 = 2; +pub const ERROR_BIDI_STATUS_OK: u32 = 0; +pub const ERROR_BIDI_NOT_SUPPORTED: u32 = 50; +pub const ERROR_BIDI_ERROR_BASE: u32 = 13000; +pub const ERROR_BIDI_STATUS_WARNING: u32 = 13001; +pub const ERROR_BIDI_SCHEMA_READ_ONLY: u32 = 13002; +pub const ERROR_BIDI_SERVER_OFFLINE: u32 = 13003; +pub const ERROR_BIDI_DEVICE_OFFLINE: u32 = 13004; +pub const ERROR_BIDI_SCHEMA_NOT_SUPPORTED: u32 = 13005; +pub const ERROR_BIDI_SET_DIFFERENT_TYPE: u32 = 13006; +pub const ERROR_BIDI_SET_MULTIPLE_SCHEMAPATH: u32 = 13007; +pub const ERROR_BIDI_SET_INVALID_SCHEMAPATH: u32 = 13008; +pub const ERROR_BIDI_SET_UNKNOWN_FAILURE: u32 = 13009; +pub const ERROR_BIDI_SCHEMA_WRITE_ONLY: u32 = 13010; +pub const ERROR_BIDI_GET_REQUIRES_ARGUMENT: u32 = 13011; +pub const ERROR_BIDI_GET_ARGUMENT_NOT_SUPPORTED: u32 = 13012; +pub const ERROR_BIDI_GET_MISSING_ARGUMENT: u32 = 13013; +pub const ERROR_BIDI_DEVICE_CONFIG_UNCHANGED: u32 = 13014; +pub const ERROR_BIDI_NO_LOCALIZED_RESOURCES: u32 = 13015; +pub const ERROR_BIDI_NO_BIDI_SCHEMA_EXTENSIONS: u32 = 13016; +pub const ERROR_BIDI_UNSUPPORTED_CLIENT_LANGUAGE: u32 = 13017; +pub const ERROR_BIDI_UNSUPPORTED_RESOURCE_FORMAT: u32 = 13018; +pub const PRINTER_CHANGE_ADD_PRINTER: u32 = 1; +pub const PRINTER_CHANGE_SET_PRINTER: u32 = 2; +pub const PRINTER_CHANGE_DELETE_PRINTER: u32 = 4; +pub const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER: u32 = 8; +pub const PRINTER_CHANGE_PRINTER: u32 = 255; +pub const PRINTER_CHANGE_ADD_JOB: u32 = 256; +pub const PRINTER_CHANGE_SET_JOB: u32 = 512; +pub const PRINTER_CHANGE_DELETE_JOB: u32 = 1024; +pub const PRINTER_CHANGE_WRITE_JOB: u32 = 2048; +pub const PRINTER_CHANGE_JOB: u32 = 65280; +pub const PRINTER_CHANGE_ADD_FORM: u32 = 65536; +pub const PRINTER_CHANGE_SET_FORM: u32 = 131072; +pub const PRINTER_CHANGE_DELETE_FORM: u32 = 262144; +pub const PRINTER_CHANGE_FORM: u32 = 458752; +pub const PRINTER_CHANGE_ADD_PORT: u32 = 1048576; +pub const PRINTER_CHANGE_CONFIGURE_PORT: u32 = 2097152; +pub const PRINTER_CHANGE_DELETE_PORT: u32 = 4194304; +pub const PRINTER_CHANGE_PORT: u32 = 7340032; +pub const PRINTER_CHANGE_ADD_PRINT_PROCESSOR: u32 = 16777216; +pub const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR: u32 = 67108864; +pub const PRINTER_CHANGE_PRINT_PROCESSOR: u32 = 117440512; +pub const PRINTER_CHANGE_SERVER: u32 = 134217728; +pub const PRINTER_CHANGE_ADD_PRINTER_DRIVER: u32 = 268435456; +pub const PRINTER_CHANGE_SET_PRINTER_DRIVER: u32 = 536870912; +pub const PRINTER_CHANGE_DELETE_PRINTER_DRIVER: u32 = 1073741824; +pub const PRINTER_CHANGE_PRINTER_DRIVER: u32 = 1879048192; +pub const PRINTER_CHANGE_TIMEOUT: u32 = 2147483648; +pub const PRINTER_CHANGE_ALL: u32 = 2138570751; +pub const PRINTER_ERROR_INFORMATION: u32 = 2147483648; +pub const PRINTER_ERROR_WARNING: u32 = 1073741824; +pub const PRINTER_ERROR_SEVERE: u32 = 536870912; +pub const PRINTER_ERROR_OUTOFPAPER: u32 = 1; +pub const PRINTER_ERROR_JAM: u32 = 2; +pub const PRINTER_ERROR_OUTOFTONER: u32 = 4; +pub const SPLREG_PRINT_DRIVER_ISOLATION_GROUPS_SEPARATOR: u8 = 92u8; +pub const SERVER_ACCESS_ADMINISTER: u32 = 1; +pub const SERVER_ACCESS_ENUMERATE: u32 = 2; +pub const PRINTER_ACCESS_ADMINISTER: u32 = 4; +pub const PRINTER_ACCESS_USE: u32 = 8; +pub const JOB_ACCESS_ADMINISTER: u32 = 16; +pub const JOB_ACCESS_READ: u32 = 32; +pub const PRINTER_ACCESS_MANAGE_LIMITED: u32 = 64; +pub const SERVER_ALL_ACCESS: u32 = 983043; +pub const SERVER_READ: u32 = 131074; +pub const SERVER_WRITE: u32 = 131075; +pub const SERVER_EXECUTE: u32 = 131074; +pub const PRINTER_ALL_ACCESS: u32 = 983052; +pub const PRINTER_READ: u32 = 131080; +pub const PRINTER_WRITE: u32 = 131080; +pub const PRINTER_EXECUTE: u32 = 131080; +pub const JOB_ALL_ACCESS: u32 = 983088; +pub const JOB_READ: u32 = 131104; +pub const JOB_WRITE: u32 = 131088; +pub const JOB_EXECUTE: u32 = 131088; +pub const PRINTER_CONNECTION_MISMATCH: u32 = 32; +pub const PRINTER_CONNECTION_NO_UI: u32 = 64; +pub const IPDFP_COPY_ALL_FILES: u32 = 1; +pub const UPDP_SILENT_UPLOAD: u32 = 1; +pub const UPDP_UPLOAD_ALWAYS: u32 = 2; +pub const UPDP_CHECK_DRIVERSTORE: u32 = 4; +pub const MS_PRINT_JOB_OUTPUT_FILE: &[u8; 21usize] = b"MsPrintJobOutputFile\0"; +pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12; +pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12; +pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11; +pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17; +pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21; +pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23; +pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65; +pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17; +pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21; +pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23; +pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65; +pub const CHAR_BIT: u32 = 8; +pub const SCHAR_MIN: i32 = -128; +pub const SCHAR_MAX: u32 = 127; +pub const UCHAR_MAX: u32 = 255; +pub const CHAR_MIN: i32 = -128; +pub const CHAR_MAX: u32 = 127; +pub const MB_LEN_MAX: u32 = 5; +pub const SHRT_MIN: i32 = -32768; +pub const SHRT_MAX: u32 = 32767; +pub const USHRT_MAX: u32 = 65535; +pub const INT_MIN: i32 = -2147483648; +pub const INT_MAX: u32 = 2147483647; +pub const UINT_MAX: u32 = 4294967295; +pub const LONG_MIN: i32 = -2147483648; +pub const LONG_MAX: u32 = 2147483647; +pub const ULONG_MAX: u32 = 4294967295; +pub const EXIT_SUCCESS: u32 = 0; +pub const EXIT_FAILURE: u32 = 1; +pub const _WRITE_ABORT_MSG: u32 = 1; +pub const _CALL_REPORTFAULT: u32 = 2; +pub const _OUT_TO_DEFAULT: u32 = 0; +pub const _OUT_TO_STDERR: u32 = 1; +pub const _OUT_TO_MSGBOX: u32 = 2; +pub const _REPORT_ERRMODE: u32 = 3; +pub const RAND_MAX: u32 = 32767; +pub const _CVTBUFSIZE: u32 = 349; +pub const _MAX_PATH: u32 = 260; +pub const _MAX_DRIVE: u32 = 3; +pub const _MAX_DIR: u32 = 256; +pub const _MAX_FNAME: u32 = 256; +pub const _MAX_EXT: u32 = 256; +pub const _MAX_ENV: u32 = 32767; +pub const _CRT_INTERNAL_COMBASE_SYMBOL_PREFIX: &[u8; 1usize] = b"\0"; +pub const COM_RIGHTS_EXECUTE: u32 = 1; +pub const COM_RIGHTS_EXECUTE_LOCAL: u32 = 2; +pub const COM_RIGHTS_EXECUTE_REMOTE: u32 = 4; +pub const COM_RIGHTS_ACTIVATE_LOCAL: u32 = 8; +pub const COM_RIGHTS_ACTIVATE_REMOTE: u32 = 16; +pub const COM_RIGHTS_RESERVED1: u32 = 32; +pub const COM_RIGHTS_RESERVED2: u32 = 64; +pub const CWMO_MAX_HANDLES: u32 = 56; +pub const FADF_AUTO: u32 = 1; +pub const FADF_STATIC: u32 = 2; +pub const FADF_EMBEDDED: u32 = 4; +pub const FADF_FIXEDSIZE: u32 = 16; +pub const FADF_RECORD: u32 = 32; +pub const FADF_HAVEIID: u32 = 64; +pub const FADF_HAVEVARTYPE: u32 = 128; +pub const FADF_BSTR: u32 = 256; +pub const FADF_UNKNOWN: u32 = 512; +pub const FADF_DISPATCH: u32 = 1024; +pub const FADF_VARIANT: u32 = 2048; +pub const FADF_RESERVED: u32 = 61448; +pub const PARAMFLAG_NONE: u32 = 0; +pub const PARAMFLAG_FIN: u32 = 1; +pub const PARAMFLAG_FOUT: u32 = 2; +pub const PARAMFLAG_FLCID: u32 = 4; +pub const PARAMFLAG_FRETVAL: u32 = 8; +pub const PARAMFLAG_FOPT: u32 = 16; +pub const PARAMFLAG_FHASDEFAULT: u32 = 32; +pub const PARAMFLAG_FHASCUSTDATA: u32 = 64; +pub const IDLFLAG_NONE: u32 = 0; +pub const IDLFLAG_FIN: u32 = 1; +pub const IDLFLAG_FOUT: u32 = 2; +pub const IDLFLAG_FLCID: u32 = 4; +pub const IDLFLAG_FRETVAL: u32 = 8; +pub const IMPLTYPEFLAG_FDEFAULT: u32 = 1; +pub const IMPLTYPEFLAG_FSOURCE: u32 = 2; +pub const IMPLTYPEFLAG_FRESTRICTED: u32 = 4; +pub const IMPLTYPEFLAG_FDEFAULTVTABLE: u32 = 8; +pub const DISPID_UNKNOWN: i32 = -1; +pub const DISPID_VALUE: u32 = 0; +pub const DISPID_PROPERTYPUT: i32 = -3; +pub const DISPID_NEWENUM: i32 = -4; +pub const DISPID_EVALUATE: i32 = -5; +pub const DISPID_CONSTRUCTOR: i32 = -6; +pub const DISPID_DESTRUCTOR: i32 = -7; +pub const DISPID_COLLECT: i32 = -8; +pub const PROPSETFLAG_DEFAULT: u32 = 0; +pub const PROPSETFLAG_NONSIMPLE: u32 = 1; +pub const PROPSETFLAG_ANSI: u32 = 2; +pub const PROPSETFLAG_UNBUFFERED: u32 = 4; +pub const PROPSETFLAG_CASE_SENSITIVE: u32 = 8; +pub const PROPSET_BEHAVIOR_CASE_SENSITIVE: u32 = 1; +pub const PID_DICTIONARY: u32 = 0; +pub const PID_CODEPAGE: u32 = 1; +pub const PID_FIRST_USABLE: u32 = 2; +pub const PID_FIRST_NAME_DEFAULT: u32 = 4095; +pub const PID_LOCALE: u32 = 2147483648; +pub const PID_MODIFY_TIME: u32 = 2147483649; +pub const PID_SECURITY: u32 = 2147483650; +pub const PID_BEHAVIOR: u32 = 2147483651; +pub const PID_ILLEGAL: u32 = 4294967295; +pub const PID_MIN_READONLY: u32 = 2147483648; +pub const PID_MAX_READONLY: u32 = 3221225471; +pub const PRSPEC_INVALID: u32 = 4294967295; +pub const PRSPEC_LPWSTR: u32 = 0; +pub const PRSPEC_PROPID: u32 = 1; +pub const PROPSETHDR_OSVERSION_UNKNOWN: u32 = 4294967295; +pub const CWCSTORAGENAME: u32 = 32; +pub const STGM_DIRECT: u32 = 0; +pub const STGM_TRANSACTED: u32 = 65536; +pub const STGM_SIMPLE: u32 = 134217728; +pub const STGM_READ: u32 = 0; +pub const STGM_WRITE: u32 = 1; +pub const STGM_READWRITE: u32 = 2; +pub const STGM_SHARE_DENY_NONE: u32 = 64; +pub const STGM_SHARE_DENY_READ: u32 = 48; +pub const STGM_SHARE_DENY_WRITE: u32 = 32; +pub const STGM_SHARE_EXCLUSIVE: u32 = 16; +pub const STGM_PRIORITY: u32 = 262144; +pub const STGM_DELETEONRELEASE: u32 = 67108864; +pub const STGM_NOSCRATCH: u32 = 1048576; +pub const STGM_CREATE: u32 = 4096; +pub const STGM_CONVERT: u32 = 131072; +pub const STGM_FAILIFTHERE: u32 = 0; +pub const STGM_NOSNAPSHOT: u32 = 2097152; +pub const STGM_DIRECT_SWMR: u32 = 4194304; +pub const STGFMT_STORAGE: u32 = 0; +pub const STGFMT_NATIVE: u32 = 1; +pub const STGFMT_FILE: u32 = 3; +pub const STGFMT_ANY: u32 = 4; +pub const STGFMT_DOCFILE: u32 = 5; +pub const STGFMT_DOCUMENT: u32 = 0; +pub const STGOPTIONS_VERSION: u32 = 2; +pub const CCH_MAX_PROPSTG_NAME: u32 = 31; +pub const MARSHALINTERFACE_MIN: u32 = 500; +pub const ASYNC_MODE_COMPATIBILITY: u32 = 1; +pub const ASYNC_MODE_DEFAULT: u32 = 0; +pub const STGTY_REPEAT: u32 = 256; +pub const STG_TOEND: u32 = 4294967295; +pub const STG_LAYOUT_SEQUENTIAL: u32 = 0; +pub const STG_LAYOUT_INTERLEAVED: u32 = 1; +pub const UPDFCACHE_NODATACACHE: u32 = 1; +pub const UPDFCACHE_ONSAVECACHE: u32 = 2; +pub const UPDFCACHE_ONSTOPCACHE: u32 = 4; +pub const UPDFCACHE_NORMALCACHE: u32 = 8; +pub const UPDFCACHE_IFBLANK: u32 = 16; +pub const UPDFCACHE_ONLYIFBLANK: u32 = 2147483648; +pub const UPDFCACHE_IFBLANKORONSAVECACHE: u32 = 18; +pub const MK_ALT: u32 = 32; +pub const DROPEFFECT_NONE: u32 = 0; +pub const DROPEFFECT_COPY: u32 = 1; +pub const DROPEFFECT_MOVE: u32 = 2; +pub const DROPEFFECT_LINK: u32 = 4; +pub const DROPEFFECT_SCROLL: u32 = 2147483648; +pub const DD_DEFSCROLLINSET: u32 = 11; +pub const DD_DEFSCROLLDELAY: u32 = 50; +pub const DD_DEFSCROLLINTERVAL: u32 = 50; +pub const DD_DEFDRAGDELAY: u32 = 200; +pub const DD_DEFDRAGMINDIST: u32 = 2; +pub const MKSYS_URLMONIKER: u32 = 6; +pub const URL_MK_LEGACY: u32 = 0; +pub const URL_MK_UNIFORM: u32 = 1; +pub const URL_MK_NO_CANONICALIZE: u32 = 2; +pub const FIEF_FLAG_FORCE_JITUI: u32 = 1; +pub const FIEF_FLAG_PEEK: u32 = 2; +pub const FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK: u32 = 4; +pub const FIEF_FLAG_RESERVED_0: u32 = 8; +pub const FMFD_DEFAULT: u32 = 0; +pub const FMFD_URLASFILENAME: u32 = 1; +pub const FMFD_ENABLEMIMESNIFFING: u32 = 2; +pub const FMFD_IGNOREMIMETEXTPLAIN: u32 = 4; +pub const FMFD_SERVERMIME: u32 = 8; +pub const FMFD_RESPECTTEXTPLAIN: u32 = 16; +pub const FMFD_RETURNUPDATEDIMGMIMES: u32 = 32; +pub const FMFD_RESERVED_1: u32 = 64; +pub const FMFD_RESERVED_2: u32 = 128; +pub const UAS_EXACTLEGACY: u32 = 4096; +pub const URLMON_OPTION_USERAGENT: u32 = 268435457; +pub const URLMON_OPTION_USERAGENT_REFRESH: u32 = 268435458; +pub const URLMON_OPTION_URL_ENCODING: u32 = 268435460; +pub const URLMON_OPTION_USE_BINDSTRINGCREDS: u32 = 268435464; +pub const URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS: u32 = 268435472; +pub const CF_NULL: u32 = 0; +pub const Uri_CREATE_ALLOW_RELATIVE: u32 = 1; +pub const Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME: u32 = 2; +pub const Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME: u32 = 4; +pub const Uri_CREATE_NOFRAG: u32 = 8; +pub const Uri_CREATE_NO_CANONICALIZE: u32 = 16; +pub const Uri_CREATE_CANONICALIZE: u32 = 256; +pub const Uri_CREATE_FILE_USE_DOS_PATH: u32 = 32; +pub const Uri_CREATE_DECODE_EXTRA_INFO: u32 = 64; +pub const Uri_CREATE_NO_DECODE_EXTRA_INFO: u32 = 128; +pub const Uri_CREATE_CRACK_UNKNOWN_SCHEMES: u32 = 512; +pub const Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES: u32 = 1024; +pub const Uri_CREATE_PRE_PROCESS_HTML_URI: u32 = 2048; +pub const Uri_CREATE_NO_PRE_PROCESS_HTML_URI: u32 = 4096; +pub const Uri_CREATE_IE_SETTINGS: u32 = 8192; +pub const Uri_CREATE_NO_IE_SETTINGS: u32 = 16384; +pub const Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS: u32 = 32768; +pub const Uri_CREATE_NORMALIZE_INTL_CHARACTERS: u32 = 65536; +pub const Uri_CREATE_CANONICALIZE_ABSOLUTE: u32 = 131072; +pub const Uri_DISPLAY_NO_FRAGMENT: u32 = 1; +pub const Uri_PUNYCODE_IDN_HOST: u32 = 2; +pub const Uri_DISPLAY_IDN_HOST: u32 = 4; +pub const Uri_DISPLAY_NO_PUNYCODE: u32 = 8; +pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8: u32 = 1; +pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_CP: u32 = 2; +pub const Uri_ENCODING_HOST_IS_IDN: u32 = 4; +pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8: u32 = 8; +pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP: u32 = 16; +pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8: u32 = 32; +pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP: u32 = 64; +pub const Uri_ENCODING_RFC: u32 = 41; +pub const UriBuilder_USE_ORIGINAL_FLAGS: u32 = 1; +pub const WININETINFO_OPTION_LOCK_HANDLE: u32 = 65534; +pub const URLOSTRM_USECACHEDCOPY_ONLY: u32 = 1; +pub const URLOSTRM_USECACHEDCOPY: u32 = 2; +pub const URLOSTRM_GETNEWESTVERSION: u32 = 3; +pub const SET_FEATURE_ON_THREAD: u32 = 1; +pub const SET_FEATURE_ON_PROCESS: u32 = 2; +pub const SET_FEATURE_IN_REGISTRY: u32 = 4; +pub const SET_FEATURE_ON_THREAD_LOCALMACHINE: u32 = 8; +pub const SET_FEATURE_ON_THREAD_INTRANET: u32 = 16; +pub const SET_FEATURE_ON_THREAD_TRUSTED: u32 = 32; +pub const SET_FEATURE_ON_THREAD_INTERNET: u32 = 64; +pub const SET_FEATURE_ON_THREAD_RESTRICTED: u32 = 128; +pub const GET_FEATURE_FROM_THREAD: u32 = 1; +pub const GET_FEATURE_FROM_PROCESS: u32 = 2; +pub const GET_FEATURE_FROM_REGISTRY: u32 = 4; +pub const GET_FEATURE_FROM_THREAD_LOCALMACHINE: u32 = 8; +pub const GET_FEATURE_FROM_THREAD_INTRANET: u32 = 16; +pub const GET_FEATURE_FROM_THREAD_TRUSTED: u32 = 32; +pub const GET_FEATURE_FROM_THREAD_INTERNET: u32 = 64; +pub const GET_FEATURE_FROM_THREAD_RESTRICTED: u32 = 128; +pub const PROTOCOLFLAG_NO_PICS_CHECK: u32 = 1; +pub const MUTZ_NOSAVEDFILECHECK: u32 = 1; +pub const MUTZ_ISFILE: u32 = 2; +pub const MUTZ_ACCEPT_WILDCARD_SCHEME: u32 = 128; +pub const MUTZ_ENFORCERESTRICTED: u32 = 256; +pub const MUTZ_RESERVED: u32 = 512; +pub const MUTZ_REQUIRESAVEDFILECHECK: u32 = 1024; +pub const MUTZ_DONT_UNESCAPE: u32 = 2048; +pub const MUTZ_DONT_USE_CACHE: u32 = 4096; +pub const MUTZ_FORCE_INTRANET_FLAGS: u32 = 8192; +pub const MUTZ_IGNORE_ZONE_MAPPINGS: u32 = 16384; +pub const MAX_SIZE_SECURITY_ID: u32 = 512; +pub const URLACTION_MIN: u32 = 4096; +pub const URLACTION_DOWNLOAD_MIN: u32 = 4096; +pub const URLACTION_DOWNLOAD_SIGNED_ACTIVEX: u32 = 4097; +pub const URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX: u32 = 4100; +pub const URLACTION_DOWNLOAD_CURR_MAX: u32 = 4100; +pub const URLACTION_DOWNLOAD_MAX: u32 = 4607; +pub const URLACTION_ACTIVEX_MIN: u32 = 4608; +pub const URLACTION_ACTIVEX_RUN: u32 = 4608; +pub const URLPOLICY_ACTIVEX_CHECK_LIST: u32 = 65536; +pub const URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY: u32 = 4609; +pub const URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY: u32 = 4610; +pub const URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY: u32 = 4611; +pub const URLACTION_SCRIPT_OVERRIDE_SAFETY: u32 = 5121; +pub const URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY: u32 = 4612; +pub const URLACTION_ACTIVEX_TREATASUNTRUSTED: u32 = 4613; +pub const URLACTION_ACTIVEX_NO_WEBOC_SCRIPT: u32 = 4614; +pub const URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION: u32 = 4615; +pub const URLACTION_ACTIVEX_OVERRIDE_OPTIN: u32 = 4616; +pub const URLACTION_ACTIVEX_SCRIPTLET_RUN: u32 = 4617; +pub const URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION: u32 = 4618; +pub const URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST: u32 = 4619; +pub const URLACTION_ACTIVEX_ALLOW_TDC: u32 = 4620; +pub const URLACTION_ACTIVEX_CURR_MAX: u32 = 4620; +pub const URLACTION_ACTIVEX_MAX: u32 = 5119; +pub const URLACTION_SCRIPT_MIN: u32 = 5120; +pub const URLACTION_SCRIPT_RUN: u32 = 5120; +pub const URLACTION_SCRIPT_JAVA_USE: u32 = 5122; +pub const URLACTION_SCRIPT_SAFE_ACTIVEX: u32 = 5125; +pub const URLACTION_CROSS_DOMAIN_DATA: u32 = 5126; +pub const URLACTION_SCRIPT_PASTE: u32 = 5127; +pub const URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE: u32 = 5128; +pub const URLACTION_SCRIPT_XSSFILTER: u32 = 5129; +pub const URLACTION_SCRIPT_NAVIGATE: u32 = 5130; +pub const URLACTION_PLUGGABLE_PROTOCOL_XHR: u32 = 5131; +pub const URLACTION_ALLOW_VBSCRIPT_IE: u32 = 5132; +pub const URLACTION_ALLOW_JSCRIPT_IE: u32 = 5133; +pub const URLACTION_SCRIPT_CURR_MAX: u32 = 5133; +pub const URLACTION_SCRIPT_MAX: u32 = 5631; +pub const URLACTION_HTML_MIN: u32 = 5632; +pub const URLACTION_HTML_SUBMIT_FORMS: u32 = 5633; +pub const URLACTION_HTML_SUBMIT_FORMS_FROM: u32 = 5634; +pub const URLACTION_HTML_SUBMIT_FORMS_TO: u32 = 5635; +pub const URLACTION_HTML_FONT_DOWNLOAD: u32 = 5636; +pub const URLACTION_HTML_JAVA_RUN: u32 = 5637; +pub const URLACTION_HTML_USERDATA_SAVE: u32 = 5638; +pub const URLACTION_HTML_SUBFRAME_NAVIGATE: u32 = 5639; +pub const URLACTION_HTML_META_REFRESH: u32 = 5640; +pub const URLACTION_HTML_MIXED_CONTENT: u32 = 5641; +pub const URLACTION_HTML_INCLUDE_FILE_PATH: u32 = 5642; +pub const URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML: u32 = 5643; +pub const URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE: u32 = 5644; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS: u32 = 5645; +pub const URLACTION_HTML_ALLOW_WINDOW_CLOSE: u32 = 5646; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER: u32 = 5647; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK: u32 = 5648; +pub const URLACTION_HTML_ALLOW_INDEXEDDB: u32 = 5649; +pub const URLACTION_HTML_MAX: u32 = 6143; +pub const URLACTION_SHELL_MIN: u32 = 6144; +pub const URLACTION_SHELL_INSTALL_DTITEMS: u32 = 6144; +pub const URLACTION_SHELL_MOVE_OR_COPY: u32 = 6146; +pub const URLACTION_SHELL_FILE_DOWNLOAD: u32 = 6147; +pub const URLACTION_SHELL_VERB: u32 = 6148; +pub const URLACTION_SHELL_WEBVIEW_VERB: u32 = 6149; +pub const URLACTION_SHELL_SHELLEXECUTE: u32 = 6150; +pub const URLACTION_SHELL_EXECUTE_HIGHRISK: u32 = 6150; +pub const URLACTION_SHELL_EXECUTE_MODRISK: u32 = 6151; +pub const URLACTION_SHELL_EXECUTE_LOWRISK: u32 = 6152; +pub const URLACTION_SHELL_POPUPMGR: u32 = 6153; +pub const URLACTION_SHELL_RTF_OBJECTS_LOAD: u32 = 6154; +pub const URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY: u32 = 6155; +pub const URLACTION_SHELL_EXTENSIONSECURITY: u32 = 6156; +pub const URLACTION_SHELL_SECURE_DRAGSOURCE: u32 = 6157; +pub const URLACTION_SHELL_REMOTEQUERY: u32 = 6158; +pub const URLACTION_SHELL_PREVIEW: u32 = 6159; +pub const URLACTION_SHELL_SHARE: u32 = 6160; +pub const URLACTION_SHELL_ALLOW_CROSS_SITE_SHARE: u32 = 6161; +pub const URLACTION_SHELL_TOCTOU_RISK: u32 = 6162; +pub const URLACTION_SHELL_CURR_MAX: u32 = 6162; +pub const URLACTION_SHELL_MAX: u32 = 6655; +pub const URLACTION_NETWORK_MIN: u32 = 6656; +pub const URLACTION_CREDENTIALS_USE: u32 = 6656; +pub const URLPOLICY_CREDENTIALS_SILENT_LOGON_OK: u32 = 0; +pub const URLPOLICY_CREDENTIALS_MUST_PROMPT_USER: u32 = 65536; +pub const URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT: u32 = 131072; +pub const URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY: u32 = 196608; +pub const URLACTION_AUTHENTICATE_CLIENT: u32 = 6657; +pub const URLPOLICY_AUTHENTICATE_CLEARTEXT_OK: u32 = 0; +pub const URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE: u32 = 65536; +pub const URLPOLICY_AUTHENTICATE_MUTUAL_ONLY: u32 = 196608; +pub const URLACTION_COOKIES: u32 = 6658; +pub const URLACTION_COOKIES_SESSION: u32 = 6659; +pub const URLACTION_CLIENT_CERT_PROMPT: u32 = 6660; +pub const URLACTION_COOKIES_THIRD_PARTY: u32 = 6661; +pub const URLACTION_COOKIES_SESSION_THIRD_PARTY: u32 = 6662; +pub const URLACTION_COOKIES_ENABLED: u32 = 6672; +pub const URLACTION_NETWORK_CURR_MAX: u32 = 6672; +pub const URLACTION_NETWORK_MAX: u32 = 7167; +pub const URLACTION_JAVA_MIN: u32 = 7168; +pub const URLACTION_JAVA_PERMISSIONS: u32 = 7168; +pub const URLPOLICY_JAVA_PROHIBIT: u32 = 0; +pub const URLPOLICY_JAVA_HIGH: u32 = 65536; +pub const URLPOLICY_JAVA_MEDIUM: u32 = 131072; +pub const URLPOLICY_JAVA_LOW: u32 = 196608; +pub const URLPOLICY_JAVA_CUSTOM: u32 = 8388608; +pub const URLACTION_JAVA_CURR_MAX: u32 = 7168; +pub const URLACTION_JAVA_MAX: u32 = 7423; +pub const URLACTION_INFODELIVERY_MIN: u32 = 7424; +pub const URLACTION_INFODELIVERY_NO_ADDING_CHANNELS: u32 = 7424; +pub const URLACTION_INFODELIVERY_NO_EDITING_CHANNELS: u32 = 7425; +pub const URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS: u32 = 7426; +pub const URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS: u32 = 7427; +pub const URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS: u32 = 7428; +pub const URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS: u32 = 7429; +pub const URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING: u32 = 7430; +pub const URLACTION_INFODELIVERY_CURR_MAX: u32 = 7430; +pub const URLACTION_INFODELIVERY_MAX: u32 = 7679; +pub const URLACTION_CHANNEL_SOFTDIST_MIN: u32 = 7680; +pub const URLACTION_CHANNEL_SOFTDIST_PERMISSIONS: u32 = 7685; +pub const URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT: u32 = 65536; +pub const URLPOLICY_CHANNEL_SOFTDIST_PRECACHE: u32 = 131072; +pub const URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL: u32 = 196608; +pub const URLACTION_CHANNEL_SOFTDIST_MAX: u32 = 7935; +pub const URLACTION_DOTNET_USERCONTROLS: u32 = 8197; +pub const URLACTION_BEHAVIOR_MIN: u32 = 8192; +pub const URLACTION_BEHAVIOR_RUN: u32 = 8192; +pub const URLPOLICY_BEHAVIOR_CHECK_LIST: u32 = 65536; +pub const URLACTION_FEATURE_MIN: u32 = 8448; +pub const URLACTION_FEATURE_MIME_SNIFFING: u32 = 8448; +pub const URLACTION_FEATURE_ZONE_ELEVATION: u32 = 8449; +pub const URLACTION_FEATURE_WINDOW_RESTRICTIONS: u32 = 8450; +pub const URLACTION_FEATURE_SCRIPT_STATUS_BAR: u32 = 8451; +pub const URLACTION_FEATURE_FORCE_ADDR_AND_STATUS: u32 = 8452; +pub const URLACTION_FEATURE_BLOCK_INPUT_PROMPTS: u32 = 8453; +pub const URLACTION_FEATURE_DATA_BINDING: u32 = 8454; +pub const URLACTION_FEATURE_CROSSDOMAIN_FOCUS_CHANGE: u32 = 8455; +pub const URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN: u32 = 8704; +pub const URLACTION_AUTOMATIC_DOWNLOAD_UI: u32 = 8704; +pub const URLACTION_AUTOMATIC_ACTIVEX_UI: u32 = 8705; +pub const URLACTION_ALLOW_RESTRICTEDPROTOCOLS: u32 = 8960; +pub const URLACTION_ALLOW_APEVALUATION: u32 = 8961; +pub const URLACTION_ALLOW_XHR_EVALUATION: u32 = 8962; +pub const URLACTION_WINDOWS_BROWSER_APPLICATIONS: u32 = 9216; +pub const URLACTION_XPS_DOCUMENTS: u32 = 9217; +pub const URLACTION_LOOSE_XAML: u32 = 9218; +pub const URLACTION_LOWRIGHTS: u32 = 9472; +pub const URLACTION_WINFX_SETUP: u32 = 9728; +pub const URLACTION_INPRIVATE_BLOCKING: u32 = 9984; +pub const URLACTION_ALLOW_AUDIO_VIDEO: u32 = 9985; +pub const URLACTION_ALLOW_ACTIVEX_FILTERING: u32 = 9986; +pub const URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING: u32 = 9987; +pub const URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS: u32 = 9988; +pub const URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT: u32 = 9989; +pub const URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION: u32 = 9990; +pub const URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW: u32 = 9992; +pub const URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS: u32 = 9993; +pub const URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST: u32 = 9994; +pub const URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS: u32 = 9995; +pub const URLACTION_ALLOW_ANTIMALWARE_SCANNING_OF_ACTIVEX: u32 = 9996; +pub const URLACTION_ALLOW_CSS_EXPRESSIONS: u32 = 9997; +pub const URLPOLICY_ALLOW: u32 = 0; +pub const URLPOLICY_QUERY: u32 = 1; +pub const URLPOLICY_DISALLOW: u32 = 3; +pub const URLPOLICY_NOTIFY_ON_ALLOW: u32 = 16; +pub const URLPOLICY_NOTIFY_ON_DISALLOW: u32 = 32; +pub const URLPOLICY_LOG_ON_ALLOW: u32 = 64; +pub const URLPOLICY_LOG_ON_DISALLOW: u32 = 128; +pub const URLPOLICY_MASK_PERMISSIONS: u32 = 15; +pub const URLPOLICY_DONTCHECKDLGBOX: u32 = 256; +pub const URLZONE_ESC_FLAG: u32 = 256; +pub const SECURITY_IE_STATE_GREEN: u32 = 0; +pub const SECURITY_IE_STATE_RED: u32 = 1; +pub const SOFTDIST_FLAG_USAGE_EMAIL: u32 = 1; +pub const SOFTDIST_FLAG_USAGE_PRECACHE: u32 = 2; +pub const SOFTDIST_FLAG_USAGE_AUTOINSTALL: u32 = 4; +pub const SOFTDIST_FLAG_DELETE_SUBSCRIPTION: u32 = 8; +pub const SOFTDIST_ADSTATE_NONE: u32 = 0; +pub const SOFTDIST_ADSTATE_AVAILABLE: u32 = 1; +pub const SOFTDIST_ADSTATE_DOWNLOADED: u32 = 2; +pub const SOFTDIST_ADSTATE_INSTALLED: u32 = 3; +pub const CONFIRMSAFETYACTION_LOADOBJECT: u32 = 1; +pub const PIDDI_THUMBNAIL: u32 = 2; +pub const PIDSI_TITLE: u32 = 2; +pub const PIDSI_SUBJECT: u32 = 3; +pub const PIDSI_AUTHOR: u32 = 4; +pub const PIDSI_KEYWORDS: u32 = 5; +pub const PIDSI_COMMENTS: u32 = 6; +pub const PIDSI_TEMPLATE: u32 = 7; +pub const PIDSI_LASTAUTHOR: u32 = 8; +pub const PIDSI_REVNUMBER: u32 = 9; +pub const PIDSI_EDITTIME: u32 = 10; +pub const PIDSI_LASTPRINTED: u32 = 11; +pub const PIDSI_CREATE_DTM: u32 = 12; +pub const PIDSI_LASTSAVE_DTM: u32 = 13; +pub const PIDSI_PAGECOUNT: u32 = 14; +pub const PIDSI_WORDCOUNT: u32 = 15; +pub const PIDSI_CHARCOUNT: u32 = 16; +pub const PIDSI_THUMBNAIL: u32 = 17; +pub const PIDSI_APPNAME: u32 = 18; +pub const PIDSI_DOC_SECURITY: u32 = 19; +pub const PIDDSI_CATEGORY: u32 = 2; +pub const PIDDSI_PRESFORMAT: u32 = 3; +pub const PIDDSI_BYTECOUNT: u32 = 4; +pub const PIDDSI_LINECOUNT: u32 = 5; +pub const PIDDSI_PARCOUNT: u32 = 6; +pub const PIDDSI_SLIDECOUNT: u32 = 7; +pub const PIDDSI_NOTECOUNT: u32 = 8; +pub const PIDDSI_HIDDENCOUNT: u32 = 9; +pub const PIDDSI_MMCLIPCOUNT: u32 = 10; +pub const PIDDSI_SCALE: u32 = 11; +pub const PIDDSI_HEADINGPAIR: u32 = 12; +pub const PIDDSI_DOCPARTS: u32 = 13; +pub const PIDDSI_MANAGER: u32 = 14; +pub const PIDDSI_COMPANY: u32 = 15; +pub const PIDDSI_LINKSDIRTY: u32 = 16; +pub const PIDMSI_EDITOR: u32 = 2; +pub const PIDMSI_SUPPLIER: u32 = 3; +pub const PIDMSI_SOURCE: u32 = 4; +pub const PIDMSI_SEQUENCE_NO: u32 = 5; +pub const PIDMSI_PROJECT: u32 = 6; +pub const PIDMSI_STATUS: u32 = 7; +pub const PIDMSI_OWNER: u32 = 8; +pub const PIDMSI_RATING: u32 = 9; +pub const PIDMSI_PRODUCTION: u32 = 10; +pub const PIDMSI_COPYRIGHT: u32 = 11; +pub const STDOLE_MAJORVERNUM: u32 = 1; +pub const STDOLE_MINORVERNUM: u32 = 0; +pub const STDOLE_LCID: u32 = 0; +pub const STDOLE2_MAJORVERNUM: u32 = 2; +pub const STDOLE2_MINORVERNUM: u32 = 0; +pub const STDOLE2_LCID: u32 = 0; +pub const VARIANT_NOVALUEPROP: u32 = 1; +pub const VARIANT_ALPHABOOL: u32 = 2; +pub const VARIANT_NOUSEROVERRIDE: u32 = 4; +pub const VARIANT_CALENDAR_HIJRI: u32 = 8; +pub const VARIANT_LOCALBOOL: u32 = 16; +pub const VARIANT_CALENDAR_THAI: u32 = 32; +pub const VARIANT_CALENDAR_GREGORIAN: u32 = 64; +pub const VARIANT_USE_NLS: u32 = 128; +pub const LOCALE_USE_NLS: u32 = 268435456; +pub const VTDATEGRE_MAX: u32 = 2958465; +pub const VTDATEGRE_MIN: i32 = -657434; +pub const NUMPRS_LEADING_WHITE: u32 = 1; +pub const NUMPRS_TRAILING_WHITE: u32 = 2; +pub const NUMPRS_LEADING_PLUS: u32 = 4; +pub const NUMPRS_TRAILING_PLUS: u32 = 8; +pub const NUMPRS_LEADING_MINUS: u32 = 16; +pub const NUMPRS_TRAILING_MINUS: u32 = 32; +pub const NUMPRS_HEX_OCT: u32 = 64; +pub const NUMPRS_PARENS: u32 = 128; +pub const NUMPRS_DECIMAL: u32 = 256; +pub const NUMPRS_THOUSANDS: u32 = 512; +pub const NUMPRS_CURRENCY: u32 = 1024; +pub const NUMPRS_EXPONENT: u32 = 2048; +pub const NUMPRS_USE_ALL: u32 = 4096; +pub const NUMPRS_STD: u32 = 8191; +pub const NUMPRS_NEG: u32 = 65536; +pub const NUMPRS_INEXACT: u32 = 131072; +pub const VARCMP_LT: u32 = 0; +pub const VARCMP_EQ: u32 = 1; +pub const VARCMP_GT: u32 = 2; +pub const VARCMP_NULL: u32 = 3; +pub const MEMBERID_NIL: i32 = -1; +pub const ID_DEFAULTINST: i32 = -2; +pub const DISPATCH_METHOD: u32 = 1; +pub const DISPATCH_PROPERTYGET: u32 = 2; +pub const DISPATCH_PROPERTYPUT: u32 = 4; +pub const DISPATCH_PROPERTYPUTREF: u32 = 8; +pub const LOAD_TLB_AS_32BIT: u32 = 32; +pub const LOAD_TLB_AS_64BIT: u32 = 64; +pub const MASK_TO_RESET_TLB_BITS: i32 = -97; +pub const ACTIVEOBJECT_STRONG: u32 = 0; +pub const ACTIVEOBJECT_WEAK: u32 = 1; +pub const OLEIVERB_PRIMARY: u32 = 0; +pub const OLEIVERB_SHOW: i32 = -1; +pub const OLEIVERB_OPEN: i32 = -2; +pub const OLEIVERB_HIDE: i32 = -3; +pub const OLEIVERB_UIACTIVATE: i32 = -4; +pub const OLEIVERB_INPLACEACTIVATE: i32 = -5; +pub const OLEIVERB_DISCARDUNDOSTATE: i32 = -6; +pub const EMBDHLP_INPROC_HANDLER: u32 = 0; +pub const EMBDHLP_INPROC_SERVER: u32 = 1; +pub const EMBDHLP_CREATENOW: u32 = 0; +pub const EMBDHLP_DELAYCREATE: u32 = 65536; +pub const OLECREATE_LEAVERUNNING: u32 = 1; +pub const OFN_READONLY: u32 = 1; +pub const OFN_OVERWRITEPROMPT: u32 = 2; +pub const OFN_HIDEREADONLY: u32 = 4; +pub const OFN_NOCHANGEDIR: u32 = 8; +pub const OFN_SHOWHELP: u32 = 16; +pub const OFN_ENABLEHOOK: u32 = 32; +pub const OFN_ENABLETEMPLATE: u32 = 64; +pub const OFN_ENABLETEMPLATEHANDLE: u32 = 128; +pub const OFN_NOVALIDATE: u32 = 256; +pub const OFN_ALLOWMULTISELECT: u32 = 512; +pub const OFN_EXTENSIONDIFFERENT: u32 = 1024; +pub const OFN_PATHMUSTEXIST: u32 = 2048; +pub const OFN_FILEMUSTEXIST: u32 = 4096; +pub const OFN_CREATEPROMPT: u32 = 8192; +pub const OFN_SHAREAWARE: u32 = 16384; +pub const OFN_NOREADONLYRETURN: u32 = 32768; +pub const OFN_NOTESTFILECREATE: u32 = 65536; +pub const OFN_NONETWORKBUTTON: u32 = 131072; +pub const OFN_NOLONGNAMES: u32 = 262144; +pub const OFN_EXPLORER: u32 = 524288; +pub const OFN_NODEREFERENCELINKS: u32 = 1048576; +pub const OFN_LONGNAMES: u32 = 2097152; +pub const OFN_ENABLEINCLUDENOTIFY: u32 = 4194304; +pub const OFN_ENABLESIZING: u32 = 8388608; +pub const OFN_DONTADDTORECENT: u32 = 33554432; +pub const OFN_FORCESHOWHIDDEN: u32 = 268435456; +pub const OFN_EX_NOPLACESBAR: u32 = 1; +pub const OFN_SHAREFALLTHROUGH: u32 = 2; +pub const OFN_SHARENOWARN: u32 = 1; +pub const OFN_SHAREWARN: u32 = 0; +pub const CDN_FIRST: i32 = -601; +pub const CDN_LAST: i32 = -699; +pub const CDN_INITDONE: i32 = -601; +pub const CDN_SELCHANGE: i32 = -602; +pub const CDN_FOLDERCHANGE: i32 = -603; +pub const CDN_SHAREVIOLATION: i32 = -604; +pub const CDN_HELP: i32 = -605; +pub const CDN_FILEOK: i32 = -606; +pub const CDN_TYPECHANGE: i32 = -607; +pub const CDN_INCLUDEITEM: i32 = -608; +pub const CDM_FIRST: u32 = 1124; +pub const CDM_LAST: u32 = 1224; +pub const CDM_GETSPEC: u32 = 1124; +pub const CDM_GETFILEPATH: u32 = 1125; +pub const CDM_GETFOLDERPATH: u32 = 1126; +pub const CDM_GETFOLDERIDLIST: u32 = 1127; +pub const CDM_SETCONTROLTEXT: u32 = 1128; +pub const CDM_HIDECONTROL: u32 = 1129; +pub const CDM_SETDEFEXT: u32 = 1130; +pub const CC_RGBINIT: u32 = 1; +pub const CC_FULLOPEN: u32 = 2; +pub const CC_PREVENTFULLOPEN: u32 = 4; +pub const CC_SHOWHELP: u32 = 8; +pub const CC_ENABLEHOOK: u32 = 16; +pub const CC_ENABLETEMPLATE: u32 = 32; +pub const CC_ENABLETEMPLATEHANDLE: u32 = 64; +pub const CC_SOLIDCOLOR: u32 = 128; +pub const CC_ANYCOLOR: u32 = 256; +pub const FR_DOWN: u32 = 1; +pub const FR_WHOLEWORD: u32 = 2; +pub const FR_MATCHCASE: u32 = 4; +pub const FR_FINDNEXT: u32 = 8; +pub const FR_REPLACE: u32 = 16; +pub const FR_REPLACEALL: u32 = 32; +pub const FR_DIALOGTERM: u32 = 64; +pub const FR_SHOWHELP: u32 = 128; +pub const FR_ENABLEHOOK: u32 = 256; +pub const FR_ENABLETEMPLATE: u32 = 512; +pub const FR_NOUPDOWN: u32 = 1024; +pub const FR_NOMATCHCASE: u32 = 2048; +pub const FR_NOWHOLEWORD: u32 = 4096; +pub const FR_ENABLETEMPLATEHANDLE: u32 = 8192; +pub const FR_HIDEUPDOWN: u32 = 16384; +pub const FR_HIDEMATCHCASE: u32 = 32768; +pub const FR_HIDEWHOLEWORD: u32 = 65536; +pub const FR_RAW: u32 = 131072; +pub const FR_SHOWWRAPAROUND: u32 = 262144; +pub const FR_NOWRAPAROUND: u32 = 524288; +pub const FR_WRAPAROUND: u32 = 1048576; +pub const FR_MATCHDIAC: u32 = 536870912; +pub const FR_MATCHKASHIDA: u32 = 1073741824; +pub const FR_MATCHALEFHAMZA: u32 = 2147483648; +pub const FRM_FIRST: u32 = 1124; +pub const FRM_LAST: u32 = 1224; +pub const FRM_SETOPERATIONRESULT: u32 = 1124; +pub const FRM_SETOPERATIONRESULTTEXT: u32 = 1125; +pub const CF_SCREENFONTS: u32 = 1; +pub const CF_PRINTERFONTS: u32 = 2; +pub const CF_BOTH: u32 = 3; +pub const CF_SHOWHELP: u32 = 4; +pub const CF_ENABLEHOOK: u32 = 8; +pub const CF_ENABLETEMPLATE: u32 = 16; +pub const CF_ENABLETEMPLATEHANDLE: u32 = 32; +pub const CF_INITTOLOGFONTSTRUCT: u32 = 64; +pub const CF_USESTYLE: u32 = 128; +pub const CF_EFFECTS: u32 = 256; +pub const CF_APPLY: u32 = 512; +pub const CF_ANSIONLY: u32 = 1024; +pub const CF_SCRIPTSONLY: u32 = 1024; +pub const CF_NOVECTORFONTS: u32 = 2048; +pub const CF_NOOEMFONTS: u32 = 2048; +pub const CF_NOSIMULATIONS: u32 = 4096; +pub const CF_LIMITSIZE: u32 = 8192; +pub const CF_FIXEDPITCHONLY: u32 = 16384; +pub const CF_WYSIWYG: u32 = 32768; +pub const CF_FORCEFONTEXIST: u32 = 65536; +pub const CF_SCALABLEONLY: u32 = 131072; +pub const CF_TTONLY: u32 = 262144; +pub const CF_NOFACESEL: u32 = 524288; +pub const CF_NOSTYLESEL: u32 = 1048576; +pub const CF_NOSIZESEL: u32 = 2097152; +pub const CF_SELECTSCRIPT: u32 = 4194304; +pub const CF_NOSCRIPTSEL: u32 = 8388608; +pub const CF_NOVERTFONTS: u32 = 16777216; +pub const CF_INACTIVEFONTS: u32 = 33554432; +pub const SIMULATED_FONTTYPE: u32 = 32768; +pub const PRINTER_FONTTYPE: u32 = 16384; +pub const SCREEN_FONTTYPE: u32 = 8192; +pub const BOLD_FONTTYPE: u32 = 256; +pub const ITALIC_FONTTYPE: u32 = 512; +pub const REGULAR_FONTTYPE: u32 = 1024; +pub const PS_OPENTYPE_FONTTYPE: u32 = 65536; +pub const TT_OPENTYPE_FONTTYPE: u32 = 131072; +pub const TYPE1_FONTTYPE: u32 = 262144; +pub const SYMBOL_FONTTYPE: u32 = 524288; +pub const WM_CHOOSEFONT_GETLOGFONT: u32 = 1025; +pub const WM_CHOOSEFONT_SETLOGFONT: u32 = 1125; +pub const WM_CHOOSEFONT_SETFLAGS: u32 = 1126; +pub const LBSELCHSTRINGA: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRINGA: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRINGA: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRINGA: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRINGA: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRINGA: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRINGA: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const LBSELCHSTRINGW: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRINGW: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRINGW: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRINGW: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRINGW: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRINGW: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRINGW: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const LBSELCHSTRING: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRING: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRING: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRING: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRING: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRING: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRING: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const CD_LBSELNOITEMS: i32 = -1; +pub const CD_LBSELCHANGE: u32 = 0; +pub const CD_LBSELSUB: u32 = 1; +pub const CD_LBSELADD: u32 = 2; +pub const PD_ALLPAGES: u32 = 0; +pub const PD_SELECTION: u32 = 1; +pub const PD_PAGENUMS: u32 = 2; +pub const PD_NOSELECTION: u32 = 4; +pub const PD_NOPAGENUMS: u32 = 8; +pub const PD_COLLATE: u32 = 16; +pub const PD_PRINTTOFILE: u32 = 32; +pub const PD_PRINTSETUP: u32 = 64; +pub const PD_NOWARNING: u32 = 128; +pub const PD_RETURNDC: u32 = 256; +pub const PD_RETURNIC: u32 = 512; +pub const PD_RETURNDEFAULT: u32 = 1024; +pub const PD_SHOWHELP: u32 = 2048; +pub const PD_ENABLEPRINTHOOK: u32 = 4096; +pub const PD_ENABLESETUPHOOK: u32 = 8192; +pub const PD_ENABLEPRINTTEMPLATE: u32 = 16384; +pub const PD_ENABLESETUPTEMPLATE: u32 = 32768; +pub const PD_ENABLEPRINTTEMPLATEHANDLE: u32 = 65536; +pub const PD_ENABLESETUPTEMPLATEHANDLE: u32 = 131072; +pub const PD_USEDEVMODECOPIES: u32 = 262144; +pub const PD_USEDEVMODECOPIESANDCOLLATE: u32 = 262144; +pub const PD_DISABLEPRINTTOFILE: u32 = 524288; +pub const PD_HIDEPRINTTOFILE: u32 = 1048576; +pub const PD_NONETWORKBUTTON: u32 = 2097152; +pub const PD_CURRENTPAGE: u32 = 4194304; +pub const PD_NOCURRENTPAGE: u32 = 8388608; +pub const PD_EXCLUSIONFLAGS: u32 = 16777216; +pub const PD_USELARGETEMPLATE: u32 = 268435456; +pub const PD_EXCL_COPIESANDCOLLATE: u32 = 33024; +pub const START_PAGE_GENERAL: u32 = 4294967295; +pub const PD_RESULT_CANCEL: u32 = 0; +pub const PD_RESULT_PRINT: u32 = 1; +pub const PD_RESULT_APPLY: u32 = 2; +pub const DN_DEFAULTPRN: u32 = 1; +pub const WM_PSD_PAGESETUPDLG: u32 = 1024; +pub const WM_PSD_FULLPAGERECT: u32 = 1025; +pub const WM_PSD_MINMARGINRECT: u32 = 1026; +pub const WM_PSD_MARGINRECT: u32 = 1027; +pub const WM_PSD_GREEKTEXTRECT: u32 = 1028; +pub const WM_PSD_ENVSTAMPRECT: u32 = 1029; +pub const WM_PSD_YAFULLPAGERECT: u32 = 1030; +pub const PSD_DEFAULTMINMARGINS: u32 = 0; +pub const PSD_INWININIINTLMEASURE: u32 = 0; +pub const PSD_MINMARGINS: u32 = 1; +pub const PSD_MARGINS: u32 = 2; +pub const PSD_INTHOUSANDTHSOFINCHES: u32 = 4; +pub const PSD_INHUNDREDTHSOFMILLIMETERS: u32 = 8; +pub const PSD_DISABLEMARGINS: u32 = 16; +pub const PSD_DISABLEPRINTER: u32 = 32; +pub const PSD_NOWARNING: u32 = 128; +pub const PSD_DISABLEORIENTATION: u32 = 256; +pub const PSD_RETURNDEFAULT: u32 = 1024; +pub const PSD_DISABLEPAPER: u32 = 512; +pub const PSD_SHOWHELP: u32 = 2048; +pub const PSD_ENABLEPAGESETUPHOOK: u32 = 8192; +pub const PSD_ENABLEPAGESETUPTEMPLATE: u32 = 32768; +pub const PSD_ENABLEPAGESETUPTEMPLATEHANDLE: u32 = 131072; +pub const PSD_ENABLEPAGEPAINTHOOK: u32 = 262144; +pub const PSD_DISABLEPAGEPAINTING: u32 = 524288; +pub const PSD_NONETWORKBUTTON: u32 = 2097152; +pub const _STRALIGN_USE_SECURE_CRT: u32 = 1; +pub const SERVICES_ACTIVE_DATABASEW: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASEW: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SERVICES_ACTIVE_DATABASEA: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASEA: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SC_GROUP_IDENTIFIERW: u8 = 43u8; +pub const SC_GROUP_IDENTIFIERA: u8 = 43u8; +pub const SERVICES_ACTIVE_DATABASE: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASE: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SC_GROUP_IDENTIFIER: u8 = 43u8; +pub const SERVICE_NO_CHANGE: u32 = 4294967295; +pub const SERVICE_ACTIVE: u32 = 1; +pub const SERVICE_INACTIVE: u32 = 2; +pub const SERVICE_STATE_ALL: u32 = 3; +pub const SERVICE_CONTROL_STOP: u32 = 1; +pub const SERVICE_CONTROL_PAUSE: u32 = 2; +pub const SERVICE_CONTROL_CONTINUE: u32 = 3; +pub const SERVICE_CONTROL_INTERROGATE: u32 = 4; +pub const SERVICE_CONTROL_SHUTDOWN: u32 = 5; +pub const SERVICE_CONTROL_PARAMCHANGE: u32 = 6; +pub const SERVICE_CONTROL_NETBINDADD: u32 = 7; +pub const SERVICE_CONTROL_NETBINDREMOVE: u32 = 8; +pub const SERVICE_CONTROL_NETBINDENABLE: u32 = 9; +pub const SERVICE_CONTROL_NETBINDDISABLE: u32 = 10; +pub const SERVICE_CONTROL_DEVICEEVENT: u32 = 11; +pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE: u32 = 12; +pub const SERVICE_CONTROL_POWEREVENT: u32 = 13; +pub const SERVICE_CONTROL_SESSIONCHANGE: u32 = 14; +pub const SERVICE_CONTROL_PRESHUTDOWN: u32 = 15; +pub const SERVICE_CONTROL_TIMECHANGE: u32 = 16; +pub const SERVICE_CONTROL_TRIGGEREVENT: u32 = 32; +pub const SERVICE_CONTROL_LOWRESOURCES: u32 = 96; +pub const SERVICE_CONTROL_SYSTEMLOWRESOURCES: u32 = 97; +pub const SERVICE_STOPPED: u32 = 1; +pub const SERVICE_START_PENDING: u32 = 2; +pub const SERVICE_STOP_PENDING: u32 = 3; +pub const SERVICE_RUNNING: u32 = 4; +pub const SERVICE_CONTINUE_PENDING: u32 = 5; +pub const SERVICE_PAUSE_PENDING: u32 = 6; +pub const SERVICE_PAUSED: u32 = 7; +pub const SERVICE_ACCEPT_STOP: u32 = 1; +pub const SERVICE_ACCEPT_PAUSE_CONTINUE: u32 = 2; +pub const SERVICE_ACCEPT_SHUTDOWN: u32 = 4; +pub const SERVICE_ACCEPT_PARAMCHANGE: u32 = 8; +pub const SERVICE_ACCEPT_NETBINDCHANGE: u32 = 16; +pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE: u32 = 32; +pub const SERVICE_ACCEPT_POWEREVENT: u32 = 64; +pub const SERVICE_ACCEPT_SESSIONCHANGE: u32 = 128; +pub const SERVICE_ACCEPT_PRESHUTDOWN: u32 = 256; +pub const SERVICE_ACCEPT_TIMECHANGE: u32 = 512; +pub const SERVICE_ACCEPT_TRIGGEREVENT: u32 = 1024; +pub const SERVICE_ACCEPT_USER_LOGOFF: u32 = 2048; +pub const SERVICE_ACCEPT_LOWRESOURCES: u32 = 8192; +pub const SERVICE_ACCEPT_SYSTEMLOWRESOURCES: u32 = 16384; +pub const SC_MANAGER_CONNECT: u32 = 1; +pub const SC_MANAGER_CREATE_SERVICE: u32 = 2; +pub const SC_MANAGER_ENUMERATE_SERVICE: u32 = 4; +pub const SC_MANAGER_LOCK: u32 = 8; +pub const SC_MANAGER_QUERY_LOCK_STATUS: u32 = 16; +pub const SC_MANAGER_MODIFY_BOOT_CONFIG: u32 = 32; +pub const SC_MANAGER_ALL_ACCESS: u32 = 983103; +pub const SERVICE_QUERY_CONFIG: u32 = 1; +pub const SERVICE_CHANGE_CONFIG: u32 = 2; +pub const SERVICE_QUERY_STATUS: u32 = 4; +pub const SERVICE_ENUMERATE_DEPENDENTS: u32 = 8; +pub const SERVICE_START: u32 = 16; +pub const SERVICE_STOP: u32 = 32; +pub const SERVICE_PAUSE_CONTINUE: u32 = 64; +pub const SERVICE_INTERROGATE: u32 = 128; +pub const SERVICE_USER_DEFINED_CONTROL: u32 = 256; +pub const SERVICE_ALL_ACCESS: u32 = 983551; +pub const SERVICE_RUNS_IN_SYSTEM_PROCESS: u32 = 1; +pub const SERVICE_CONFIG_DESCRIPTION: u32 = 1; +pub const SERVICE_CONFIG_FAILURE_ACTIONS: u32 = 2; +pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO: u32 = 3; +pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: u32 = 4; +pub const SERVICE_CONFIG_SERVICE_SID_INFO: u32 = 5; +pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: u32 = 6; +pub const SERVICE_CONFIG_PRESHUTDOWN_INFO: u32 = 7; +pub const SERVICE_CONFIG_TRIGGER_INFO: u32 = 8; +pub const SERVICE_CONFIG_PREFERRED_NODE: u32 = 9; +pub const SERVICE_CONFIG_LAUNCH_PROTECTED: u32 = 12; +pub const SERVICE_NOTIFY_STATUS_CHANGE_1: u32 = 1; +pub const SERVICE_NOTIFY_STATUS_CHANGE_2: u32 = 2; +pub const SERVICE_NOTIFY_STATUS_CHANGE: u32 = 2; +pub const SERVICE_NOTIFY_STOPPED: u32 = 1; +pub const SERVICE_NOTIFY_START_PENDING: u32 = 2; +pub const SERVICE_NOTIFY_STOP_PENDING: u32 = 4; +pub const SERVICE_NOTIFY_RUNNING: u32 = 8; +pub const SERVICE_NOTIFY_CONTINUE_PENDING: u32 = 16; +pub const SERVICE_NOTIFY_PAUSE_PENDING: u32 = 32; +pub const SERVICE_NOTIFY_PAUSED: u32 = 64; +pub const SERVICE_NOTIFY_CREATED: u32 = 128; +pub const SERVICE_NOTIFY_DELETED: u32 = 256; +pub const SERVICE_NOTIFY_DELETE_PENDING: u32 = 512; +pub const SERVICE_STOP_REASON_FLAG_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_FLAG_UNPLANNED: u32 = 268435456; +pub const SERVICE_STOP_REASON_FLAG_CUSTOM: u32 = 536870912; +pub const SERVICE_STOP_REASON_FLAG_PLANNED: u32 = 1073741824; +pub const SERVICE_STOP_REASON_FLAG_MAX: u32 = 2147483648; +pub const SERVICE_STOP_REASON_MAJOR_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_MAJOR_OTHER: u32 = 65536; +pub const SERVICE_STOP_REASON_MAJOR_HARDWARE: u32 = 131072; +pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM: u32 = 196608; +pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE: u32 = 262144; +pub const SERVICE_STOP_REASON_MAJOR_APPLICATION: u32 = 327680; +pub const SERVICE_STOP_REASON_MAJOR_NONE: u32 = 393216; +pub const SERVICE_STOP_REASON_MAJOR_MAX: u32 = 458752; +pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM: u32 = 4194304; +pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM: u32 = 16711680; +pub const SERVICE_STOP_REASON_MINOR_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_MINOR_OTHER: u32 = 1; +pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE: u32 = 2; +pub const SERVICE_STOP_REASON_MINOR_INSTALLATION: u32 = 3; +pub const SERVICE_STOP_REASON_MINOR_UPGRADE: u32 = 4; +pub const SERVICE_STOP_REASON_MINOR_RECONFIG: u32 = 5; +pub const SERVICE_STOP_REASON_MINOR_HUNG: u32 = 6; +pub const SERVICE_STOP_REASON_MINOR_UNSTABLE: u32 = 7; +pub const SERVICE_STOP_REASON_MINOR_DISK: u32 = 8; +pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD: u32 = 9; +pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT: u32 = 10; +pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER: u32 = 11; +pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER: u32 = 12; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK: u32 = 13; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE: u32 = 14; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX: u32 = 15; +pub const SERVICE_STOP_REASON_MINOR_SECURITY: u32 = 16; +pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 17; +pub const SERVICE_STOP_REASON_MINOR_WMI: u32 = 18; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 19; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL: u32 = 20; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 21; +pub const SERVICE_STOP_REASON_MINOR_MMC: u32 = 22; +pub const SERVICE_STOP_REASON_MINOR_NONE: u32 = 23; +pub const SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT: u32 = 24; +pub const SERVICE_STOP_REASON_MINOR_MAX: u32 = 25; +pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM: u32 = 256; +pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM: u32 = 65535; +pub const SERVICE_CONTROL_STATUS_REASON_INFO: u32 = 1; +pub const SERVICE_SID_TYPE_NONE: u32 = 0; +pub const SERVICE_SID_TYPE_UNRESTRICTED: u32 = 1; +pub const SERVICE_SID_TYPE_RESTRICTED: u32 = 3; +pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL: u32 = 1; +pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY: u32 = 2; +pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN: u32 = 3; +pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT: u32 = 4; +pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY: u32 = 5; +pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT: u32 = 6; +pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE: u32 = 7; +pub const SERVICE_TRIGGER_TYPE_CUSTOM: u32 = 20; +pub const SERVICE_TRIGGER_TYPE_AGGREGATE: u32 = 30; +pub const SERVICE_TRIGGER_DATA_TYPE_BINARY: u32 = 1; +pub const SERVICE_TRIGGER_DATA_TYPE_STRING: u32 = 2; +pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL: u32 = 3; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY: u32 = 4; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL: u32 = 5; +pub const SERVICE_START_REASON_DEMAND: u32 = 1; +pub const SERVICE_START_REASON_AUTO: u32 = 2; +pub const SERVICE_START_REASON_TRIGGER: u32 = 4; +pub const SERVICE_START_REASON_RESTART_ON_FAILURE: u32 = 8; +pub const SERVICE_START_REASON_DELAYEDAUTO: u32 = 16; +pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON: u32 = 1; +pub const SERVICE_LAUNCH_PROTECTED_NONE: u32 = 0; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS: u32 = 1; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT: u32 = 2; +pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT: u32 = 3; +pub const SERVICE_TRIGGER_ACTION_SERVICE_START: u32 = 1; +pub const SERVICE_TRIGGER_ACTION_SERVICE_STOP: u32 = 2; +pub const SERVICE_TRIGGER_STARTED_ARGUMENT: &[u8; 15usize] = b"TriggerStarted\0"; +pub const SC_AGGREGATE_STORAGE_KEY: &[u8; 57usize] = + b"System\\CurrentControlSet\\Control\\ServiceAggregatedEvents\0"; +pub const DIALOPTION_BILLING: u32 = 64; +pub const DIALOPTION_QUIET: u32 = 128; +pub const DIALOPTION_DIALTONE: u32 = 256; +pub const MDMVOLFLAG_LOW: u32 = 1; +pub const MDMVOLFLAG_MEDIUM: u32 = 2; +pub const MDMVOLFLAG_HIGH: u32 = 4; +pub const MDMVOL_LOW: u32 = 0; +pub const MDMVOL_MEDIUM: u32 = 1; +pub const MDMVOL_HIGH: u32 = 2; +pub const MDMSPKRFLAG_OFF: u32 = 1; +pub const MDMSPKRFLAG_DIAL: u32 = 2; +pub const MDMSPKRFLAG_ON: u32 = 4; +pub const MDMSPKRFLAG_CALLSETUP: u32 = 8; +pub const MDMSPKR_OFF: u32 = 0; +pub const MDMSPKR_DIAL: u32 = 1; +pub const MDMSPKR_ON: u32 = 2; +pub const MDMSPKR_CALLSETUP: u32 = 3; +pub const MDM_COMPRESSION: u32 = 1; +pub const MDM_ERROR_CONTROL: u32 = 2; +pub const MDM_FORCED_EC: u32 = 4; +pub const MDM_CELLULAR: u32 = 8; +pub const MDM_FLOWCONTROL_HARD: u32 = 16; +pub const MDM_FLOWCONTROL_SOFT: u32 = 32; +pub const MDM_CCITT_OVERRIDE: u32 = 64; +pub const MDM_SPEED_ADJUST: u32 = 128; +pub const MDM_TONE_DIAL: u32 = 256; +pub const MDM_BLIND_DIAL: u32 = 512; +pub const MDM_V23_OVERRIDE: u32 = 1024; +pub const MDM_DIAGNOSTICS: u32 = 2048; +pub const MDM_MASK_BEARERMODE: u32 = 61440; +pub const MDM_SHIFT_BEARERMODE: u32 = 12; +pub const MDM_MASK_PROTOCOLID: u32 = 983040; +pub const MDM_SHIFT_PROTOCOLID: u32 = 16; +pub const MDM_MASK_PROTOCOLDATA: u32 = 267386880; +pub const MDM_SHIFT_PROTOCOLDATA: u32 = 20; +pub const MDM_MASK_PROTOCOLINFO: u32 = 268369920; +pub const MDM_SHIFT_PROTOCOLINFO: u32 = 16; +pub const MDM_MASK_EXTENDEDINFO: u32 = 268431360; +pub const MDM_SHIFT_EXTENDEDINFO: u32 = 12; +pub const MDM_BEARERMODE_ANALOG: u32 = 0; +pub const MDM_BEARERMODE_ISDN: u32 = 1; +pub const MDM_BEARERMODE_GSM: u32 = 2; +pub const MDM_PROTOCOLID_DEFAULT: u32 = 0; +pub const MDM_PROTOCOLID_HDLCPPP: u32 = 1; +pub const MDM_PROTOCOLID_V128: u32 = 2; +pub const MDM_PROTOCOLID_X75: u32 = 3; +pub const MDM_PROTOCOLID_V110: u32 = 4; +pub const MDM_PROTOCOLID_V120: u32 = 5; +pub const MDM_PROTOCOLID_AUTO: u32 = 6; +pub const MDM_PROTOCOLID_ANALOG: u32 = 7; +pub const MDM_PROTOCOLID_GPRS: u32 = 8; +pub const MDM_PROTOCOLID_PIAFS: u32 = 9; +pub const MDM_SHIFT_HDLCPPP_SPEED: u32 = 0; +pub const MDM_MASK_HDLCPPP_SPEED: u32 = 7; +pub const MDM_HDLCPPP_SPEED_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_SPEED_64K: u32 = 1; +pub const MDM_HDLCPPP_SPEED_56K: u32 = 2; +pub const MDM_SHIFT_HDLCPPP_AUTH: u32 = 3; +pub const MDM_MASK_HDLCPPP_AUTH: u32 = 56; +pub const MDM_HDLCPPP_AUTH_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_AUTH_NONE: u32 = 1; +pub const MDM_HDLCPPP_AUTH_PAP: u32 = 2; +pub const MDM_HDLCPPP_AUTH_CHAP: u32 = 3; +pub const MDM_HDLCPPP_AUTH_MSCHAP: u32 = 4; +pub const MDM_SHIFT_HDLCPPP_ML: u32 = 6; +pub const MDM_MASK_HDLCPPP_ML: u32 = 192; +pub const MDM_HDLCPPP_ML_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_ML_NONE: u32 = 1; +pub const MDM_HDLCPPP_ML_2: u32 = 2; +pub const MDM_SHIFT_V120_SPEED: u32 = 0; +pub const MDM_MASK_V120_SPEED: u32 = 7; +pub const MDM_V120_SPEED_DEFAULT: u32 = 0; +pub const MDM_V120_SPEED_64K: u32 = 1; +pub const MDM_V120_SPEED_56K: u32 = 2; +pub const MDM_SHIFT_V120_ML: u32 = 6; +pub const MDM_MASK_V120_ML: u32 = 192; +pub const MDM_V120_ML_DEFAULT: u32 = 0; +pub const MDM_V120_ML_NONE: u32 = 1; +pub const MDM_V120_ML_2: u32 = 2; +pub const MDM_SHIFT_X75_DATA: u32 = 0; +pub const MDM_MASK_X75_DATA: u32 = 7; +pub const MDM_X75_DATA_DEFAULT: u32 = 0; +pub const MDM_X75_DATA_64K: u32 = 1; +pub const MDM_X75_DATA_128K: u32 = 2; +pub const MDM_X75_DATA_T_70: u32 = 3; +pub const MDM_X75_DATA_BTX: u32 = 4; +pub const MDM_SHIFT_V110_SPEED: u32 = 0; +pub const MDM_MASK_V110_SPEED: u32 = 15; +pub const MDM_V110_SPEED_DEFAULT: u32 = 0; +pub const MDM_V110_SPEED_1DOT2K: u32 = 1; +pub const MDM_V110_SPEED_2DOT4K: u32 = 2; +pub const MDM_V110_SPEED_4DOT8K: u32 = 3; +pub const MDM_V110_SPEED_9DOT6K: u32 = 4; +pub const MDM_V110_SPEED_12DOT0K: u32 = 5; +pub const MDM_V110_SPEED_14DOT4K: u32 = 6; +pub const MDM_V110_SPEED_19DOT2K: u32 = 7; +pub const MDM_V110_SPEED_28DOT8K: u32 = 8; +pub const MDM_V110_SPEED_38DOT4K: u32 = 9; +pub const MDM_V110_SPEED_57DOT6K: u32 = 10; +pub const MDM_SHIFT_AUTO_SPEED: u32 = 0; +pub const MDM_MASK_AUTO_SPEED: u32 = 7; +pub const MDM_AUTO_SPEED_DEFAULT: u32 = 0; +pub const MDM_SHIFT_AUTO_ML: u32 = 6; +pub const MDM_MASK_AUTO_ML: u32 = 192; +pub const MDM_AUTO_ML_DEFAULT: u32 = 0; +pub const MDM_AUTO_ML_NONE: u32 = 1; +pub const MDM_AUTO_ML_2: u32 = 2; +pub const MDM_ANALOG_RLP_ON: u32 = 0; +pub const MDM_ANALOG_RLP_OFF: u32 = 1; +pub const MDM_ANALOG_V34: u32 = 2; +pub const MDM_PIAFS_INCOMING: u32 = 0; +pub const MDM_PIAFS_OUTGOING: u32 = 1; +pub const STYLE_DESCRIPTION_SIZE: u32 = 32; +pub const IMEMENUITEM_STRING_SIZE: u32 = 80; +pub const IMC_GETCANDIDATEPOS: u32 = 7; +pub const IMC_SETCANDIDATEPOS: u32 = 8; +pub const IMC_GETCOMPOSITIONFONT: u32 = 9; +pub const IMC_SETCOMPOSITIONFONT: u32 = 10; +pub const IMC_GETCOMPOSITIONWINDOW: u32 = 11; +pub const IMC_SETCOMPOSITIONWINDOW: u32 = 12; +pub const IMC_GETSTATUSWINDOWPOS: u32 = 15; +pub const IMC_SETSTATUSWINDOWPOS: u32 = 16; +pub const IMC_CLOSESTATUSWINDOW: u32 = 33; +pub const IMC_OPENSTATUSWINDOW: u32 = 34; +pub const NI_OPENCANDIDATE: u32 = 16; +pub const NI_CLOSECANDIDATE: u32 = 17; +pub const NI_SELECTCANDIDATESTR: u32 = 18; +pub const NI_CHANGECANDIDATELIST: u32 = 19; +pub const NI_FINALIZECONVERSIONRESULT: u32 = 20; +pub const NI_COMPOSITIONSTR: u32 = 21; +pub const NI_SETCANDIDATE_PAGESTART: u32 = 22; +pub const NI_SETCANDIDATE_PAGESIZE: u32 = 23; +pub const NI_IMEMENUSELECTED: u32 = 24; +pub const ISC_SHOWUICANDIDATEWINDOW: u32 = 1; +pub const ISC_SHOWUICOMPOSITIONWINDOW: u32 = 2147483648; +pub const ISC_SHOWUIGUIDELINE: u32 = 1073741824; +pub const ISC_SHOWUIALLCANDIDATEWINDOW: u32 = 15; +pub const ISC_SHOWUIALL: u32 = 3221225487; +pub const CPS_COMPLETE: u32 = 1; +pub const CPS_CONVERT: u32 = 2; +pub const CPS_REVERT: u32 = 3; +pub const CPS_CANCEL: u32 = 4; +pub const MOD_LEFT: u32 = 32768; +pub const MOD_RIGHT: u32 = 16384; +pub const MOD_ON_KEYUP: u32 = 2048; +pub const MOD_IGNORE_ALL_MODIFIER: u32 = 1024; +pub const IME_CHOTKEY_IME_NONIME_TOGGLE: u32 = 16; +pub const IME_CHOTKEY_SHAPE_TOGGLE: u32 = 17; +pub const IME_CHOTKEY_SYMBOL_TOGGLE: u32 = 18; +pub const IME_JHOTKEY_CLOSE_OPEN: u32 = 48; +pub const IME_KHOTKEY_SHAPE_TOGGLE: u32 = 80; +pub const IME_KHOTKEY_HANJACONVERT: u32 = 81; +pub const IME_KHOTKEY_ENGLISH: u32 = 82; +pub const IME_THOTKEY_IME_NONIME_TOGGLE: u32 = 112; +pub const IME_THOTKEY_SHAPE_TOGGLE: u32 = 113; +pub const IME_THOTKEY_SYMBOL_TOGGLE: u32 = 114; +pub const IME_HOTKEY_DSWITCH_FIRST: u32 = 256; +pub const IME_HOTKEY_DSWITCH_LAST: u32 = 287; +pub const IME_HOTKEY_PRIVATE_FIRST: u32 = 512; +pub const IME_ITHOTKEY_RESEND_RESULTSTR: u32 = 512; +pub const IME_ITHOTKEY_PREVIOUS_COMPOSITION: u32 = 513; +pub const IME_ITHOTKEY_UISTYLE_TOGGLE: u32 = 514; +pub const IME_ITHOTKEY_RECONVERTSTRING: u32 = 515; +pub const IME_HOTKEY_PRIVATE_LAST: u32 = 543; +pub const GCS_COMPREADSTR: u32 = 1; +pub const GCS_COMPREADATTR: u32 = 2; +pub const GCS_COMPREADCLAUSE: u32 = 4; +pub const GCS_COMPSTR: u32 = 8; +pub const GCS_COMPATTR: u32 = 16; +pub const GCS_COMPCLAUSE: u32 = 32; +pub const GCS_CURSORPOS: u32 = 128; +pub const GCS_DELTASTART: u32 = 256; +pub const GCS_RESULTREADSTR: u32 = 512; +pub const GCS_RESULTREADCLAUSE: u32 = 1024; +pub const GCS_RESULTSTR: u32 = 2048; +pub const GCS_RESULTCLAUSE: u32 = 4096; +pub const CS_INSERTCHAR: u32 = 8192; +pub const CS_NOMOVECARET: u32 = 16384; +pub const IMEVER_0310: u32 = 196618; +pub const IMEVER_0400: u32 = 262144; +pub const IME_PROP_AT_CARET: u32 = 65536; +pub const IME_PROP_SPECIAL_UI: u32 = 131072; +pub const IME_PROP_CANDLIST_START_FROM_1: u32 = 262144; +pub const IME_PROP_UNICODE: u32 = 524288; +pub const IME_PROP_COMPLETE_ON_UNSELECT: u32 = 1048576; +pub const UI_CAP_2700: u32 = 1; +pub const UI_CAP_ROT90: u32 = 2; +pub const UI_CAP_ROTANY: u32 = 4; +pub const SCS_CAP_COMPSTR: u32 = 1; +pub const SCS_CAP_MAKEREAD: u32 = 2; +pub const SCS_CAP_SETRECONVERTSTRING: u32 = 4; +pub const SELECT_CAP_CONVERSION: u32 = 1; +pub const SELECT_CAP_SENTENCE: u32 = 2; +pub const GGL_LEVEL: u32 = 1; +pub const GGL_INDEX: u32 = 2; +pub const GGL_STRING: u32 = 3; +pub const GGL_PRIVATE: u32 = 4; +pub const GL_LEVEL_NOGUIDELINE: u32 = 0; +pub const GL_LEVEL_FATAL: u32 = 1; +pub const GL_LEVEL_ERROR: u32 = 2; +pub const GL_LEVEL_WARNING: u32 = 3; +pub const GL_LEVEL_INFORMATION: u32 = 4; +pub const GL_ID_UNKNOWN: u32 = 0; +pub const GL_ID_NOMODULE: u32 = 1; +pub const GL_ID_NODICTIONARY: u32 = 16; +pub const GL_ID_CANNOTSAVE: u32 = 17; +pub const GL_ID_NOCONVERT: u32 = 32; +pub const GL_ID_TYPINGERROR: u32 = 33; +pub const GL_ID_TOOMANYSTROKE: u32 = 34; +pub const GL_ID_READINGCONFLICT: u32 = 35; +pub const GL_ID_INPUTREADING: u32 = 36; +pub const GL_ID_INPUTRADICAL: u32 = 37; +pub const GL_ID_INPUTCODE: u32 = 38; +pub const GL_ID_INPUTSYMBOL: u32 = 39; +pub const GL_ID_CHOOSECANDIDATE: u32 = 40; +pub const GL_ID_REVERSECONVERSION: u32 = 41; +pub const GL_ID_PRIVATE_FIRST: u32 = 32768; +pub const GL_ID_PRIVATE_LAST: u32 = 65535; +pub const IGP_PROPERTY: u32 = 4; +pub const IGP_CONVERSION: u32 = 8; +pub const IGP_SENTENCE: u32 = 12; +pub const IGP_UI: u32 = 16; +pub const IGP_SETCOMPSTR: u32 = 20; +pub const IGP_SELECT: u32 = 24; +pub const SCS_SETSTR: u32 = 9; +pub const SCS_CHANGEATTR: u32 = 18; +pub const SCS_CHANGECLAUSE: u32 = 36; +pub const SCS_SETRECONVERTSTRING: u32 = 65536; +pub const SCS_QUERYRECONVERTSTRING: u32 = 131072; +pub const ATTR_INPUT: u32 = 0; +pub const ATTR_TARGET_CONVERTED: u32 = 1; +pub const ATTR_CONVERTED: u32 = 2; +pub const ATTR_TARGET_NOTCONVERTED: u32 = 3; +pub const ATTR_INPUT_ERROR: u32 = 4; +pub const ATTR_FIXEDCONVERTED: u32 = 5; +pub const CFS_DEFAULT: u32 = 0; +pub const CFS_RECT: u32 = 1; +pub const CFS_POINT: u32 = 2; +pub const CFS_FORCE_POSITION: u32 = 32; +pub const CFS_CANDIDATEPOS: u32 = 64; +pub const CFS_EXCLUDE: u32 = 128; +pub const GCL_CONVERSION: u32 = 1; +pub const GCL_REVERSECONVERSION: u32 = 2; +pub const GCL_REVERSE_LENGTH: u32 = 3; +pub const IME_CMODE_ALPHANUMERIC: u32 = 0; +pub const IME_CMODE_NATIVE: u32 = 1; +pub const IME_CMODE_CHINESE: u32 = 1; +pub const IME_CMODE_HANGUL: u32 = 1; +pub const IME_CMODE_JAPANESE: u32 = 1; +pub const IME_CMODE_KATAKANA: u32 = 2; +pub const IME_CMODE_LANGUAGE: u32 = 3; +pub const IME_CMODE_FULLSHAPE: u32 = 8; +pub const IME_CMODE_ROMAN: u32 = 16; +pub const IME_CMODE_CHARCODE: u32 = 32; +pub const IME_CMODE_HANJACONVERT: u32 = 64; +pub const IME_CMODE_NATIVESYMBOL: u32 = 128; +pub const IME_CMODE_HANGEUL: u32 = 1; +pub const IME_CMODE_SOFTKBD: u32 = 128; +pub const IME_CMODE_NOCONVERSION: u32 = 256; +pub const IME_CMODE_EUDC: u32 = 512; +pub const IME_CMODE_SYMBOL: u32 = 1024; +pub const IME_CMODE_FIXED: u32 = 2048; +pub const IME_CMODE_RESERVED: u32 = 4026531840; +pub const IME_SMODE_NONE: u32 = 0; +pub const IME_SMODE_PLAURALCLAUSE: u32 = 1; +pub const IME_SMODE_SINGLECONVERT: u32 = 2; +pub const IME_SMODE_AUTOMATIC: u32 = 4; +pub const IME_SMODE_PHRASEPREDICT: u32 = 8; +pub const IME_SMODE_CONVERSATION: u32 = 16; +pub const IME_SMODE_RESERVED: u32 = 61440; +pub const IME_CAND_UNKNOWN: u32 = 0; +pub const IME_CAND_READ: u32 = 1; +pub const IME_CAND_CODE: u32 = 2; +pub const IME_CAND_MEANING: u32 = 3; +pub const IME_CAND_RADICAL: u32 = 4; +pub const IME_CAND_STROKE: u32 = 5; +pub const IMN_CLOSESTATUSWINDOW: u32 = 1; +pub const IMN_OPENSTATUSWINDOW: u32 = 2; +pub const IMN_CHANGECANDIDATE: u32 = 3; +pub const IMN_CLOSECANDIDATE: u32 = 4; +pub const IMN_OPENCANDIDATE: u32 = 5; +pub const IMN_SETCONVERSIONMODE: u32 = 6; +pub const IMN_SETSENTENCEMODE: u32 = 7; +pub const IMN_SETOPENSTATUS: u32 = 8; +pub const IMN_SETCANDIDATEPOS: u32 = 9; +pub const IMN_SETCOMPOSITIONFONT: u32 = 10; +pub const IMN_SETCOMPOSITIONWINDOW: u32 = 11; +pub const IMN_SETSTATUSWINDOWPOS: u32 = 12; +pub const IMN_GUIDELINE: u32 = 13; +pub const IMN_PRIVATE: u32 = 14; +pub const IMR_COMPOSITIONWINDOW: u32 = 1; +pub const IMR_CANDIDATEWINDOW: u32 = 2; +pub const IMR_COMPOSITIONFONT: u32 = 3; +pub const IMR_RECONVERTSTRING: u32 = 4; +pub const IMR_CONFIRMRECONVERTSTRING: u32 = 5; +pub const IMR_QUERYCHARPOSITION: u32 = 6; +pub const IMR_DOCUMENTFEED: u32 = 7; +pub const IMM_ERROR_NODATA: i32 = -1; +pub const IMM_ERROR_GENERAL: i32 = -2; +pub const IME_CONFIG_GENERAL: u32 = 1; +pub const IME_CONFIG_REGISTERWORD: u32 = 2; +pub const IME_CONFIG_SELECTDICTIONARY: u32 = 3; +pub const IME_ESC_QUERY_SUPPORT: u32 = 3; +pub const IME_ESC_RESERVED_FIRST: u32 = 4; +pub const IME_ESC_RESERVED_LAST: u32 = 2047; +pub const IME_ESC_PRIVATE_FIRST: u32 = 2048; +pub const IME_ESC_PRIVATE_LAST: u32 = 4095; +pub const IME_ESC_SEQUENCE_TO_INTERNAL: u32 = 4097; +pub const IME_ESC_GET_EUDC_DICTIONARY: u32 = 4099; +pub const IME_ESC_SET_EUDC_DICTIONARY: u32 = 4100; +pub const IME_ESC_MAX_KEY: u32 = 4101; +pub const IME_ESC_IME_NAME: u32 = 4102; +pub const IME_ESC_SYNC_HOTKEY: u32 = 4103; +pub const IME_ESC_HANJA_MODE: u32 = 4104; +pub const IME_ESC_AUTOMATA: u32 = 4105; +pub const IME_ESC_PRIVATE_HOTKEY: u32 = 4106; +pub const IME_ESC_GETHELPFILENAME: u32 = 4107; +pub const IME_REGWORD_STYLE_EUDC: u32 = 1; +pub const IME_REGWORD_STYLE_USER_FIRST: u32 = 2147483648; +pub const IME_REGWORD_STYLE_USER_LAST: u32 = 4294967295; +pub const IACE_CHILDREN: u32 = 1; +pub const IACE_DEFAULT: u32 = 16; +pub const IACE_IGNORENOCONTEXT: u32 = 32; +pub const IGIMIF_RIGHTMENU: u32 = 1; +pub const IGIMII_CMODE: u32 = 1; +pub const IGIMII_SMODE: u32 = 2; +pub const IGIMII_CONFIGURE: u32 = 4; +pub const IGIMII_TOOLS: u32 = 8; +pub const IGIMII_HELP: u32 = 16; +pub const IGIMII_OTHER: u32 = 32; +pub const IGIMII_INPUTTOOLS: u32 = 64; +pub const IMFT_RADIOCHECK: u32 = 1; +pub const IMFT_SEPARATOR: u32 = 2; +pub const IMFT_SUBMENU: u32 = 4; +pub const IMFS_GRAYED: u32 = 3; +pub const IMFS_DISABLED: u32 = 3; +pub const IMFS_CHECKED: u32 = 8; +pub const IMFS_HILITE: u32 = 128; +pub const IMFS_ENABLED: u32 = 0; +pub const IMFS_UNCHECKED: u32 = 0; +pub const IMFS_UNHILITE: u32 = 0; +pub const IMFS_DEFAULT: u32 = 4096; +pub const SOFTKEYBOARD_TYPE_T1: u32 = 1; +pub const SOFTKEYBOARD_TYPE_C1: u32 = 2; pub const LC_CONFIG_VERSION: u32 = 3237806082; pub const LC_CONFIG_ERRORINFO_VERSION: u32 = 3237871618; pub const LC_CONFIG_PRINTF_ENABLED: u32 = 1; @@ -453,2180 +20611,306396 @@ pub const LC_STATISTICS_ID_GETOPTION: u32 = 5; pub const LC_STATISTICS_ID_SETOPTION: u32 = 6; pub const LC_STATISTICS_ID_COMMAND: u32 = 7; pub const LC_STATISTICS_ID_MAX: u32 = 7; -pub type __u_char = ::std::os::raw::c_uchar; -pub type __u_short = ::std::os::raw::c_ushort; -pub type __u_int = ::std::os::raw::c_uint; -pub type __u_long = ::std::os::raw::c_ulong; -pub type __int8_t = ::std::os::raw::c_schar; -pub type __uint8_t = ::std::os::raw::c_uchar; -pub type __int16_t = ::std::os::raw::c_short; -pub type __uint16_t = ::std::os::raw::c_ushort; -pub type __int32_t = ::std::os::raw::c_int; -pub type __uint32_t = ::std::os::raw::c_uint; -pub type __int64_t = ::std::os::raw::c_long; -pub type __uint64_t = ::std::os::raw::c_ulong; -pub type __int_least8_t = __int8_t; -pub type __uint_least8_t = __uint8_t; -pub type __int_least16_t = __int16_t; -pub type __uint_least16_t = __uint16_t; -pub type __int_least32_t = __int32_t; -pub type __uint_least32_t = __uint32_t; -pub type __int_least64_t = __int64_t; -pub type __uint_least64_t = __uint64_t; -pub type __quad_t = ::std::os::raw::c_long; -pub type __u_quad_t = ::std::os::raw::c_ulong; -pub type __intmax_t = ::std::os::raw::c_long; -pub type __uintmax_t = ::std::os::raw::c_ulong; -pub type __dev_t = ::std::os::raw::c_ulong; -pub type __uid_t = ::std::os::raw::c_uint; -pub type __gid_t = ::std::os::raw::c_uint; -pub type __ino_t = ::std::os::raw::c_ulong; -pub type __ino64_t = ::std::os::raw::c_ulong; -pub type __mode_t = ::std::os::raw::c_uint; -pub type __nlink_t = ::std::os::raw::c_ulong; -pub type __off_t = ::std::os::raw::c_long; -pub type __off64_t = ::std::os::raw::c_long; -pub type __pid_t = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __fsid_t { - pub __val: [::std::os::raw::c_int; 2usize], -} -#[test] -fn bindgen_test_layout___fsid_t() { - const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__fsid_t>(), - 8usize, - concat!("Size of: ", stringify!(__fsid_t)) - ); - assert_eq!( - ::std::mem::align_of::<__fsid_t>(), - 4usize, - concat!("Alignment of ", stringify!(__fsid_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(__fsid_t), - "::", - stringify!(__val) - ) - ); -} -pub type __clock_t = ::std::os::raw::c_long; -pub type __rlim_t = ::std::os::raw::c_ulong; -pub type __rlim64_t = ::std::os::raw::c_ulong; -pub type __id_t = ::std::os::raw::c_uint; -pub type __time_t = ::std::os::raw::c_long; -pub type __useconds_t = ::std::os::raw::c_uint; -pub type __suseconds_t = ::std::os::raw::c_long; -pub type __suseconds64_t = ::std::os::raw::c_long; -pub type __daddr_t = ::std::os::raw::c_int; -pub type __key_t = ::std::os::raw::c_int; -pub type __clockid_t = ::std::os::raw::c_int; -pub type __timer_t = *mut ::std::os::raw::c_void; -pub type __blksize_t = ::std::os::raw::c_long; -pub type __blkcnt_t = ::std::os::raw::c_long; -pub type __blkcnt64_t = ::std::os::raw::c_long; -pub type __fsblkcnt_t = ::std::os::raw::c_ulong; -pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; -pub type __fsfilcnt_t = ::std::os::raw::c_ulong; -pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; -pub type __fsword_t = ::std::os::raw::c_long; -pub type __ssize_t = ::std::os::raw::c_long; -pub type __syscall_slong_t = ::std::os::raw::c_long; -pub type __syscall_ulong_t = ::std::os::raw::c_ulong; -pub type __loff_t = __off64_t; -pub type __caddr_t = *mut ::std::os::raw::c_char; -pub type __intptr_t = ::std::os::raw::c_long; -pub type __socklen_t = ::std::os::raw::c_uint; -pub type __sig_atomic_t = ::std::os::raw::c_int; -pub type int_least8_t = __int_least8_t; -pub type int_least16_t = __int_least16_t; -pub type int_least32_t = __int_least32_t; -pub type int_least64_t = __int_least64_t; -pub type uint_least8_t = __uint_least8_t; -pub type uint_least16_t = __uint_least16_t; -pub type uint_least32_t = __uint_least32_t; -pub type uint_least64_t = __uint_least64_t; -pub type int_fast8_t = ::std::os::raw::c_schar; -pub type int_fast16_t = ::std::os::raw::c_long; -pub type int_fast32_t = ::std::os::raw::c_long; -pub type int_fast64_t = ::std::os::raw::c_long; -pub type uint_fast8_t = ::std::os::raw::c_uchar; -pub type uint_fast16_t = ::std::os::raw::c_ulong; -pub type uint_fast32_t = ::std::os::raw::c_ulong; -pub type uint_fast64_t = ::std::os::raw::c_ulong; -pub type intmax_t = __intmax_t; -pub type uintmax_t = __uintmax_t; -pub type __gwchar_t = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct imaxdiv_t { - pub quot: ::std::os::raw::c_long, - pub rem: ::std::os::raw::c_long, +pub type va_list = *mut ::std::os::raw::c_char; +extern "C" { + pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...); } -#[test] -fn bindgen_test_layout_imaxdiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(imaxdiv_t)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(imaxdiv_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(imaxdiv_t), - "::", - stringify!(quot) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(imaxdiv_t), - "::", - stringify!(rem) - ) - ); +pub type __vcrt_bool = bool; +pub type wchar_t = ::std::os::raw::c_ushort; +extern "C" { + pub fn __security_init_cookie(); +} +extern "C" { + pub fn __security_check_cookie(_StackCookie: usize); +} +extern "C" { + pub fn __report_gsfailure(_StackCookie: usize) -> !; +} +extern "C" { + pub static mut __security_cookie: usize; +} +pub const _EXCEPTION_DISPOSITION_ExceptionContinueExecution: _EXCEPTION_DISPOSITION = 0; +pub const _EXCEPTION_DISPOSITION_ExceptionContinueSearch: _EXCEPTION_DISPOSITION = 1; +pub const _EXCEPTION_DISPOSITION_ExceptionNestedException: _EXCEPTION_DISPOSITION = 2; +pub const _EXCEPTION_DISPOSITION_ExceptionCollidedUnwind: _EXCEPTION_DISPOSITION = 3; +pub type _EXCEPTION_DISPOSITION = ::std::os::raw::c_int; +pub use self::_EXCEPTION_DISPOSITION as EXCEPTION_DISPOSITION; +extern "C" { + pub fn __C_specific_handler( + ExceptionRecord: *mut _EXCEPTION_RECORD, + EstablisherFrame: *mut ::std::os::raw::c_void, + ContextRecord: *mut _CONTEXT, + DispatcherContext: *mut _DISPATCHER_CONTEXT, + ) -> EXCEPTION_DISPOSITION; } extern "C" { - pub fn imaxabs(__n: intmax_t) -> intmax_t; + pub fn _exception_code() -> ::std::os::raw::c_ulong; } extern "C" { - pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t; + pub fn _exception_info() -> *mut ::std::os::raw::c_void; } extern "C" { - pub fn strtoimax( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> intmax_t; + pub fn _abnormal_termination() -> ::std::os::raw::c_int; } +pub type ULONG = ::std::os::raw::c_ulong; +pub type PULONG = *mut ULONG; +pub type USHORT = ::std::os::raw::c_ushort; +pub type PUSHORT = *mut USHORT; +pub type UCHAR = ::std::os::raw::c_uchar; +pub type PUCHAR = *mut UCHAR; +pub type PSZ = *mut ::std::os::raw::c_char; +pub type DWORD = ::std::os::raw::c_ulong; +pub type BOOL = ::std::os::raw::c_int; +pub type BYTE = ::std::os::raw::c_uchar; +pub type WORD = ::std::os::raw::c_ushort; +pub type FLOAT = f32; +pub type PFLOAT = *mut FLOAT; +pub type PBOOL = *mut BOOL; +pub type LPBOOL = *mut BOOL; +pub type PBYTE = *mut BYTE; +pub type LPBYTE = *mut BYTE; +pub type PINT = *mut ::std::os::raw::c_int; +pub type LPINT = *mut ::std::os::raw::c_int; +pub type PWORD = *mut WORD; +pub type LPWORD = *mut WORD; +pub type LPLONG = *mut ::std::os::raw::c_long; +pub type PDWORD = *mut DWORD; +pub type LPDWORD = *mut DWORD; +pub type LPVOID = *mut ::std::os::raw::c_void; +pub type LPCVOID = *const ::std::os::raw::c_void; +pub type INT = ::std::os::raw::c_int; +pub type UINT = ::std::os::raw::c_uint; +pub type PUINT = *mut ::std::os::raw::c_uint; +pub type __crt_bool = bool; extern "C" { - pub fn strtoumax( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> uintmax_t; + pub fn _invalid_parameter_noinfo(); } extern "C" { - pub fn wcstoimax( - __nptr: *const __gwchar_t, - __endptr: *mut *mut __gwchar_t, - __base: ::std::os::raw::c_int, - ) -> intmax_t; + pub fn _invalid_parameter_noinfo_noreturn() -> !; } extern "C" { - pub fn wcstoumax( - __nptr: *const __gwchar_t, - __endptr: *mut *mut __gwchar_t, - __base: ::std::os::raw::c_int, - ) -> uintmax_t; + pub fn _invoke_watson( + _Expression: *const wchar_t, + _FunctionName: *const wchar_t, + _FileName: *const wchar_t, + _LineNo: ::std::os::raw::c_uint, + _Reserved: usize, + ) -> !; } -pub type wchar_t = ::std::os::raw::c_int; -pub type _Float32 = f32; -pub type _Float64 = f64; -pub type _Float32x = f64; -pub type _Float64x = u128; +pub type errno_t = ::std::os::raw::c_int; +pub type wint_t = ::std::os::raw::c_ushort; +pub type wctype_t = ::std::os::raw::c_ushort; +pub type __time32_t = ::std::os::raw::c_long; +pub type __time64_t = ::std::os::raw::c_longlong; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct div_t { - pub quot: ::std::os::raw::c_int, - pub rem: ::std::os::raw::c_int, +pub struct __crt_locale_data_public { + pub _locale_pctype: *const ::std::os::raw::c_ushort, + pub _locale_mb_cur_max: ::std::os::raw::c_int, + pub _locale_lc_codepage: ::std::os::raw::c_uint, } #[test] -fn bindgen_test_layout_div_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___crt_locale_data_public() { + const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(div_t)) + ::std::mem::size_of::<__crt_locale_data_public>(), + 16usize, + concat!("Size of: ", stringify!(__crt_locale_data_public)) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(div_t)) + ::std::mem::align_of::<__crt_locale_data_public>(), + 8usize, + concat!("Alignment of ", stringify!(__crt_locale_data_public)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(div_t), + stringify!(__crt_locale_data_public), "::", - stringify!(quot) + stringify!(_locale_pctype) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 4usize, + unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(div_t), + stringify!(__crt_locale_data_public), "::", - stringify!(rem) + stringify!(_locale_mb_cur_max) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_data_public), + "::", + stringify!(_locale_lc_codepage) ) ); } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct ldiv_t { - pub quot: ::std::os::raw::c_long, - pub rem: ::std::os::raw::c_long, +pub struct __crt_locale_pointers { + pub locinfo: *mut __crt_locale_data, + pub mbcinfo: *mut __crt_multibyte_data, } #[test] -fn bindgen_test_layout_ldiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout___crt_locale_pointers() { + const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), + ::std::mem::size_of::<__crt_locale_pointers>(), 16usize, - concat!("Size of: ", stringify!(ldiv_t)) + concat!("Size of: ", stringify!(__crt_locale_pointers)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::<__crt_locale_pointers>(), 8usize, - concat!("Alignment of ", stringify!(ldiv_t)) + concat!("Alignment of ", stringify!(__crt_locale_pointers)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(ldiv_t), + stringify!(__crt_locale_pointers), "::", - stringify!(quot) + stringify!(locinfo) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(ldiv_t), + stringify!(__crt_locale_pointers), "::", - stringify!(rem) + stringify!(mbcinfo) ) ); } +pub type _locale_t = *mut __crt_locale_pointers; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct lldiv_t { - pub quot: ::std::os::raw::c_longlong, - pub rem: ::std::os::raw::c_longlong, +pub struct _Mbstatet { + pub _Wchar: ::std::os::raw::c_ulong, + pub _Byte: ::std::os::raw::c_ushort, + pub _State: ::std::os::raw::c_ushort, } #[test] -fn bindgen_test_layout_lldiv_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__Mbstatet() { + const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 16usize, - concat!("Size of: ", stringify!(lldiv_t)) + ::std::mem::size_of::<_Mbstatet>(), + 8usize, + concat!("Size of: ", stringify!(_Mbstatet)) ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(lldiv_t)) + ::std::mem::align_of::<_Mbstatet>(), + 4usize, + concat!("Alignment of ", stringify!(_Mbstatet)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(lldiv_t), + stringify!(_Mbstatet), "::", - stringify!(quot) + stringify!(_Wchar) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(lldiv_t), + stringify!(_Mbstatet), "::", - stringify!(rem) + stringify!(_Byte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_Mbstatet), + "::", + stringify!(_State) ) ); } +pub type mbstate_t = _Mbstatet; +pub type time_t = __time64_t; +pub type rsize_t = usize; extern "C" { - pub fn __ctype_get_mb_cur_max() -> usize; + pub fn __pctype_func() -> *const ::std::os::raw::c_ushort; } extern "C" { - pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64; + pub fn __pwctype_func() -> *const wctype_t; } extern "C" { - pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; + pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; + pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtod( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> f64; + pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtof( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> f32; + pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtold( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - ) -> u128; + pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtol( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_long; + pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtoul( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulong; + pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtoq( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; + pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtouq( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; + pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtoll( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_longlong; + pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn strtoull( - __nptr: *const ::std::os::raw::c_char, - __endptr: *mut *mut ::std::os::raw::c_char, - __base: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_ulonglong; + pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn towupper(_C: wint_t) -> wint_t; +} +extern "C" { + pub fn towlower(_C: wint_t) -> wint_t; +} +extern "C" { + pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t; +} +extern "C" { + pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t; +} +extern "C" { + pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isctype( + _C: ::std::os::raw::c_int, + _Type: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isctype_l( + _C: ::std::os::raw::c_int, + _Type: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalpha(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isalpha_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn islower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _islower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isxdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isxdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isspace(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isspace_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ispunct(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _ispunct_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isblank(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isblank_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalnum(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isalnum_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isprint(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isprint_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isgraph(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isgraph_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iscntrl(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iscntrl_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tolower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _toupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; } extern "C" { - pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char; + pub fn __isascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } extern "C" { - pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; + pub fn __toascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; } -pub type u_char = __u_char; -pub type u_short = __u_short; -pub type u_int = __u_int; -pub type u_long = __u_long; -pub type quad_t = __quad_t; -pub type u_quad_t = __u_quad_t; -pub type fsid_t = __fsid_t; -pub type loff_t = __loff_t; -pub type ino_t = __ino_t; -pub type dev_t = __dev_t; -pub type gid_t = __gid_t; -pub type mode_t = __mode_t; -pub type nlink_t = __nlink_t; -pub type uid_t = __uid_t; -pub type off_t = __off_t; -pub type pid_t = __pid_t; -pub type id_t = __id_t; -pub type daddr_t = __daddr_t; -pub type caddr_t = __caddr_t; -pub type key_t = __key_t; -pub type clock_t = __clock_t; -pub type clockid_t = __clockid_t; -pub type time_t = __time_t; -pub type timer_t = __timer_t; -pub type ulong = ::std::os::raw::c_ulong; -pub type ushort = ::std::os::raw::c_ushort; -pub type uint = ::std::os::raw::c_uint; -pub type u_int8_t = __uint8_t; -pub type u_int16_t = __uint16_t; -pub type u_int32_t = __uint32_t; -pub type u_int64_t = __uint64_t; -pub type register_t = ::std::os::raw::c_long; +extern "C" { + pub fn __iscsymf(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iscsym(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int; +} +pub type POINTER_64_INT = ::std::os::raw::c_ulonglong; +pub type INT8 = ::std::os::raw::c_schar; +pub type PINT8 = *mut ::std::os::raw::c_schar; +pub type INT16 = ::std::os::raw::c_short; +pub type PINT16 = *mut ::std::os::raw::c_short; +pub type INT32 = ::std::os::raw::c_int; +pub type PINT32 = *mut ::std::os::raw::c_int; +pub type INT64 = ::std::os::raw::c_longlong; +pub type PINT64 = *mut ::std::os::raw::c_longlong; +pub type UINT8 = ::std::os::raw::c_uchar; +pub type PUINT8 = *mut ::std::os::raw::c_uchar; +pub type UINT16 = ::std::os::raw::c_ushort; +pub type PUINT16 = *mut ::std::os::raw::c_ushort; +pub type UINT32 = ::std::os::raw::c_uint; +pub type PUINT32 = *mut ::std::os::raw::c_uint; +pub type UINT64 = ::std::os::raw::c_ulonglong; +pub type PUINT64 = *mut ::std::os::raw::c_ulonglong; +pub type LONG32 = ::std::os::raw::c_int; +pub type PLONG32 = *mut ::std::os::raw::c_int; +pub type ULONG32 = ::std::os::raw::c_uint; +pub type PULONG32 = *mut ::std::os::raw::c_uint; +pub type DWORD32 = ::std::os::raw::c_uint; +pub type PDWORD32 = *mut ::std::os::raw::c_uint; +pub type INT_PTR = ::std::os::raw::c_longlong; +pub type PINT_PTR = *mut ::std::os::raw::c_longlong; +pub type UINT_PTR = ::std::os::raw::c_ulonglong; +pub type PUINT_PTR = *mut ::std::os::raw::c_ulonglong; +pub type LONG_PTR = ::std::os::raw::c_longlong; +pub type PLONG_PTR = *mut ::std::os::raw::c_longlong; +pub type ULONG_PTR = ::std::os::raw::c_ulonglong; +pub type PULONG_PTR = *mut ::std::os::raw::c_ulonglong; +pub type PHANDLE64 = *mut *mut ::std::os::raw::c_void; +pub type SHANDLE_PTR = ::std::os::raw::c_longlong; +pub type HANDLE_PTR = ::std::os::raw::c_ulonglong; +pub type UHALF_PTR = ::std::os::raw::c_uint; +pub type PUHALF_PTR = *mut ::std::os::raw::c_uint; +pub type HALF_PTR = ::std::os::raw::c_int; +pub type PHALF_PTR = *mut ::std::os::raw::c_int; +pub type SIZE_T = ULONG_PTR; +pub type PSIZE_T = *mut ULONG_PTR; +pub type SSIZE_T = LONG_PTR; +pub type PSSIZE_T = *mut LONG_PTR; +pub type DWORD_PTR = ULONG_PTR; +pub type PDWORD_PTR = *mut ULONG_PTR; +pub type LONG64 = ::std::os::raw::c_longlong; +pub type PLONG64 = *mut ::std::os::raw::c_longlong; +pub type ULONG64 = ::std::os::raw::c_ulonglong; +pub type PULONG64 = *mut ::std::os::raw::c_ulonglong; +pub type DWORD64 = ::std::os::raw::c_ulonglong; +pub type PDWORD64 = *mut ::std::os::raw::c_ulonglong; +pub type KAFFINITY = ULONG_PTR; +pub type PKAFFINITY = *mut KAFFINITY; +pub type PVOID = *mut ::std::os::raw::c_void; +pub type CHAR = ::std::os::raw::c_char; +pub type SHORT = ::std::os::raw::c_short; +pub type LONG = ::std::os::raw::c_long; +pub type WCHAR = wchar_t; +pub type PWCHAR = *mut WCHAR; +pub type LPWCH = *mut WCHAR; +pub type PWCH = *mut WCHAR; +pub type LPCWCH = *const WCHAR; +pub type PCWCH = *const WCHAR; +pub type NWPSTR = *mut WCHAR; +pub type LPWSTR = *mut WCHAR; +pub type PWSTR = *mut WCHAR; +pub type PZPWSTR = *mut PWSTR; +pub type PCZPWSTR = *const PWSTR; +pub type LPUWSTR = *mut WCHAR; +pub type PUWSTR = *mut WCHAR; +pub type LPCWSTR = *const WCHAR; +pub type PCWSTR = *const WCHAR; +pub type PZPCWSTR = *mut PCWSTR; +pub type PCZPCWSTR = *const PCWSTR; +pub type LPCUWSTR = *const WCHAR; +pub type PCUWSTR = *const WCHAR; +pub type PZZWSTR = *mut WCHAR; +pub type PCZZWSTR = *const WCHAR; +pub type PUZZWSTR = *mut WCHAR; +pub type PCUZZWSTR = *const WCHAR; +pub type PNZWCH = *mut WCHAR; +pub type PCNZWCH = *const WCHAR; +pub type PUNZWCH = *mut WCHAR; +pub type PCUNZWCH = *const WCHAR; +pub type LPCWCHAR = *const WCHAR; +pub type PCWCHAR = *const WCHAR; +pub type LPCUWCHAR = *const WCHAR; +pub type PCUWCHAR = *const WCHAR; +pub type UCSCHAR = ::std::os::raw::c_ulong; +pub type PUCSCHAR = *mut UCSCHAR; +pub type PCUCSCHAR = *const UCSCHAR; +pub type PUCSSTR = *mut UCSCHAR; +pub type PUUCSSTR = *mut UCSCHAR; +pub type PCUCSSTR = *const UCSCHAR; +pub type PCUUCSSTR = *const UCSCHAR; +pub type PUUCSCHAR = *mut UCSCHAR; +pub type PCUUCSCHAR = *const UCSCHAR; +pub type PCHAR = *mut CHAR; +pub type LPCH = *mut CHAR; +pub type PCH = *mut CHAR; +pub type LPCCH = *const CHAR; +pub type PCCH = *const CHAR; +pub type NPSTR = *mut CHAR; +pub type LPSTR = *mut CHAR; +pub type PSTR = *mut CHAR; +pub type PZPSTR = *mut PSTR; +pub type PCZPSTR = *const PSTR; +pub type LPCSTR = *const CHAR; +pub type PCSTR = *const CHAR; +pub type PZPCSTR = *mut PCSTR; +pub type PCZPCSTR = *const PCSTR; +pub type PZZSTR = *mut CHAR; +pub type PCZZSTR = *const CHAR; +pub type PNZCH = *mut CHAR; +pub type PCNZCH = *const CHAR; +pub type TCHAR = ::std::os::raw::c_char; +pub type PTCHAR = *mut ::std::os::raw::c_char; +pub type TBYTE = ::std::os::raw::c_uchar; +pub type PTBYTE = *mut ::std::os::raw::c_uchar; +pub type LPTCH = LPCH; +pub type PTCH = LPCH; +pub type LPCTCH = LPCCH; +pub type PCTCH = LPCCH; +pub type PTSTR = LPSTR; +pub type LPTSTR = LPSTR; +pub type PUTSTR = LPSTR; +pub type LPUTSTR = LPSTR; +pub type PCTSTR = LPCSTR; +pub type LPCTSTR = LPCSTR; +pub type PCUTSTR = LPCSTR; +pub type LPCUTSTR = LPCSTR; +pub type PZZTSTR = PZZSTR; +pub type PUZZTSTR = PZZSTR; +pub type PCZZTSTR = PCZZSTR; +pub type PCUZZTSTR = PCZZSTR; +pub type PZPTSTR = PZPSTR; +pub type PNZTCH = PNZCH; +pub type PUNZTCH = PNZCH; +pub type PCNZTCH = PCNZCH; +pub type PCUNZTCH = PCNZCH; +pub type PSHORT = *mut SHORT; +pub type PLONG = *mut LONG; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __sigset_t { - pub __val: [::std::os::raw::c_ulong; 16usize], +pub struct _PROCESSOR_NUMBER { + pub Group: WORD, + pub Number: BYTE, + pub Reserved: BYTE, } #[test] -fn bindgen_test_layout___sigset_t() { - const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__PROCESSOR_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_NUMBER> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__sigset_t>(), - 128usize, - concat!("Size of: ", stringify!(__sigset_t)) + ::std::mem::size_of::<_PROCESSOR_NUMBER>(), + 4usize, + concat!("Size of: ", stringify!(_PROCESSOR_NUMBER)) ); assert_eq!( - ::std::mem::align_of::<__sigset_t>(), - 8usize, - concat!("Alignment of ", stringify!(__sigset_t)) + ::std::mem::align_of::<_PROCESSOR_NUMBER>(), + 2usize, + concat!("Alignment of ", stringify!(_PROCESSOR_NUMBER)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__sigset_t), + stringify!(_PROCESSOR_NUMBER), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_NUMBER), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_NUMBER), "::", - stringify!(__val) + stringify!(Reserved) ) ); } -pub type sigset_t = __sigset_t; +pub type PROCESSOR_NUMBER = _PROCESSOR_NUMBER; +pub type PPROCESSOR_NUMBER = *mut _PROCESSOR_NUMBER; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct timeval { - pub tv_sec: __time_t, - pub tv_usec: __suseconds_t, +pub struct _GROUP_AFFINITY { + pub Mask: KAFFINITY, + pub Group: WORD, + pub Reserved: [WORD; 3usize], } #[test] -fn bindgen_test_layout_timeval() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__GROUP_AFFINITY() { + const UNINIT: ::std::mem::MaybeUninit<_GROUP_AFFINITY> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), + ::std::mem::size_of::<_GROUP_AFFINITY>(), 16usize, - concat!("Size of: ", stringify!(timeval)) + concat!("Size of: ", stringify!(_GROUP_AFFINITY)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::<_GROUP_AFFINITY>(), 8usize, - concat!("Alignment of ", stringify!(timeval)) + concat!("Alignment of ", stringify!(_GROUP_AFFINITY)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(timeval), + stringify!(_GROUP_AFFINITY), "::", - stringify!(tv_sec) + stringify!(Mask) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(timeval), + stringify!(_GROUP_AFFINITY), "::", - stringify!(tv_usec) + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_AFFINITY), + "::", + stringify!(Reserved) ) ); } +pub type GROUP_AFFINITY = _GROUP_AFFINITY; +pub type PGROUP_AFFINITY = *mut _GROUP_AFFINITY; +pub type HANDLE = *mut ::std::os::raw::c_void; +pub type PHANDLE = *mut HANDLE; +pub type FCHAR = BYTE; +pub type FSHORT = WORD; +pub type FLONG = DWORD; +pub type HRESULT = ::std::os::raw::c_long; +pub type CCHAR = ::std::os::raw::c_char; +pub type LCID = DWORD; +pub type PLCID = PDWORD; +pub type LANGID = WORD; +pub const COMPARTMENT_ID_UNSPECIFIED_COMPARTMENT_ID: COMPARTMENT_ID = 0; +pub const COMPARTMENT_ID_DEFAULT_COMPARTMENT_ID: COMPARTMENT_ID = 1; +pub type COMPARTMENT_ID = ::std::os::raw::c_int; +pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct timespec { - pub tv_sec: __time_t, - pub tv_nsec: __syscall_slong_t, +pub struct _FLOAT128 { + pub LowPart: ::std::os::raw::c_longlong, + pub HighPart: ::std::os::raw::c_longlong, } #[test] -fn bindgen_test_layout_timespec() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__FLOAT128() { + const UNINIT: ::std::mem::MaybeUninit<_FLOAT128> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), + ::std::mem::size_of::<_FLOAT128>(), 16usize, - concat!("Size of: ", stringify!(timespec)) + concat!("Size of: ", stringify!(_FLOAT128)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::<_FLOAT128>(), 8usize, - concat!("Alignment of ", stringify!(timespec)) + concat!("Alignment of ", stringify!(_FLOAT128)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(timespec), + stringify!(_FLOAT128), "::", - stringify!(tv_sec) + stringify!(LowPart) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(timespec), + stringify!(_FLOAT128), "::", - stringify!(tv_nsec) + stringify!(HighPart) ) ); } -pub type suseconds_t = __suseconds_t; -pub type __fd_mask = ::std::os::raw::c_long; +pub type FLOAT128 = _FLOAT128; +pub type PFLOAT128 = *mut FLOAT128; +pub type LONGLONG = ::std::os::raw::c_longlong; +pub type ULONGLONG = ::std::os::raw::c_ulonglong; +pub type PLONGLONG = *mut LONGLONG; +pub type PULONGLONG = *mut ULONGLONG; +pub type USN = LONGLONG; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _LARGE_INTEGER { + pub __bindgen_anon_1: _LARGE_INTEGER__bindgen_ty_1, + pub u: _LARGE_INTEGER__bindgen_ty_2, + pub QuadPart: LONGLONG, +} #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct fd_set { - pub __fds_bits: [__fd_mask; 16usize], +pub struct _LARGE_INTEGER__bindgen_ty_1 { + pub LowPart: DWORD, + pub HighPart: LONG, } #[test] -fn bindgen_test_layout_fd_set() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 128usize, - concat!("Size of: ", stringify!(fd_set)) + ::std::mem::size_of::<_LARGE_INTEGER__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(fd_set)) + ::std::mem::align_of::<_LARGE_INTEGER__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(fd_set), + stringify!(_LARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_1), "::", - stringify!(__fds_bits) + stringify!(HighPart) ) ); } -pub type fd_mask = __fd_mask; -extern "C" { - pub fn select( - __nfds: ::std::os::raw::c_int, - __readfds: *mut fd_set, - __writefds: *mut fd_set, - __exceptfds: *mut fd_set, - __timeout: *mut timeval, - ) -> ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LARGE_INTEGER__bindgen_ty_2 { + pub LowPart: DWORD, + pub HighPart: LONG, } -extern "C" { - pub fn pselect( - __nfds: ::std::os::raw::c_int, - __readfds: *mut fd_set, - __writefds: *mut fd_set, - __exceptfds: *mut fd_set, - __timeout: *const timespec, - __sigmask: *const __sigset_t, - ) -> ::std::os::raw::c_int; +#[test] +fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LARGE_INTEGER__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_LARGE_INTEGER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(HighPart) + ) + ); +} +#[test] +fn bindgen_test_layout__LARGE_INTEGER() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LARGE_INTEGER>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER)) + ); + assert_eq!( + ::std::mem::align_of::<_LARGE_INTEGER>(), + 8usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QuadPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER), + "::", + stringify!(QuadPart) + ) + ); } -pub type blksize_t = __blksize_t; -pub type blkcnt_t = __blkcnt_t; -pub type fsblkcnt_t = __fsblkcnt_t; -pub type fsfilcnt_t = __fsfilcnt_t; +pub type LARGE_INTEGER = _LARGE_INTEGER; +pub type PLARGE_INTEGER = *mut LARGE_INTEGER; #[repr(C)] #[derive(Copy, Clone)] -pub union __atomic_wide_counter { - pub __value64: ::std::os::raw::c_ulonglong, - pub __value32: __atomic_wide_counter__bindgen_ty_1, +pub union _ULARGE_INTEGER { + pub __bindgen_anon_1: _ULARGE_INTEGER__bindgen_ty_1, + pub u: _ULARGE_INTEGER__bindgen_ty_2, + pub QuadPart: ULONGLONG, } #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __atomic_wide_counter__bindgen_ty_1 { - pub __low: ::std::os::raw::c_uint, - pub __high: ::std::os::raw::c_uint, +pub struct _ULARGE_INTEGER__bindgen_ty_1 { + pub LowPart: DWORD, + pub HighPart: DWORD, } #[test] -fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() { - const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> = +fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(), + ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_1>(), 8usize, - concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1)) + concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) ); assert_eq!( - ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(), + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, 4usize, concat!( - "Alignment of ", - stringify!(__atomic_wide_counter__bindgen_ty_1) + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(HighPart) ) ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ULARGE_INTEGER__bindgen_ty_2 { + pub LowPart: DWORD, + pub HighPart: DWORD, +} +#[test] +fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) + ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize }, + ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__atomic_wide_counter__bindgen_ty_1), + stringify!(_ULARGE_INTEGER__bindgen_ty_2), "::", - stringify!(__low) + stringify!(LowPart) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", - stringify!(__atomic_wide_counter__bindgen_ty_1), + stringify!(_ULARGE_INTEGER__bindgen_ty_2), "::", - stringify!(__high) + stringify!(HighPart) ) ); } #[test] -fn bindgen_test_layout___atomic_wide_counter() { - const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__ULARGE_INTEGER() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__atomic_wide_counter>(), + ::std::mem::size_of::<_ULARGE_INTEGER>(), 8usize, - concat!("Size of: ", stringify!(__atomic_wide_counter)) + concat!("Size of: ", stringify!(_ULARGE_INTEGER)) ); assert_eq!( - ::std::mem::align_of::<__atomic_wide_counter>(), + ::std::mem::align_of::<_ULARGE_INTEGER>(), 8usize, - concat!("Alignment of ", stringify!(__atomic_wide_counter)) + concat!("Alignment of ", stringify!(_ULARGE_INTEGER)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__atomic_wide_counter), + stringify!(_ULARGE_INTEGER), "::", - stringify!(__value64) + stringify!(u) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).QuadPart) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__atomic_wide_counter), + stringify!(_ULARGE_INTEGER), "::", - stringify!(__value32) + stringify!(QuadPart) ) ); } +pub type ULARGE_INTEGER = _ULARGE_INTEGER; +pub type PULARGE_INTEGER = *mut ULARGE_INTEGER; +pub type RTL_REFERENCE_COUNT = LONG_PTR; +pub type PRTL_REFERENCE_COUNT = *mut LONG_PTR; +pub type RTL_REFERENCE_COUNT32 = LONG; +pub type PRTL_REFERENCE_COUNT32 = *mut LONG; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __pthread_internal_list { - pub __prev: *mut __pthread_internal_list, - pub __next: *mut __pthread_internal_list, +pub struct _LUID { + pub LowPart: DWORD, + pub HighPart: LONG, } #[test] -fn bindgen_test_layout___pthread_internal_list() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__LUID() { + const UNINIT: ::std::mem::MaybeUninit<_LUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LUID>(), + 8usize, + concat!("Size of: ", stringify!(_LUID)) + ); + assert_eq!( + ::std::mem::align_of::<_LUID>(), + 4usize, + concat!("Alignment of ", stringify!(_LUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LUID), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LUID), + "::", + stringify!(HighPart) + ) + ); +} +pub type LUID = _LUID; +pub type PLUID = *mut _LUID; +pub type DWORDLONG = ULONGLONG; +pub type PDWORDLONG = *mut DWORDLONG; +extern "C" { + pub fn _rotl8( + Value: ::std::os::raw::c_uchar, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _rotl16( + Value: ::std::os::raw::c_ushort, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _rotr8( + Value: ::std::os::raw::c_uchar, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _rotr16( + Value: ::std::os::raw::c_ushort, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _rotl( + Value: ::std::os::raw::c_uint, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _rotl64( + Value: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _rotr( + Value: ::std::os::raw::c_uint, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _rotr64( + Value: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +pub type BOOLEAN = BYTE; +pub type PBOOLEAN = *mut BOOLEAN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LIST_ENTRY { + pub Flink: *mut _LIST_ENTRY, + pub Blink: *mut _LIST_ENTRY, +} +#[test] +fn bindgen_test_layout__LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_internal_list>(), + ::std::mem::size_of::<_LIST_ENTRY>(), 16usize, - concat!("Size of: ", stringify!(__pthread_internal_list)) + concat!("Size of: ", stringify!(_LIST_ENTRY)) ); assert_eq!( - ::std::mem::align_of::<__pthread_internal_list>(), + ::std::mem::align_of::<_LIST_ENTRY>(), 8usize, - concat!("Alignment of ", stringify!(__pthread_internal_list)) + concat!("Alignment of ", stringify!(_LIST_ENTRY)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_internal_list), + stringify!(_LIST_ENTRY), "::", - stringify!(__prev) + stringify!(Flink) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(__pthread_internal_list), + stringify!(_LIST_ENTRY), "::", - stringify!(__next) + stringify!(Blink) ) ); } -pub type __pthread_list_t = __pthread_internal_list; +pub type LIST_ENTRY = _LIST_ENTRY; +pub type PLIST_ENTRY = *mut _LIST_ENTRY; +pub type PRLIST_ENTRY = *mut _LIST_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __pthread_internal_slist { - pub __next: *mut __pthread_internal_slist, +pub struct _SINGLE_LIST_ENTRY { + pub Next: *mut _SINGLE_LIST_ENTRY, } #[test] -fn bindgen_test_layout___pthread_internal_slist() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout__SINGLE_LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SINGLE_LIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_internal_slist>(), + ::std::mem::size_of::<_SINGLE_LIST_ENTRY>(), 8usize, - concat!("Size of: ", stringify!(__pthread_internal_slist)) + concat!("Size of: ", stringify!(_SINGLE_LIST_ENTRY)) ); assert_eq!( - ::std::mem::align_of::<__pthread_internal_slist>(), + ::std::mem::align_of::<_SINGLE_LIST_ENTRY>(), 8usize, - concat!("Alignment of ", stringify!(__pthread_internal_slist)) + concat!("Alignment of ", stringify!(_SINGLE_LIST_ENTRY)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_internal_slist), + stringify!(_SINGLE_LIST_ENTRY), "::", - stringify!(__next) + stringify!(Next) ) ); } -pub type __pthread_slist_t = __pthread_internal_slist; +pub type SINGLE_LIST_ENTRY = _SINGLE_LIST_ENTRY; +pub type PSINGLE_LIST_ENTRY = *mut _SINGLE_LIST_ENTRY; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __pthread_mutex_s { - pub __lock: ::std::os::raw::c_int, - pub __count: ::std::os::raw::c_uint, - pub __owner: ::std::os::raw::c_int, - pub __nusers: ::std::os::raw::c_uint, - pub __kind: ::std::os::raw::c_int, - pub __spins: ::std::os::raw::c_short, - pub __elision: ::std::os::raw::c_short, - pub __list: __pthread_list_t, +pub struct LIST_ENTRY32 { + pub Flink: DWORD, + pub Blink: DWORD, } #[test] -fn bindgen_test_layout___pthread_mutex_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_LIST_ENTRY32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_mutex_s>(), - 40usize, - concat!("Size of: ", stringify!(__pthread_mutex_s)) + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(LIST_ENTRY32)) ); assert_eq!( - ::std::mem::align_of::<__pthread_mutex_s>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_mutex_s)) + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(LIST_ENTRY32)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(LIST_ENTRY32), "::", - stringify!(__lock) + stringify!(Flink) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(LIST_ENTRY32), "::", - stringify!(__count) + stringify!(Blink) ) ); +} +pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LIST_ENTRY64 { + pub Flink: ULONGLONG, + pub Blink: ULONGLONG, +} +#[test] +fn bindgen_test_layout_LIST_ENTRY64() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(LIST_ENTRY64)) + ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize }, + ::std::mem::align_of::(), 8usize, + concat!("Alignment of ", stringify!(LIST_ENTRY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(LIST_ENTRY64), "::", - stringify!(__owner) + stringify!(Flink) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize }, - 12usize, + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(LIST_ENTRY64), "::", - stringify!(__nusers) + stringify!(Blink) ) ); +} +pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GUID { + pub Data1: ::std::os::raw::c_ulong, + pub Data2: ::std::os::raw::c_ushort, + pub Data3: ::std::os::raw::c_ushort, + pub Data4: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__GUID() { + const UNINIT: ::std::mem::MaybeUninit<_GUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize }, + ::std::mem::size_of::<_GUID>(), 16usize, + concat!("Size of: ", stringify!(_GUID)) + ); + assert_eq!( + ::std::mem::align_of::<_GUID>(), + 4usize, + concat!("Alignment of ", stringify!(_GUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data1) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(_GUID), "::", - stringify!(__kind) + stringify!(Data1) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize }, - 20usize, + unsafe { ::std::ptr::addr_of!((*ptr).Data2) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(_GUID), "::", - stringify!(__spins) + stringify!(Data2) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize }, - 22usize, + unsafe { ::std::ptr::addr_of!((*ptr).Data3) as usize - ptr as usize }, + 6usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(_GUID), "::", - stringify!(__elision) + stringify!(Data3) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize }, - 24usize, + unsafe { ::std::ptr::addr_of!((*ptr).Data4) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_mutex_s), + stringify!(_GUID), "::", - stringify!(__list) + stringify!(Data4) ) ); } -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct __pthread_rwlock_arch_t { - pub __readers: ::std::os::raw::c_uint, - pub __writers: ::std::os::raw::c_uint, - pub __wrphase_futex: ::std::os::raw::c_uint, - pub __writers_futex: ::std::os::raw::c_uint, - pub __pad3: ::std::os::raw::c_uint, - pub __pad4: ::std::os::raw::c_uint, - pub __cur_writer: ::std::os::raw::c_int, - pub __shared: ::std::os::raw::c_int, - pub __rwelision: ::std::os::raw::c_schar, - pub __pad1: [::std::os::raw::c_uchar; 7usize], - pub __pad2: ::std::os::raw::c_ulong, - pub __flags: ::std::os::raw::c_uint, +pub type GUID = _GUID; +pub type LPGUID = *mut GUID; +pub type LPCGUID = *const GUID; +pub type IID = GUID; +pub type LPIID = *mut IID; +pub type CLSID = GUID; +pub type LPCLSID = *mut CLSID; +pub type FMTID = GUID; +pub type LPFMTID = *mut FMTID; +extern "C" { + pub fn _errno() -> *mut ::std::os::raw::c_int; } -#[test] -fn bindgen_test_layout___pthread_rwlock_arch_t() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> = - ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::<__pthread_rwlock_arch_t>(), - 56usize, - concat!("Size of: ", stringify!(__pthread_rwlock_arch_t)) - ); - assert_eq!( - ::std::mem::align_of::<__pthread_rwlock_arch_t>(), - 8usize, - concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t)) +extern "C" { + pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn __doserrno() -> *mut ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t; +} +extern "C" { + pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t; +} +extern "C" { + pub fn memchr( + _Buf: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memcmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memcpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memmove( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset( + _Dst: *mut ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strchr( + _Str: *const ::std::os::raw::c_char, + _Val: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrchr( + _Str: *const ::std::os::raw::c_char, + _Ch: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strstr( + _Str: *const ::std::os::raw::c_char, + _SubStr: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn wcschr( + _Str: *const ::std::os::raw::c_ushort, + _Ch: ::std::os::raw::c_ushort, + ) -> *mut ::std::os::raw::c_ushort; +} +extern "C" { + pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _memicmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _memicmp_l( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memccpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memicmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcscat_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn wcscpy_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn wcsncat_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn wcsncpy_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn wcstok_s( + _String: *mut wchar_t, + _Delimiter: *const wchar_t, + _Context: *mut *mut wchar_t, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscmp( + _String1: *const ::std::os::raw::c_ushort, + _String2: *const ::std::os::raw::c_ushort, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize; +} +extern "C" { + pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn wcsncat( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _Count: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcsncmp( + _String1: *const ::std::os::raw::c_ushort, + _String2: *const ::std::os::raw::c_ushort, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsncpy( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _Count: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize; +} +extern "C" { + pub fn wcstok( + _String: *mut wchar_t, + _Delimiter: *const wchar_t, + _Context: *mut *mut wchar_t, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t; +} +extern "C" { + pub fn _wcserror_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _ErrorNumber: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn __wcserror_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _ErrorMessage: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicmp_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicmp( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicmp_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnset_s( + _Destination: *mut wchar_t, + _SizeInWords: usize, + _Value: wchar_t, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t; +} +extern "C" { + pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t; +} +extern "C" { + pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t; +} +extern "C" { + pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t; +} +extern "C" { + pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _wcsxfrm_l( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcscoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsncoll( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsncoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicoll( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsnicmp( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t; +} +extern "C" { + pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcpy_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strcat_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strerror_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _ErrorNumber: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn strncat_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn strncpy_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn strtok_s( + _String: *mut ::std::os::raw::c_char, + _Delimiter: *const ::std::os::raw::c_char, + _Context: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _memccpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strcat( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmp( + _Str1: *const ::std::os::raw::c_char, + _Str2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strcmpi( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strcoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcpy( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcspn( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strerror_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _ErrorMessage: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _stricmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricmp_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strlwr_s_l( + _String: *mut ::std::os::raw::c_char, + _Size: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _strlwr_l( + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncat( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _Count: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncmp( + _Str1: *const ::std::os::raw::c_char, + _Str2: *const ::std::os::raw::c_char, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicmp_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strncoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strncoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize; +} +extern "C" { + pub fn strncpy( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _Count: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _strnset_s( + _String: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Value: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _strnset( + _Destination: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + _Count: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strpbrk( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strset_s( + _Destination: *mut ::std::os::raw::c_char, + _DestinationSize: usize, + _Value: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _strset( + _Destination: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strspn( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn strtok( + _String: *mut ::std::os::raw::c_char, + _Delimiter: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strupr_s_l( + _String: *mut ::std::os::raw::c_char, + _Size: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _strupr_l( + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strxfrm( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strxfrm_l( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmpi( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn stricmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnicmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strnset( + _String: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strset( + _String: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OBJECTID { + pub Lineage: GUID, + pub Uniquifier: DWORD, +} +#[test] +fn bindgen_test_layout__OBJECTID() { + const UNINIT: ::std::mem::MaybeUninit<_OBJECTID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OBJECTID>(), + 20usize, + concat!("Size of: ", stringify!(_OBJECTID)) + ); + assert_eq!( + ::std::mem::align_of::<_OBJECTID>(), + 4usize, + concat!("Alignment of ", stringify!(_OBJECTID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lineage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OBJECTID), + "::", + stringify!(Lineage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uniquifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OBJECTID), + "::", + stringify!(Uniquifier) + ) + ); +} +pub type OBJECTID = _OBJECTID; +pub type PEXCEPTION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut _EXCEPTION_RECORD, + arg2: PVOID, + arg3: *mut _CONTEXT, + arg4: PVOID, + ) -> EXCEPTION_DISPOSITION, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _bindgen_ty_1 { + pub x: ::std::os::raw::c_char, + pub test: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).test) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(test) + ) + ); +} +pub type __C_ASSERT__ = [::std::os::raw::c_char; 1usize]; +pub type KSPIN_LOCK = ULONG_PTR; +pub type PKSPIN_LOCK = *mut KSPIN_LOCK; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _M128A { + pub Low: ULONGLONG, + pub High: LONGLONG, +} +#[test] +fn bindgen_test_layout__M128A() { + const UNINIT: ::std::mem::MaybeUninit<_M128A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_M128A>(), + 16usize, + concat!("Size of: ", stringify!(_M128A)) + ); + assert_eq!( + ::std::mem::align_of::<_M128A>(), + 16usize, + concat!("Alignment of ", stringify!(_M128A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_M128A), + "::", + stringify!(Low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).High) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_M128A), + "::", + stringify!(High) + ) + ); +} +pub type M128A = _M128A; +pub type PM128A = *mut _M128A; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_FORMAT { + pub ControlWord: WORD, + pub StatusWord: WORD, + pub TagWord: BYTE, + pub Reserved1: BYTE, + pub ErrorOpcode: WORD, + pub ErrorOffset: DWORD, + pub ErrorSelector: WORD, + pub Reserved2: WORD, + pub DataOffset: DWORD, + pub DataSelector: WORD, + pub Reserved3: WORD, + pub MxCsr: DWORD, + pub MxCsr_Mask: DWORD, + pub FloatRegisters: [M128A; 8usize], + pub XmmRegisters: [M128A; 16usize], + pub Reserved4: [BYTE; 96usize], +} +#[test] +fn bindgen_test_layout__XSAVE_FORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_FORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_FORMAT>(), + 512usize, + concat!("Size of: ", stringify!(_XSAVE_FORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_FORMAT>(), + 16usize, + concat!("Alignment of ", stringify!(_XSAVE_FORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ControlWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusWord) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(StatusWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(TagWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOpcode) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorOpcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorSelector) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSelector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(DataSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(MxCsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr_Mask) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(MxCsr_Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatRegisters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(FloatRegisters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XmmRegisters) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(XmmRegisters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved4) + ) + ); +} +pub type XSAVE_FORMAT = _XSAVE_FORMAT; +pub type PXSAVE_FORMAT = *mut _XSAVE_FORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_CET_U_FORMAT { + pub Ia32CetUMsr: DWORD64, + pub Ia32Pl3SspMsr: DWORD64, +} +#[test] +fn bindgen_test_layout__XSAVE_CET_U_FORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_CET_U_FORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_CET_U_FORMAT>(), + 16usize, + concat!("Size of: ", stringify!(_XSAVE_CET_U_FORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_CET_U_FORMAT>(), + 8usize, + concat!("Alignment of ", stringify!(_XSAVE_CET_U_FORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ia32CetUMsr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_CET_U_FORMAT), + "::", + stringify!(Ia32CetUMsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ia32Pl3SspMsr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_CET_U_FORMAT), + "::", + stringify!(Ia32Pl3SspMsr) + ) + ); +} +pub type XSAVE_CET_U_FORMAT = _XSAVE_CET_U_FORMAT; +pub type PXSAVE_CET_U_FORMAT = *mut _XSAVE_CET_U_FORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_AREA_HEADER { + pub Mask: DWORD64, + pub CompactionMask: DWORD64, + pub Reserved2: [DWORD64; 6usize], +} +#[test] +fn bindgen_test_layout__XSAVE_AREA_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_AREA_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_AREA_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_XSAVE_AREA_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_AREA_HEADER>(), + 8usize, + concat!("Alignment of ", stringify!(_XSAVE_AREA_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompactionMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(CompactionMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(Reserved2) + ) + ); +} +pub type XSAVE_AREA_HEADER = _XSAVE_AREA_HEADER; +pub type PXSAVE_AREA_HEADER = *mut _XSAVE_AREA_HEADER; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_AREA { + pub LegacyState: XSAVE_FORMAT, + pub Header: XSAVE_AREA_HEADER, +} +#[test] +fn bindgen_test_layout__XSAVE_AREA() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_AREA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_AREA>(), + 576usize, + concat!("Size of: ", stringify!(_XSAVE_AREA)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_AREA>(), + 16usize, + concat!("Alignment of ", stringify!(_XSAVE_AREA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LegacyState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA), + "::", + stringify!(LegacyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA), + "::", + stringify!(Header) + ) + ); +} +pub type XSAVE_AREA = _XSAVE_AREA; +pub type PXSAVE_AREA = *mut _XSAVE_AREA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_CONTEXT { + pub Mask: DWORD64, + pub Length: DWORD, + pub Reserved1: DWORD, + pub Area: PXSAVE_AREA, + pub Buffer: PVOID, +} +#[test] +fn bindgen_test_layout__XSTATE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONTEXT>(), + 32usize, + concat!("Size of: ", stringify!(_XSTATE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_XSTATE_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Area) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Area) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Buffer) + ) + ); +} +pub type XSTATE_CONTEXT = _XSTATE_CONTEXT; +pub type PXSTATE_CONTEXT = *mut _XSTATE_CONTEXT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _KERNEL_CET_CONTEXT { + pub Ssp: DWORD64, + pub Rip: DWORD64, + pub SegCs: WORD, + pub __bindgen_anon_1: _KERNEL_CET_CONTEXT__bindgen_ty_1, + pub Fill: [WORD; 2usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KERNEL_CET_CONTEXT__bindgen_ty_1 { + pub AllFlags: WORD, + pub __bindgen_anon_1: _KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(2))] +#[derive(Debug, Copy, Clone)] +pub struct _KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _KERNEL_CET_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn UseWrss(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) } + } + #[inline] + pub fn set_UseWrss(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn PopShadowStackOne(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) } + } + #[inline] + pub fn set_PopShadowStackOne(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Unused(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 14u8) as u16) } + } + #[inline] + pub fn set_Unused(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 14u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + UseWrss: WORD, + PopShadowStackOne: WORD, + Unused: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let UseWrss: u16 = unsafe { ::std::mem::transmute(UseWrss) }; + UseWrss as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let PopShadowStackOne: u16 = unsafe { ::std::mem::transmute(PopShadowStackOne) }; + PopShadowStackOne as u64 + }); + __bindgen_bitfield_unit.set(2usize, 14u8, { + let Unused: u16 = unsafe { ::std::mem::transmute(Unused) }; + Unused as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__KERNEL_CET_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_KERNEL_CET_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KERNEL_CET_CONTEXT__bindgen_ty_1>(), + 2usize, + concat!("Size of: ", stringify!(_KERNEL_CET_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_KERNEL_CET_CONTEXT__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_KERNEL_CET_CONTEXT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KERNEL_CET_CONTEXT__bindgen_ty_1), + "::", + stringify!(AllFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__KERNEL_CET_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_KERNEL_CET_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KERNEL_CET_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_KERNEL_CET_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_KERNEL_CET_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_KERNEL_CET_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ssp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KERNEL_CET_CONTEXT), + "::", + stringify!(Ssp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rip) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KERNEL_CET_CONTEXT), + "::", + stringify!(Rip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegCs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KERNEL_CET_CONTEXT), + "::", + stringify!(SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fill) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KERNEL_CET_CONTEXT), + "::", + stringify!(Fill) + ) + ); +} +pub type KERNEL_CET_CONTEXT = _KERNEL_CET_CONTEXT; +pub type PKERNEL_CET_CONTEXT = *mut _KERNEL_CET_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_AMD64 { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_AMD64__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_AMD64__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_AMD64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_AMD64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_AMD64__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_AMD64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_AMD64() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_AMD64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_AMD64>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_AMD64)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_AMD64>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_AMD64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_AMD64 = _SCOPE_TABLE_AMD64; +pub type PSCOPE_TABLE_AMD64 = *mut _SCOPE_TABLE_AMD64; +extern "C" { + pub fn _bittest( + Base: *const ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandcomplement( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandreset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandreset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittest64( + Base: *const ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandcomplement64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandreset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandreset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanForward( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanReverse( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanForward64( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanReverse64( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _InterlockedIncrement16(Addend: *mut ::std::os::raw::c_short) + -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedDecrement16(Addend: *mut ::std::os::raw::c_short) + -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedCompareExchange16( + Destination: *mut ::std::os::raw::c_short, + ExChange: ::std::os::raw::c_short, + Comperand: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedAnd( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedOr( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedXor( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedAnd64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedOr64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedXor64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedIncrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedDecrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedExchange( + Target: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedExchangeAdd( + Addend: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedCompareExchange( + Destination: *mut ::std::os::raw::c_long, + ExChange: ::std::os::raw::c_long, + Comperand: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedIncrement64( + Addend: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedDecrement64( + Addend: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedExchange64( + Target: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedExchangeAdd64( + Addend: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedCompareExchange64( + Destination: *mut ::std::os::raw::c_longlong, + ExChange: ::std::os::raw::c_longlong, + Comperand: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedCompareExchange128( + Destination: *mut ::std::os::raw::c_longlong, + ExchangeHigh: ::std::os::raw::c_longlong, + ExchangeLow: ::std::os::raw::c_longlong, + ComparandResult: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _InterlockedCompareExchangePointer( + Destination: *mut *mut ::std::os::raw::c_void, + Exchange: *mut ::std::os::raw::c_void, + Comperand: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _InterlockedExchangePointer( + Target: *mut *mut ::std::os::raw::c_void, + Value: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _InterlockedExchange8( + Target: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedExchange16( + Destination: *mut ::std::os::raw::c_short, + ExChange: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedExchangeAdd8( + _Addend: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedAnd8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedOr8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedXor8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedAnd16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedOr16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedXor16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn __cpuidex( + CPUInfo: *mut ::std::os::raw::c_int, + Function: ::std::os::raw::c_int, + SubLeaf: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn _mm_clflush(Address: *const ::std::os::raw::c_void); +} +extern "C" { + pub fn _ReadWriteBarrier(); +} +extern "C" { + pub fn __faststorefence(); +} +extern "C" { + pub fn _mm_lfence(); +} +extern "C" { + pub fn _mm_mfence(); +} +extern "C" { + pub fn _mm_sfence(); +} +extern "C" { + pub fn _mm_pause(); +} +extern "C" { + pub fn _mm_prefetch(a: *const ::std::os::raw::c_char, sel: ::std::os::raw::c_int); +} +extern "C" { + pub fn _m_prefetchw(Source: *const ::std::os::raw::c_void); +} +extern "C" { + pub fn _mm_getcsr() -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _mm_setcsr(MxCsr: ::std::os::raw::c_uint); +} +extern "C" { + pub fn __getcallerseflags() -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn __segmentlimit(Selector: DWORD) -> DWORD; +} +extern "C" { + pub fn __readpmc(Counter: DWORD) -> DWORD64; +} +extern "C" { + pub fn __rdtsc() -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __movsb(Destination: PBYTE, Source: *const BYTE, Count: SIZE_T); +} +extern "C" { + pub fn __movsw(Destination: PWORD, Source: *const WORD, Count: SIZE_T); +} +extern "C" { + pub fn __movsd(Destination: PDWORD, Source: *const DWORD, Count: SIZE_T); +} +extern "C" { + pub fn __movsq(Destination: PDWORD64, Source: *const DWORD64, Count: SIZE_T); +} +extern "C" { + pub fn __stosb( + Destination: *mut ::std::os::raw::c_uchar, + Value: ::std::os::raw::c_uchar, + Count: ::std::os::raw::c_ulonglong, + ); +} +extern "C" { + pub fn __stosw(Destination: PWORD, Value: WORD, Count: SIZE_T); +} +extern "C" { + pub fn __stosd(Destination: PDWORD, Value: DWORD, Count: SIZE_T); +} +extern "C" { + pub fn __stosq(Destination: PDWORD64, Value: DWORD64, Count: SIZE_T); +} +extern "C" { + pub fn __mulh( + Multiplier: ::std::os::raw::c_longlong, + Multiplicand: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn __umulh( + Multiplier: ::std::os::raw::c_ulonglong, + Multiplicand: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __popcnt64(operand: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __shiftleft128( + LowPart: ::std::os::raw::c_ulonglong, + HighPart: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __shiftright128( + LowPart: ::std::os::raw::c_ulonglong, + HighPart: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _mul128( + Multiplier: ::std::os::raw::c_longlong, + Multiplicand: ::std::os::raw::c_longlong, + HighProduct: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn UnsignedMultiply128( + Multiplier: DWORD64, + Multiplicand: DWORD64, + HighProduct: *mut DWORD64, + ) -> DWORD64; +} +extern "C" { + pub fn _umul128( + Multiplier: ::std::os::raw::c_ulonglong, + Multiplicand: ::std::os::raw::c_ulonglong, + HighProduct: *mut ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __readgsbyte(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn __readgsword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn __readgsdword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn __readgsqword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __writegsbyte(Offset: DWORD, Data: BYTE); +} +extern "C" { + pub fn __writegsword(Offset: DWORD, Data: WORD); +} +extern "C" { + pub fn __writegsdword(Offset: DWORD, Data: DWORD); +} +extern "C" { + pub fn __writegsqword(Offset: DWORD, Data: DWORD64); +} +extern "C" { + pub fn __incgsbyte(Offset: DWORD); +} +extern "C" { + pub fn __addgsbyte(Offset: DWORD, Value: BYTE); +} +extern "C" { + pub fn __incgsword(Offset: DWORD); +} +extern "C" { + pub fn __addgsword(Offset: DWORD, Value: WORD); +} +extern "C" { + pub fn __incgsdword(Offset: DWORD); +} +extern "C" { + pub fn __addgsdword(Offset: DWORD, Value: DWORD); +} +extern "C" { + pub fn __incgsqword(Offset: DWORD); +} +extern "C" { + pub fn __addgsqword(Offset: DWORD, Value: DWORD64); +} +pub type XMM_SAVE_AREA32 = XSAVE_FORMAT; +pub type PXMM_SAVE_AREA32 = *mut XSAVE_FORMAT; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct _CONTEXT { + pub P1Home: DWORD64, + pub P2Home: DWORD64, + pub P3Home: DWORD64, + pub P4Home: DWORD64, + pub P5Home: DWORD64, + pub P6Home: DWORD64, + pub ContextFlags: DWORD, + pub MxCsr: DWORD, + pub SegCs: WORD, + pub SegDs: WORD, + pub SegEs: WORD, + pub SegFs: WORD, + pub SegGs: WORD, + pub SegSs: WORD, + pub EFlags: DWORD, + pub Dr0: DWORD64, + pub Dr1: DWORD64, + pub Dr2: DWORD64, + pub Dr3: DWORD64, + pub Dr6: DWORD64, + pub Dr7: DWORD64, + pub Rax: DWORD64, + pub Rcx: DWORD64, + pub Rdx: DWORD64, + pub Rbx: DWORD64, + pub Rsp: DWORD64, + pub Rbp: DWORD64, + pub Rsi: DWORD64, + pub Rdi: DWORD64, + pub R8: DWORD64, + pub R9: DWORD64, + pub R10: DWORD64, + pub R11: DWORD64, + pub R12: DWORD64, + pub R13: DWORD64, + pub R14: DWORD64, + pub R15: DWORD64, + pub Rip: DWORD64, + pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1, + pub VectorRegister: [M128A; 26usize], + pub VectorControl: DWORD64, + pub DebugControl: DWORD64, + pub LastBranchToRip: DWORD64, + pub LastBranchFromRip: DWORD64, + pub LastExceptionToRip: DWORD64, + pub LastExceptionFromRip: DWORD64, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union _CONTEXT__bindgen_ty_1 { + pub FltSave: XMM_SAVE_AREA32, + pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub Header: [M128A; 2usize], + pub Legacy: [M128A; 8usize], + pub Xmm0: M128A, + pub Xmm1: M128A, + pub Xmm2: M128A, + pub Xmm3: M128A, + pub Xmm4: M128A, + pub Xmm5: M128A, + pub Xmm6: M128A, + pub Xmm7: M128A, + pub Xmm8: M128A, + pub Xmm9: M128A, + pub Xmm10: M128A, + pub Xmm11: M128A, + pub Xmm12: M128A, + pub Xmm13: M128A, + pub Xmm14: M128A, + pub Xmm15: M128A, +} +#[test] +fn bindgen_test_layout__CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 416usize, + concat!( + "Size of: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Alignment of ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Legacy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Legacy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm0) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm1) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm2) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm3) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm4) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm5) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm6) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm7) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm8) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm9) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm10) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm11) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm12) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm13) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm14) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm15) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm15) + ) + ); +} +#[test] +fn bindgen_test_layout__CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT__bindgen_ty_1>(), + 512usize, + concat!("Size of: ", stringify!(_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT__bindgen_ty_1>(), + 16usize, + concat!("Alignment of ", stringify!(_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FltSave) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1), + "::", + stringify!(FltSave) + ) + ); +} +#[test] +fn bindgen_test_layout__CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT>(), + 1232usize, + concat!("Size of: ", stringify!(_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT>(), + 16usize, + concat!("Alignment of ", stringify!(_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P1Home) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P1Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P2Home) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P2Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P3Home) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P3Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P4Home) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P4Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P5Home) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P5Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P6Home) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P6Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(MxCsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegCs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegDs) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegEs) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegEs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegFs) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegFs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegGs) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegGs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegSs) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegSs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(EFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr0) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr1) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr2) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr3) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr6) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr7) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rax) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rcx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rcx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdx) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rdx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbx) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rbx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsp) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbp) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rbp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsi) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rsi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdi) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rdi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R8) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R9) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R10) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R11) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R12) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R13) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R14) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R15) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R15) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rip) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VectorRegister) as usize - ptr as usize }, + 768usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(VectorRegister) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VectorControl) as usize - ptr as usize }, + 1184usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(VectorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugControl) as usize - ptr as usize }, + 1192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(DebugControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastBranchToRip) as usize - ptr as usize }, + 1200usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastBranchToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastBranchFromRip) as usize - ptr as usize }, + 1208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastBranchFromRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastExceptionToRip) as usize - ptr as usize }, + 1216usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastExceptionToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastExceptionFromRip) as usize - ptr as usize }, + 1224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastExceptionFromRip) + ) + ); +} +pub type CONTEXT = _CONTEXT; +pub type PCONTEXT = *mut _CONTEXT; +pub type RUNTIME_FUNCTION = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PRUNTIME_FUNCTION = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type SCOPE_TABLE = SCOPE_TABLE_AMD64; +pub type PSCOPE_TABLE = *mut SCOPE_TABLE_AMD64; +pub type GET_RUNTIME_FUNCTION_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(ControlPc: DWORD64, Context: PVOID) -> PRUNTIME_FUNCTION, +>; +pub type PGET_RUNTIME_FUNCTION_CALLBACK = GET_RUNTIME_FUNCTION_CALLBACK; +pub type OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Process: HANDLE, + TableAddress: PVOID, + Entries: PDWORD, + Functions: *mut PRUNTIME_FUNCTION, + ) -> DWORD, +>; +pub type POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPATCHER_CONTEXT { + pub ControlPc: DWORD64, + pub ImageBase: DWORD64, + pub FunctionEntry: PRUNTIME_FUNCTION, + pub EstablisherFrame: DWORD64, + pub TargetIp: DWORD64, + pub ContextRecord: PCONTEXT, + pub LanguageHandler: PEXCEPTION_ROUTINE, + pub HandlerData: PVOID, + pub HistoryTable: *mut _UNWIND_HISTORY_TABLE, + pub ScopeIndex: DWORD, + pub Fill0: DWORD, +} +#[test] +fn bindgen_test_layout__DISPATCHER_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_DISPATCHER_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPATCHER_CONTEXT>(), + 80usize, + concat!("Size of: ", stringify!(_DISPATCHER_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPATCHER_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_DISPATCHER_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlPc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ControlPc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(FunctionEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstablisherFrame) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(EstablisherFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetIp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(TargetIp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextRecord) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ContextRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LanguageHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(LanguageHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HistoryTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(HistoryTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeIndex) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ScopeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fill0) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(Fill0) + ) + ); +} +pub type DISPATCHER_CONTEXT = _DISPATCHER_CONTEXT; +pub type PDISPATCHER_CONTEXT = *mut _DISPATCHER_CONTEXT; +pub type PEXCEPTION_FILTER = ::std::option::Option< + unsafe extern "C" fn( + ExceptionPointers: *mut _EXCEPTION_POINTERS, + EstablisherFrame: PVOID, + ) -> LONG, +>; +pub type PTERMINATION_HANDLER = ::std::option::Option< + unsafe extern "C" fn(_abnormal_termination: BOOLEAN, EstablisherFrame: PVOID), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS { + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1, + pub __bindgen_anon_2: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1 { + pub FloatingContext: [PM128A; 16usize], + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1 { + pub Xmm0: PM128A, + pub Xmm1: PM128A, + pub Xmm2: PM128A, + pub Xmm3: PM128A, + pub Xmm4: PM128A, + pub Xmm5: PM128A, + pub Xmm6: PM128A, + pub Xmm7: PM128A, + pub Xmm8: PM128A, + pub Xmm9: PM128A, + pub Xmm10: PM128A, + pub Xmm11: PM128A, + pub Xmm12: PM128A, + pub Xmm13: PM128A, + pub Xmm14: PM128A, + pub Xmm15: PM128A, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm0) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm3) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm4) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm5) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm6) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm7) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm8) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm9) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm10) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm11) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm12) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm13) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm14) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm15) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm15) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatingContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1), + "::", + stringify!(FloatingContext) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2 { + pub IntegerContext: [PDWORD64; 16usize], + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1 { + pub Rax: PDWORD64, + pub Rcx: PDWORD64, + pub Rdx: PDWORD64, + pub Rbx: PDWORD64, + pub Rsp: PDWORD64, + pub Rbp: PDWORD64, + pub Rsi: PDWORD64, + pub Rdi: PDWORD64, + pub R8: PDWORD64, + pub R9: PDWORD64, + pub R10: PDWORD64, + pub R11: PDWORD64, + pub R12: PDWORD64, + pub R13: PDWORD64, + pub R14: PDWORD64, + pub R15: PDWORD64, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rax) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rcx) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rcx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rdx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rbx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbp) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rbp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsi) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rsi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdi) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rdi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R8) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R9) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R10) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R11) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R12) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R13) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R14) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R15) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R15) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntegerContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2), + "::", + stringify!(IntegerContext) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS() { + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS>(), + 256usize, + concat!("Size of: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS)) + ); +} +pub type KNONVOLATILE_CONTEXT_POINTERS = _KNONVOLATILE_CONTEXT_POINTERS; +pub type PKNONVOLATILE_CONTEXT_POINTERS = *mut _KNONVOLATILE_CONTEXT_POINTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_ARM__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_ARM = _SCOPE_TABLE_ARM; +pub type PSCOPE_TABLE_ARM = *mut _SCOPE_TABLE_ARM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM64 { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_ARM64__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM64__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM64__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM64>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM64)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM64>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_ARM64 = _SCOPE_TABLE_ARM64; +pub type PSCOPE_TABLE_ARM64 = *mut _SCOPE_TABLE_ARM64; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ARM64_NT_NEON128 { + pub __bindgen_anon_1: _ARM64_NT_NEON128__bindgen_ty_1, + pub D: [f64; 2usize], + pub S: [f32; 4usize], + pub H: [WORD; 8usize], + pub B: [BYTE; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ARM64_NT_NEON128__bindgen_ty_1 { + pub Low: ULONGLONG, + pub High: LONGLONG, +} +#[test] +fn bindgen_test_layout__ARM64_NT_NEON128__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64_NT_NEON128__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64_NT_NEON128__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_ARM64_NT_NEON128__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64_NT_NEON128__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_ARM64_NT_NEON128__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128__bindgen_ty_1), + "::", + stringify!(Low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).High) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128__bindgen_ty_1), + "::", + stringify!(High) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64_NT_NEON128() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64_NT_NEON128> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64_NT_NEON128>(), + 16usize, + concat!("Size of: ", stringify!(_ARM64_NT_NEON128)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64_NT_NEON128>(), + 8usize, + concat!("Alignment of ", stringify!(_ARM64_NT_NEON128)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128), + "::", + stringify!(D) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128), + "::", + stringify!(S) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).H) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128), + "::", + stringify!(H) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).B) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_NEON128), + "::", + stringify!(B) + ) + ); +} +pub type ARM64_NT_NEON128 = _ARM64_NT_NEON128; +pub type PARM64_NT_NEON128 = *mut _ARM64_NT_NEON128; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct _ARM64_NT_CONTEXT { + pub ContextFlags: DWORD, + pub Cpsr: DWORD, + pub __bindgen_anon_1: _ARM64_NT_CONTEXT__bindgen_ty_1, + pub Sp: DWORD64, + pub Pc: DWORD64, + pub V: [ARM64_NT_NEON128; 32usize], + pub Fpcr: DWORD, + pub Fpsr: DWORD, + pub Bcr: [DWORD; 8usize], + pub Bvr: [DWORD64; 8usize], + pub Wcr: [DWORD; 2usize], + pub Wvr: [DWORD64; 2usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ARM64_NT_CONTEXT__bindgen_ty_1 { + pub __bindgen_anon_1: _ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1, + pub X: [DWORD64; 31usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub X0: DWORD64, + pub X1: DWORD64, + pub X2: DWORD64, + pub X3: DWORD64, + pub X4: DWORD64, + pub X5: DWORD64, + pub X6: DWORD64, + pub X7: DWORD64, + pub X8: DWORD64, + pub X9: DWORD64, + pub X10: DWORD64, + pub X11: DWORD64, + pub X12: DWORD64, + pub X13: DWORD64, + pub X14: DWORD64, + pub X15: DWORD64, + pub X16: DWORD64, + pub X17: DWORD64, + pub X18: DWORD64, + pub X19: DWORD64, + pub X20: DWORD64, + pub X21: DWORD64, + pub X22: DWORD64, + pub X23: DWORD64, + pub X24: DWORD64, + pub X25: DWORD64, + pub X26: DWORD64, + pub X27: DWORD64, + pub X28: DWORD64, + pub Fp: DWORD64, + pub Lr: DWORD64, +} +#[test] +fn bindgen_test_layout__ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 248usize, + concat!( + "Size of: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X0) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X3) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X4) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X5) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X6) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X7) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X8) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X9) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X10) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X11) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X12) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X13) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X14) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X15) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X15) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X16) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X16) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X17) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X17) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X18) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X18) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X19) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X19) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X20) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X20) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X21) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X22) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X23) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X23) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X24) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X24) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X25) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X25) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X26) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X26) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X27) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X27) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X28) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X28) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fp) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Fp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lr) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Lr) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64_NT_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64_NT_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64_NT_CONTEXT__bindgen_ty_1>(), + 248usize, + concat!("Size of: ", stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64_NT_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT__bindgen_ty_1), + "::", + stringify!(X) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64_NT_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64_NT_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64_NT_CONTEXT>(), + 912usize, + concat!("Size of: ", stringify!(_ARM64_NT_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64_NT_CONTEXT>(), + 16usize, + concat!("Alignment of ", stringify!(_ARM64_NT_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cpsr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Cpsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sp) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Sp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pc) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Pc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(V) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fpcr) as usize - ptr as usize }, + 784usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Fpcr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fpsr) as usize - ptr as usize }, + 788usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Fpsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bcr) as usize - ptr as usize }, + 792usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Bcr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bvr) as usize - ptr as usize }, + 824usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Bvr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wcr) as usize - ptr as usize }, + 888usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Wcr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wvr) as usize - ptr as usize }, + 896usize, + concat!( + "Offset of field: ", + stringify!(_ARM64_NT_CONTEXT), + "::", + stringify!(Wvr) + ) + ); +} +pub type ARM64_NT_CONTEXT = _ARM64_NT_CONTEXT; +pub type PARM64_NT_CONTEXT = *mut _ARM64_NT_CONTEXT; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct _ARM64EC_NT_CONTEXT { + pub __bindgen_anon_1: _ARM64EC_NT_CONTEXT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ARM64EC_NT_CONTEXT__bindgen_ty_1 { + pub __bindgen_anon_1: _ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub AMD64_P1Home: DWORD64, + pub AMD64_P2Home: DWORD64, + pub AMD64_P3Home: DWORD64, + pub AMD64_P4Home: DWORD64, + pub AMD64_P5Home: DWORD64, + pub AMD64_P6Home: DWORD64, + pub ContextFlags: DWORD, + pub AMD64_MxCsr_copy: DWORD, + pub AMD64_SegCs: WORD, + pub AMD64_SegDs: WORD, + pub AMD64_SegEs: WORD, + pub AMD64_SegFs: WORD, + pub AMD64_SegGs: WORD, + pub AMD64_SegSs: WORD, + pub AMD64_EFlags: DWORD, + pub AMD64_Dr0: DWORD64, + pub AMD64_Dr1: DWORD64, + pub AMD64_Dr2: DWORD64, + pub AMD64_Dr3: DWORD64, + pub AMD64_Dr6: DWORD64, + pub AMD64_Dr7: DWORD64, + pub X8: DWORD64, + pub X0: DWORD64, + pub X1: DWORD64, + pub X27: DWORD64, + pub Sp: DWORD64, + pub Fp: DWORD64, + pub X25: DWORD64, + pub X26: DWORD64, + pub X2: DWORD64, + pub X3: DWORD64, + pub X4: DWORD64, + pub X5: DWORD64, + pub X19: DWORD64, + pub X20: DWORD64, + pub X21: DWORD64, + pub X22: DWORD64, + pub Pc: DWORD64, + pub __bindgen_anon_1: _ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub AMD64_VectorRegister: [ARM64_NT_NEON128; 26usize], + pub AMD64_VectorControl: DWORD64, + pub AMD64_DebugControl: DWORD64, + pub AMD64_LastBranchToRip: DWORD64, + pub AMD64_LastBranchFromRip: DWORD64, + pub AMD64_LastExceptionToRip: DWORD64, + pub AMD64_LastExceptionFromRip: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub AMD64_ControlWord: WORD, + pub AMD64_StatusWord: WORD, + pub AMD64_TagWord: BYTE, + pub AMD64_Reserved1: BYTE, + pub AMD64_ErrorOpcode: WORD, + pub AMD64_ErrorOffset: DWORD, + pub AMD64_ErrorSelector: WORD, + pub AMD64_Reserved2: WORD, + pub AMD64_DataOffset: DWORD, + pub AMD64_DataSelector: WORD, + pub AMD64_Reserved3: WORD, + pub AMD64_MxCsr: DWORD, + pub AMD64_MxCsr_Mask: DWORD, + pub Lr: DWORD64, + pub X16_0: WORD, + pub AMD64_St0_Reserved1: WORD, + pub AMD64_St0_Reserved2: DWORD, + pub X6: DWORD64, + pub X16_1: WORD, + pub AMD64_St1_Reserved1: WORD, + pub AMD64_St1_Reserved2: DWORD, + pub X7: DWORD64, + pub X16_2: WORD, + pub AMD64_St2_Reserved1: WORD, + pub AMD64_St2_Reserved2: DWORD, + pub X9: DWORD64, + pub X16_3: WORD, + pub AMD64_St3_Reserved1: WORD, + pub AMD64_St3_Reserved2: DWORD, + pub X10: DWORD64, + pub X17_0: WORD, + pub AMD64_St4_Reserved1: WORD, + pub AMD64_St4_Reserved2: DWORD, + pub X11: DWORD64, + pub X17_1: WORD, + pub AMD64_St5_Reserved1: WORD, + pub AMD64_St5_Reserved2: DWORD, + pub X12: DWORD64, + pub X17_2: WORD, + pub AMD64_St6_Reserved1: WORD, + pub AMD64_St6_Reserved2: DWORD, + pub X15: DWORD64, + pub X17_3: WORD, + pub AMD64_St7_Reserved1: WORD, + pub AMD64_St7_Reserved2: DWORD, + pub V: [ARM64_NT_NEON128; 16usize], + pub AMD64_XSAVE_FORMAT_Reserved4: [BYTE; 96usize], +} +#[test] +fn bindgen_test_layout__ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 512usize, + concat!( + "Size of: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_ControlWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_ControlWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_StatusWord) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_StatusWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_TagWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_TagWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Reserved1) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_ErrorOpcode) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_ErrorOpcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_ErrorOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_ErrorOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_ErrorSelector) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_ErrorSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Reserved2) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_DataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_DataSelector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_DataSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Reserved3) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_MxCsr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_MxCsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_MxCsr_Mask) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_MxCsr_Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Lr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X16_0) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X16_0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St0_Reserved1) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St0_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St0_Reserved2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St0_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X6) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X16_1) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X16_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St1_Reserved1) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St1_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St1_Reserved2) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St1_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X7) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X16_2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X16_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St2_Reserved1) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St2_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St2_Reserved2) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St2_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X9) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X16_3) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X16_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St3_Reserved1) as usize - ptr as usize }, + 90usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St3_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St3_Reserved2) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St3_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X10) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X17_0) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X17_0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St4_Reserved1) as usize - ptr as usize }, + 106usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St4_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St4_Reserved2) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St4_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X11) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X17_1) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X17_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St5_Reserved1) as usize - ptr as usize }, + 122usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St5_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St5_Reserved2) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St5_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X12) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X17_2) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X17_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St6_Reserved1) as usize - ptr as usize }, + 138usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St6_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St6_Reserved2) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St6_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X15) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X15) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X17_3) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X17_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St7_Reserved1) as usize - ptr as usize }, + 154usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St7_Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_St7_Reserved2) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_St7_Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(V) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AMD64_XSAVE_FORMAT_Reserved4) as usize - ptr as usize + }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_XSAVE_FORMAT_Reserved4) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 1232usize, + concat!( + "Size of: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P1Home) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P1Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P2Home) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P2Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P3Home) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P3Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P4Home) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P4Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P5Home) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P5Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_P6Home) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_P6Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_MxCsr_copy) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_MxCsr_copy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegCs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegDs) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegEs) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegEs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegFs) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegFs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegGs) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegGs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_SegSs) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_SegSs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_EFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_EFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr0) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr1) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr2) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr3) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr6) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_Dr7) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_Dr7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X8) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X0) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X1) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X27) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X27) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sp) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Sp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fp) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Fp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X25) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X25) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X26) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X26) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X2) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X3) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X4) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X5) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X19) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X19) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X20) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X20) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X21) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X22) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(X22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pc) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Pc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_VectorRegister) as usize - ptr as usize }, + 768usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_VectorRegister) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_VectorControl) as usize - ptr as usize }, + 1184usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_VectorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_DebugControl) as usize - ptr as usize }, + 1192usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_DebugControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_LastBranchToRip) as usize - ptr as usize }, + 1200usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_LastBranchToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_LastBranchFromRip) as usize - ptr as usize }, + 1208usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_LastBranchFromRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_LastExceptionToRip) as usize - ptr as usize }, + 1216usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_LastExceptionToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AMD64_LastExceptionFromRip) as usize - ptr as usize }, + 1224usize, + concat!( + "Offset of field: ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AMD64_LastExceptionFromRip) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64EC_NT_CONTEXT__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1>(), + 1232usize, + concat!("Size of: ", stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64EC_NT_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ARM64EC_NT_CONTEXT__bindgen_ty_1) + ) + ); +} +#[test] +fn bindgen_test_layout__ARM64EC_NT_CONTEXT() { + assert_eq!( + ::std::mem::size_of::<_ARM64EC_NT_CONTEXT>(), + 1232usize, + concat!("Size of: ", stringify!(_ARM64EC_NT_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_ARM64EC_NT_CONTEXT>(), + 16usize, + concat!("Alignment of ", stringify!(_ARM64EC_NT_CONTEXT)) + ); +} +pub type ARM64EC_NT_CONTEXT = _ARM64EC_NT_CONTEXT; +pub type PARM64EC_NT_CONTEXT = *mut _ARM64EC_NT_CONTEXT; +pub type ARM64_RUNTIME_FUNCTION = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +pub type PARM64_RUNTIME_FUNCTION = *mut _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPATCHER_CONTEXT_NONVOLREG_ARM64 { + pub Buffer: [BYTE; 152usize], + pub __bindgen_anon_1: _DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1 { + pub GpNvRegs: [DWORD64; 11usize], + pub FpNvRegs: [f64; 8usize], +} +#[test] +fn bindgen_test_layout__DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1>(), + 152usize, + concat!( + "Size of: ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GpNvRegs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1), + "::", + stringify!(GpNvRegs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FpNvRegs) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64__bindgen_ty_1), + "::", + stringify!(FpNvRegs) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPATCHER_CONTEXT_NONVOLREG_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_DISPATCHER_CONTEXT_NONVOLREG_ARM64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPATCHER_CONTEXT_NONVOLREG_ARM64>(), + 152usize, + concat!("Size of: ", stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPATCHER_CONTEXT_NONVOLREG_ARM64>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_NONVOLREG_ARM64), + "::", + stringify!(Buffer) + ) + ); +} +pub type DISPATCHER_CONTEXT_NONVOLREG_ARM64 = _DISPATCHER_CONTEXT_NONVOLREG_ARM64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPATCHER_CONTEXT_ARM64 { + pub ControlPc: ULONG_PTR, + pub ImageBase: ULONG_PTR, + pub FunctionEntry: PARM64_RUNTIME_FUNCTION, + pub EstablisherFrame: ULONG_PTR, + pub TargetPc: ULONG_PTR, + pub ContextRecord: PARM64_NT_CONTEXT, + pub LanguageHandler: PEXCEPTION_ROUTINE, + pub HandlerData: PVOID, + pub HistoryTable: *mut _UNWIND_HISTORY_TABLE, + pub ScopeIndex: DWORD, + pub ControlPcIsUnwound: BOOLEAN, + pub NonVolatileRegisters: PBYTE, +} +#[test] +fn bindgen_test_layout__DISPATCHER_CONTEXT_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_DISPATCHER_CONTEXT_ARM64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPATCHER_CONTEXT_ARM64>(), + 88usize, + concat!("Size of: ", stringify!(_DISPATCHER_CONTEXT_ARM64)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPATCHER_CONTEXT_ARM64>(), + 8usize, + concat!("Alignment of ", stringify!(_DISPATCHER_CONTEXT_ARM64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlPc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(ControlPc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(FunctionEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstablisherFrame) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(EstablisherFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetPc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(TargetPc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextRecord) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(ContextRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LanguageHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(LanguageHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HistoryTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(HistoryTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeIndex) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(ScopeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlPcIsUnwound) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(ControlPcIsUnwound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonVolatileRegisters) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT_ARM64), + "::", + stringify!(NonVolatileRegisters) + ) + ); +} +pub type DISPATCHER_CONTEXT_ARM64 = _DISPATCHER_CONTEXT_ARM64; +pub type PDISPATCHER_CONTEXT_ARM64 = *mut _DISPATCHER_CONTEXT_ARM64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { + pub X19: PDWORD64, + pub X20: PDWORD64, + pub X21: PDWORD64, + pub X22: PDWORD64, + pub X23: PDWORD64, + pub X24: PDWORD64, + pub X25: PDWORD64, + pub X26: PDWORD64, + pub X27: PDWORD64, + pub X28: PDWORD64, + pub Fp: PDWORD64, + pub Lr: PDWORD64, + pub D8: PDWORD64, + pub D9: PDWORD64, + pub D10: PDWORD64, + pub D11: PDWORD64, + pub D12: PDWORD64, + pub D13: PDWORD64, + pub D14: PDWORD64, + pub D15: PDWORD64, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS_ARM64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>(), + 160usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X19) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X19) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X20) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X20) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X21) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X22) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X23) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X23) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X24) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X24) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X25) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X25) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X26) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X26) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X27) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X27) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X28) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X28) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fp) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(Fp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(Lr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D8) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D9) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D10) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D11) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D12) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D13) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D14) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D15) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D15) + ) + ); +} +pub type KNONVOLATILE_CONTEXT_POINTERS_ARM64 = _KNONVOLATILE_CONTEXT_POINTERS_ARM64; +pub type PKNONVOLATILE_CONTEXT_POINTERS_ARM64 = *mut _KNONVOLATILE_CONTEXT_POINTERS_ARM64; +extern "C" { + pub fn __int2c() -> !; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LDT_ENTRY { + pub LimitLow: WORD, + pub BaseLow: WORD, + pub HighWord: _LDT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _LDT_ENTRY__bindgen_ty_1 { + pub Bytes: _LDT_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Bits: _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDT_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub BaseMid: BYTE, + pub Flags1: BYTE, + pub Flags2: BYTE, + pub BaseHi: BYTE, +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseHi) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseHi) + ) + ); +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); +} +impl _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn BaseMid(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseMid(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 5u8) as u32) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 5u8, val as u64) + } + } + #[inline] + pub fn Dpl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Dpl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn Pres(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_Pres(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn LimitHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_LimitHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn Sys(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_Sys(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved_0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_Reserved_0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn Default_Big(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } + } + #[inline] + pub fn set_Default_Big(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub fn Granularity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_Granularity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn BaseHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + BaseMid: DWORD, + Type: DWORD, + Dpl: DWORD, + Pres: DWORD, + LimitHi: DWORD, + Sys: DWORD, + Reserved_0: DWORD, + Default_Big: DWORD, + Granularity: DWORD, + BaseHi: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let BaseMid: u32 = unsafe { ::std::mem::transmute(BaseMid) }; + BaseMid as u64 + }); + __bindgen_bitfield_unit.set(8usize, 5u8, { + let Type: u32 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Dpl: u32 = unsafe { ::std::mem::transmute(Dpl) }; + Dpl as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Pres: u32 = unsafe { ::std::mem::transmute(Pres) }; + Pres as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let LimitHi: u32 = unsafe { ::std::mem::transmute(LimitHi) }; + LimitHi as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let Sys: u32 = unsafe { ::std::mem::transmute(Sys) }; + Sys as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let Reserved_0: u32 = unsafe { ::std::mem::transmute(Reserved_0) }; + Reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let Default_Big: u32 = unsafe { ::std::mem::transmute(Default_Big) }; + Default_Big as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let Granularity: u32 = unsafe { ::std::mem::transmute(Granularity) }; + Granularity as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let BaseHi: u32 = unsafe { ::std::mem::transmute(BaseHi) }; + BaseHi as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bits) + ) + ); +} +#[test] +fn bindgen_test_layout__LDT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_LDT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_LDT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(LimitLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseLow) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(BaseLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(HighWord) + ) + ); +} +pub type LDT_ENTRY = _LDT_ENTRY; +pub type PLDT_ENTRY = *mut _LDT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_FLOATING_SAVE_AREA { + pub ControlWord: DWORD, + pub StatusWord: DWORD, + pub TagWord: DWORD, + pub ErrorOffset: DWORD, + pub ErrorSelector: DWORD, + pub DataOffset: DWORD, + pub DataSelector: DWORD, + pub RegisterArea: [BYTE; 80usize], + pub Cr0NpxState: DWORD, +} +#[test] +fn bindgen_test_layout__WOW64_FLOATING_SAVE_AREA() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_FLOATING_SAVE_AREA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_FLOATING_SAVE_AREA>(), + 112usize, + concat!("Size of: ", stringify!(_WOW64_FLOATING_SAVE_AREA)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_FLOATING_SAVE_AREA>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_FLOATING_SAVE_AREA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ControlWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(StatusWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagWord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(TagWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ErrorOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorSelector) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ErrorSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSelector) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(DataSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterArea) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(RegisterArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cr0NpxState) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(Cr0NpxState) + ) + ); +} +pub type WOW64_FLOATING_SAVE_AREA = _WOW64_FLOATING_SAVE_AREA; +pub type PWOW64_FLOATING_SAVE_AREA = *mut WOW64_FLOATING_SAVE_AREA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_CONTEXT { + pub ContextFlags: DWORD, + pub Dr0: DWORD, + pub Dr1: DWORD, + pub Dr2: DWORD, + pub Dr3: DWORD, + pub Dr6: DWORD, + pub Dr7: DWORD, + pub FloatSave: WOW64_FLOATING_SAVE_AREA, + pub SegGs: DWORD, + pub SegFs: DWORD, + pub SegEs: DWORD, + pub SegDs: DWORD, + pub Edi: DWORD, + pub Esi: DWORD, + pub Ebx: DWORD, + pub Edx: DWORD, + pub Ecx: DWORD, + pub Eax: DWORD, + pub Ebp: DWORD, + pub Eip: DWORD, + pub SegCs: DWORD, + pub EFlags: DWORD, + pub Esp: DWORD, + pub SegSs: DWORD, + pub ExtendedRegisters: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__WOW64_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_CONTEXT>(), + 716usize, + concat!("Size of: ", stringify!(_WOW64_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_CONTEXT>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr0) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr3) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr6) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr7) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatSave) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(FloatSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegGs) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegGs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegFs) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegFs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegEs) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegEs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegDs) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Edi) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Edi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Esi) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Esi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ebx) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ebx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Edx) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Edx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ecx) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ecx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Eax) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Eax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ebp) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ebp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Eip) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Eip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegCs) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EFlags) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(EFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Esp) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Esp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegSs) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegSs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedRegisters) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(ExtendedRegisters) + ) + ); +} +pub type WOW64_CONTEXT = _WOW64_CONTEXT; +pub type PWOW64_CONTEXT = *mut WOW64_CONTEXT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WOW64_LDT_ENTRY { + pub LimitLow: WORD, + pub BaseLow: WORD, + pub HighWord: _WOW64_LDT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _WOW64_LDT_ENTRY__bindgen_ty_1 { + pub Bytes: _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Bits: _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub BaseMid: BYTE, + pub Flags1: BYTE, + pub Flags2: BYTE, + pub BaseHi: BYTE, +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseHi) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseHi) + ) + ); +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); +} +impl _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn BaseMid(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseMid(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 5u8) as u32) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 5u8, val as u64) + } + } + #[inline] + pub fn Dpl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Dpl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn Pres(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_Pres(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn LimitHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_LimitHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn Sys(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_Sys(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved_0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_Reserved_0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn Default_Big(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } + } + #[inline] + pub fn set_Default_Big(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub fn Granularity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_Granularity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn BaseHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + BaseMid: DWORD, + Type: DWORD, + Dpl: DWORD, + Pres: DWORD, + LimitHi: DWORD, + Sys: DWORD, + Reserved_0: DWORD, + Default_Big: DWORD, + Granularity: DWORD, + BaseHi: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let BaseMid: u32 = unsafe { ::std::mem::transmute(BaseMid) }; + BaseMid as u64 + }); + __bindgen_bitfield_unit.set(8usize, 5u8, { + let Type: u32 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Dpl: u32 = unsafe { ::std::mem::transmute(Dpl) }; + Dpl as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Pres: u32 = unsafe { ::std::mem::transmute(Pres) }; + Pres as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let LimitHi: u32 = unsafe { ::std::mem::transmute(LimitHi) }; + LimitHi as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let Sys: u32 = unsafe { ::std::mem::transmute(Sys) }; + Sys as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let Reserved_0: u32 = unsafe { ::std::mem::transmute(Reserved_0) }; + Reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let Default_Big: u32 = unsafe { ::std::mem::transmute(Default_Big) }; + Default_Big as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let Granularity: u32 = unsafe { ::std::mem::transmute(Granularity) }; + Granularity as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let BaseHi: u32 = unsafe { ::std::mem::transmute(BaseHi) }; + BaseHi as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bits) + ) + ); +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_WOW64_LDT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_LDT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(LimitLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseLow) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(BaseLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(HighWord) + ) + ); +} +pub type WOW64_LDT_ENTRY = _WOW64_LDT_ENTRY; +pub type PWOW64_LDT_ENTRY = *mut _WOW64_LDT_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WOW64_DESCRIPTOR_TABLE_ENTRY { + pub Selector: DWORD, + pub Descriptor: WOW64_LDT_ENTRY, +} +#[test] +fn bindgen_test_layout__WOW64_DESCRIPTOR_TABLE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_DESCRIPTOR_TABLE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_DESCRIPTOR_TABLE_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_DESCRIPTOR_TABLE_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY), + "::", + stringify!(Selector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY), + "::", + stringify!(Descriptor) + ) + ); +} +pub type WOW64_DESCRIPTOR_TABLE_ENTRY = _WOW64_DESCRIPTOR_TABLE_ENTRY; +pub type PWOW64_DESCRIPTOR_TABLE_ENTRY = *mut _WOW64_DESCRIPTOR_TABLE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: *mut _EXCEPTION_RECORD, + pub ExceptionAddress: PVOID, + pub NumberParameters: DWORD, + pub ExceptionInformation: [ULONG_PTR; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD>(), + 152usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD = _EXCEPTION_RECORD; +pub type PEXCEPTION_RECORD = *mut EXCEPTION_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD32 { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: DWORD, + pub ExceptionAddress: DWORD, + pub NumberParameters: DWORD, + pub ExceptionInformation: [DWORD; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD32() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD32>(), + 80usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD32)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD32>(), + 4usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD32 = _EXCEPTION_RECORD32; +pub type PEXCEPTION_RECORD32 = *mut _EXCEPTION_RECORD32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD64 { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: DWORD64, + pub ExceptionAddress: DWORD64, + pub NumberParameters: DWORD, + pub __unusedAlignment: DWORD, + pub ExceptionInformation: [DWORD64; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD64() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD64>(), + 152usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD64)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD64>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__unusedAlignment) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(__unusedAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD64 = _EXCEPTION_RECORD64; +pub type PEXCEPTION_RECORD64 = *mut _EXCEPTION_RECORD64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_POINTERS { + pub ExceptionRecord: PEXCEPTION_RECORD, + pub ContextRecord: PCONTEXT, +} +#[test] +fn bindgen_test_layout__EXCEPTION_POINTERS() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_POINTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_POINTERS>(), + 16usize, + concat!("Size of: ", stringify!(_EXCEPTION_POINTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_POINTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_POINTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_POINTERS), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_POINTERS), + "::", + stringify!(ContextRecord) + ) + ); +} +pub type EXCEPTION_POINTERS = _EXCEPTION_POINTERS; +pub type PEXCEPTION_POINTERS = *mut _EXCEPTION_POINTERS; +pub type PACCESS_TOKEN = PVOID; +pub type PSECURITY_DESCRIPTOR = PVOID; +pub type PSID = PVOID; +pub type PCLAIMS_BLOB = PVOID; +pub type ACCESS_MASK = DWORD; +pub type PACCESS_MASK = *mut ACCESS_MASK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GENERIC_MAPPING { + pub GenericRead: ACCESS_MASK, + pub GenericWrite: ACCESS_MASK, + pub GenericExecute: ACCESS_MASK, + pub GenericAll: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__GENERIC_MAPPING() { + const UNINIT: ::std::mem::MaybeUninit<_GENERIC_MAPPING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GENERIC_MAPPING>(), + 16usize, + concat!("Size of: ", stringify!(_GENERIC_MAPPING)) + ); + assert_eq!( + ::std::mem::align_of::<_GENERIC_MAPPING>(), + 4usize, + concat!("Alignment of ", stringify!(_GENERIC_MAPPING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericRead) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericWrite) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericExecute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericExecute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericAll) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericAll) + ) + ); +} +pub type GENERIC_MAPPING = _GENERIC_MAPPING; +pub type PGENERIC_MAPPING = *mut GENERIC_MAPPING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LUID_AND_ATTRIBUTES { + pub Luid: LUID, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__LUID_AND_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_LUID_AND_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LUID_AND_ATTRIBUTES>(), + 12usize, + concat!("Size of: ", stringify!(_LUID_AND_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_LUID_AND_ATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_LUID_AND_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Luid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LUID_AND_ATTRIBUTES), + "::", + stringify!(Luid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LUID_AND_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES; +pub type PLUID_AND_ATTRIBUTES = *mut _LUID_AND_ATTRIBUTES; +pub type LUID_AND_ATTRIBUTES_ARRAY = [LUID_AND_ATTRIBUTES; 1usize]; +pub type PLUID_AND_ATTRIBUTES_ARRAY = *mut LUID_AND_ATTRIBUTES_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_IDENTIFIER_AUTHORITY { + pub Value: [BYTE; 6usize], +} +#[test] +fn bindgen_test_layout__SID_IDENTIFIER_AUTHORITY() { + const UNINIT: ::std::mem::MaybeUninit<_SID_IDENTIFIER_AUTHORITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_IDENTIFIER_AUTHORITY>(), + 6usize, + concat!("Size of: ", stringify!(_SID_IDENTIFIER_AUTHORITY)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_IDENTIFIER_AUTHORITY>(), + 1usize, + concat!("Alignment of ", stringify!(_SID_IDENTIFIER_AUTHORITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_IDENTIFIER_AUTHORITY), + "::", + stringify!(Value) + ) + ); +} +pub type SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY; +pub type PSID_IDENTIFIER_AUTHORITY = *mut _SID_IDENTIFIER_AUTHORITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID { + pub Revision: BYTE, + pub SubAuthorityCount: BYTE, + pub IdentifierAuthority: SID_IDENTIFIER_AUTHORITY, + pub SubAuthority: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__SID() { + const UNINIT: ::std::mem::MaybeUninit<_SID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID>(), + 12usize, + concat!("Size of: ", stringify!(_SID)) + ); + assert_eq!( + ::std::mem::align_of::<_SID>(), + 4usize, + concat!("Alignment of ", stringify!(_SID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubAuthorityCount) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(SubAuthorityCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierAuthority) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(IdentifierAuthority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubAuthority) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(SubAuthority) + ) + ); +} +pub type SID = _SID; +pub type PISID = *mut _SID; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_SID { + pub Sid: SID, + pub Buffer: [BYTE; 68usize], +} +#[test] +fn bindgen_test_layout__SE_SID() { + const UNINIT: ::std::mem::MaybeUninit<_SE_SID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_SID>(), + 68usize, + concat!("Size of: ", stringify!(_SE_SID)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_SID>(), + 4usize, + concat!("Alignment of ", stringify!(_SE_SID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SID), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SID), + "::", + stringify!(Buffer) + ) + ); +} +pub type SE_SID = _SE_SID; +pub type PSE_SID = *mut _SE_SID; +pub const _SID_NAME_USE_SidTypeUser: _SID_NAME_USE = 1; +pub const _SID_NAME_USE_SidTypeGroup: _SID_NAME_USE = 2; +pub const _SID_NAME_USE_SidTypeDomain: _SID_NAME_USE = 3; +pub const _SID_NAME_USE_SidTypeAlias: _SID_NAME_USE = 4; +pub const _SID_NAME_USE_SidTypeWellKnownGroup: _SID_NAME_USE = 5; +pub const _SID_NAME_USE_SidTypeDeletedAccount: _SID_NAME_USE = 6; +pub const _SID_NAME_USE_SidTypeInvalid: _SID_NAME_USE = 7; +pub const _SID_NAME_USE_SidTypeUnknown: _SID_NAME_USE = 8; +pub const _SID_NAME_USE_SidTypeComputer: _SID_NAME_USE = 9; +pub const _SID_NAME_USE_SidTypeLabel: _SID_NAME_USE = 10; +pub const _SID_NAME_USE_SidTypeLogonSession: _SID_NAME_USE = 11; +pub type _SID_NAME_USE = ::std::os::raw::c_int; +pub use self::_SID_NAME_USE as SID_NAME_USE; +pub type PSID_NAME_USE = *mut _SID_NAME_USE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_AND_ATTRIBUTES { + pub Sid: PSID, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__SID_AND_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SID_AND_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_AND_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_SID_AND_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_AND_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SID_AND_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES; +pub type PSID_AND_ATTRIBUTES = *mut _SID_AND_ATTRIBUTES; +pub type SID_AND_ATTRIBUTES_ARRAY = [SID_AND_ATTRIBUTES; 1usize]; +pub type PSID_AND_ATTRIBUTES_ARRAY = *mut SID_AND_ATTRIBUTES_ARRAY; +pub type SID_HASH_ENTRY = ULONG_PTR; +pub type PSID_HASH_ENTRY = *mut ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_AND_ATTRIBUTES_HASH { + pub SidCount: DWORD, + pub SidAttr: PSID_AND_ATTRIBUTES, + pub Hash: [SID_HASH_ENTRY; 32usize], +} +#[test] +fn bindgen_test_layout__SID_AND_ATTRIBUTES_HASH() { + const UNINIT: ::std::mem::MaybeUninit<_SID_AND_ATTRIBUTES_HASH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_AND_ATTRIBUTES_HASH>(), + 272usize, + concat!("Size of: ", stringify!(_SID_AND_ATTRIBUTES_HASH)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_AND_ATTRIBUTES_HASH>(), + 8usize, + concat!("Alignment of ", stringify!(_SID_AND_ATTRIBUTES_HASH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(SidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(SidAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(Hash) + ) + ); +} +pub type SID_AND_ATTRIBUTES_HASH = _SID_AND_ATTRIBUTES_HASH; +pub type PSID_AND_ATTRIBUTES_HASH = *mut _SID_AND_ATTRIBUTES_HASH; +pub const WELL_KNOWN_SID_TYPE_WinNullSid: WELL_KNOWN_SID_TYPE = 0; +pub const WELL_KNOWN_SID_TYPE_WinWorldSid: WELL_KNOWN_SID_TYPE = 1; +pub const WELL_KNOWN_SID_TYPE_WinLocalSid: WELL_KNOWN_SID_TYPE = 2; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerSid: WELL_KNOWN_SID_TYPE = 3; +pub const WELL_KNOWN_SID_TYPE_WinCreatorGroupSid: WELL_KNOWN_SID_TYPE = 4; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerServerSid: WELL_KNOWN_SID_TYPE = 5; +pub const WELL_KNOWN_SID_TYPE_WinCreatorGroupServerSid: WELL_KNOWN_SID_TYPE = 6; +pub const WELL_KNOWN_SID_TYPE_WinNtAuthoritySid: WELL_KNOWN_SID_TYPE = 7; +pub const WELL_KNOWN_SID_TYPE_WinDialupSid: WELL_KNOWN_SID_TYPE = 8; +pub const WELL_KNOWN_SID_TYPE_WinNetworkSid: WELL_KNOWN_SID_TYPE = 9; +pub const WELL_KNOWN_SID_TYPE_WinBatchSid: WELL_KNOWN_SID_TYPE = 10; +pub const WELL_KNOWN_SID_TYPE_WinInteractiveSid: WELL_KNOWN_SID_TYPE = 11; +pub const WELL_KNOWN_SID_TYPE_WinServiceSid: WELL_KNOWN_SID_TYPE = 12; +pub const WELL_KNOWN_SID_TYPE_WinAnonymousSid: WELL_KNOWN_SID_TYPE = 13; +pub const WELL_KNOWN_SID_TYPE_WinProxySid: WELL_KNOWN_SID_TYPE = 14; +pub const WELL_KNOWN_SID_TYPE_WinEnterpriseControllersSid: WELL_KNOWN_SID_TYPE = 15; +pub const WELL_KNOWN_SID_TYPE_WinSelfSid: WELL_KNOWN_SID_TYPE = 16; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticatedUserSid: WELL_KNOWN_SID_TYPE = 17; +pub const WELL_KNOWN_SID_TYPE_WinRestrictedCodeSid: WELL_KNOWN_SID_TYPE = 18; +pub const WELL_KNOWN_SID_TYPE_WinTerminalServerSid: WELL_KNOWN_SID_TYPE = 19; +pub const WELL_KNOWN_SID_TYPE_WinRemoteLogonIdSid: WELL_KNOWN_SID_TYPE = 20; +pub const WELL_KNOWN_SID_TYPE_WinLogonIdsSid: WELL_KNOWN_SID_TYPE = 21; +pub const WELL_KNOWN_SID_TYPE_WinLocalSystemSid: WELL_KNOWN_SID_TYPE = 22; +pub const WELL_KNOWN_SID_TYPE_WinLocalServiceSid: WELL_KNOWN_SID_TYPE = 23; +pub const WELL_KNOWN_SID_TYPE_WinNetworkServiceSid: WELL_KNOWN_SID_TYPE = 24; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDomainSid: WELL_KNOWN_SID_TYPE = 25; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAdministratorsSid: WELL_KNOWN_SID_TYPE = 26; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinUsersSid: WELL_KNOWN_SID_TYPE = 27; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinGuestsSid: WELL_KNOWN_SID_TYPE = 28; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPowerUsersSid: WELL_KNOWN_SID_TYPE = 29; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAccountOperatorsSid: WELL_KNOWN_SID_TYPE = 30; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinSystemOperatorsSid: WELL_KNOWN_SID_TYPE = 31; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPrintOperatorsSid: WELL_KNOWN_SID_TYPE = 32; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinBackupOperatorsSid: WELL_KNOWN_SID_TYPE = 33; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinReplicatorSid: WELL_KNOWN_SID_TYPE = 34; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPreWindows2000CompatibleAccessSid: WELL_KNOWN_SID_TYPE = 35; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRemoteDesktopUsersSid: WELL_KNOWN_SID_TYPE = 36; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinNetworkConfigurationOperatorsSid: WELL_KNOWN_SID_TYPE = 37; +pub const WELL_KNOWN_SID_TYPE_WinAccountAdministratorSid: WELL_KNOWN_SID_TYPE = 38; +pub const WELL_KNOWN_SID_TYPE_WinAccountGuestSid: WELL_KNOWN_SID_TYPE = 39; +pub const WELL_KNOWN_SID_TYPE_WinAccountKrbtgtSid: WELL_KNOWN_SID_TYPE = 40; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainAdminsSid: WELL_KNOWN_SID_TYPE = 41; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainUsersSid: WELL_KNOWN_SID_TYPE = 42; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainGuestsSid: WELL_KNOWN_SID_TYPE = 43; +pub const WELL_KNOWN_SID_TYPE_WinAccountComputersSid: WELL_KNOWN_SID_TYPE = 44; +pub const WELL_KNOWN_SID_TYPE_WinAccountControllersSid: WELL_KNOWN_SID_TYPE = 45; +pub const WELL_KNOWN_SID_TYPE_WinAccountCertAdminsSid: WELL_KNOWN_SID_TYPE = 46; +pub const WELL_KNOWN_SID_TYPE_WinAccountSchemaAdminsSid: WELL_KNOWN_SID_TYPE = 47; +pub const WELL_KNOWN_SID_TYPE_WinAccountEnterpriseAdminsSid: WELL_KNOWN_SID_TYPE = 48; +pub const WELL_KNOWN_SID_TYPE_WinAccountPolicyAdminsSid: WELL_KNOWN_SID_TYPE = 49; +pub const WELL_KNOWN_SID_TYPE_WinAccountRasAndIasServersSid: WELL_KNOWN_SID_TYPE = 50; +pub const WELL_KNOWN_SID_TYPE_WinNTLMAuthenticationSid: WELL_KNOWN_SID_TYPE = 51; +pub const WELL_KNOWN_SID_TYPE_WinDigestAuthenticationSid: WELL_KNOWN_SID_TYPE = 52; +pub const WELL_KNOWN_SID_TYPE_WinSChannelAuthenticationSid: WELL_KNOWN_SID_TYPE = 53; +pub const WELL_KNOWN_SID_TYPE_WinThisOrganizationSid: WELL_KNOWN_SID_TYPE = 54; +pub const WELL_KNOWN_SID_TYPE_WinOtherOrganizationSid: WELL_KNOWN_SID_TYPE = 55; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinIncomingForestTrustBuildersSid: WELL_KNOWN_SID_TYPE = 56; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPerfMonitoringUsersSid: WELL_KNOWN_SID_TYPE = 57; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPerfLoggingUsersSid: WELL_KNOWN_SID_TYPE = 58; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAuthorizationAccessSid: WELL_KNOWN_SID_TYPE = 59; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinTerminalServerLicenseServersSid: WELL_KNOWN_SID_TYPE = 60; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDCOMUsersSid: WELL_KNOWN_SID_TYPE = 61; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinIUsersSid: WELL_KNOWN_SID_TYPE = 62; +pub const WELL_KNOWN_SID_TYPE_WinIUserSid: WELL_KNOWN_SID_TYPE = 63; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinCryptoOperatorsSid: WELL_KNOWN_SID_TYPE = 64; +pub const WELL_KNOWN_SID_TYPE_WinUntrustedLabelSid: WELL_KNOWN_SID_TYPE = 65; +pub const WELL_KNOWN_SID_TYPE_WinLowLabelSid: WELL_KNOWN_SID_TYPE = 66; +pub const WELL_KNOWN_SID_TYPE_WinMediumLabelSid: WELL_KNOWN_SID_TYPE = 67; +pub const WELL_KNOWN_SID_TYPE_WinHighLabelSid: WELL_KNOWN_SID_TYPE = 68; +pub const WELL_KNOWN_SID_TYPE_WinSystemLabelSid: WELL_KNOWN_SID_TYPE = 69; +pub const WELL_KNOWN_SID_TYPE_WinWriteRestrictedCodeSid: WELL_KNOWN_SID_TYPE = 70; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerRightsSid: WELL_KNOWN_SID_TYPE = 71; +pub const WELL_KNOWN_SID_TYPE_WinCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = 72; +pub const WELL_KNOWN_SID_TYPE_WinNonCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = 73; +pub const WELL_KNOWN_SID_TYPE_WinEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 74; +pub const WELL_KNOWN_SID_TYPE_WinAccountReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 75; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinEventLogReadersGroup: WELL_KNOWN_SID_TYPE = 76; +pub const WELL_KNOWN_SID_TYPE_WinNewEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 77; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinCertSvcDComAccessGroup: WELL_KNOWN_SID_TYPE = 78; +pub const WELL_KNOWN_SID_TYPE_WinMediumPlusLabelSid: WELL_KNOWN_SID_TYPE = 79; +pub const WELL_KNOWN_SID_TYPE_WinLocalLogonSid: WELL_KNOWN_SID_TYPE = 80; +pub const WELL_KNOWN_SID_TYPE_WinConsoleLogonSid: WELL_KNOWN_SID_TYPE = 81; +pub const WELL_KNOWN_SID_TYPE_WinThisOrganizationCertificateSid: WELL_KNOWN_SID_TYPE = 82; +pub const WELL_KNOWN_SID_TYPE_WinApplicationPackageAuthoritySid: WELL_KNOWN_SID_TYPE = 83; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAnyPackageSid: WELL_KNOWN_SID_TYPE = 84; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityInternetClientSid: WELL_KNOWN_SID_TYPE = 85; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityInternetClientServerSid: WELL_KNOWN_SID_TYPE = 86; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityPrivateNetworkClientServerSid: WELL_KNOWN_SID_TYPE = 87; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityPicturesLibrarySid: WELL_KNOWN_SID_TYPE = 88; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityVideosLibrarySid: WELL_KNOWN_SID_TYPE = 89; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityMusicLibrarySid: WELL_KNOWN_SID_TYPE = 90; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityDocumentsLibrarySid: WELL_KNOWN_SID_TYPE = 91; +pub const WELL_KNOWN_SID_TYPE_WinCapabilitySharedUserCertificatesSid: WELL_KNOWN_SID_TYPE = 92; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityEnterpriseAuthenticationSid: WELL_KNOWN_SID_TYPE = 93; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityRemovableStorageSid: WELL_KNOWN_SID_TYPE = 94; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSRemoteAccessServersSid: WELL_KNOWN_SID_TYPE = 95; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSEndpointServersSid: WELL_KNOWN_SID_TYPE = 96; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSManagementServersSid: WELL_KNOWN_SID_TYPE = 97; +pub const WELL_KNOWN_SID_TYPE_WinUserModeDriversSid: WELL_KNOWN_SID_TYPE = 98; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinHyperVAdminsSid: WELL_KNOWN_SID_TYPE = 99; +pub const WELL_KNOWN_SID_TYPE_WinAccountCloneableControllersSid: WELL_KNOWN_SID_TYPE = 100; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAccessControlAssistanceOperatorsSid: WELL_KNOWN_SID_TYPE = + 101; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRemoteManagementUsersSid: WELL_KNOWN_SID_TYPE = 102; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationAuthorityAssertedSid: WELL_KNOWN_SID_TYPE = 103; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationServiceAssertedSid: WELL_KNOWN_SID_TYPE = 104; +pub const WELL_KNOWN_SID_TYPE_WinLocalAccountSid: WELL_KNOWN_SID_TYPE = 105; +pub const WELL_KNOWN_SID_TYPE_WinLocalAccountAndAdministratorSid: WELL_KNOWN_SID_TYPE = 106; +pub const WELL_KNOWN_SID_TYPE_WinAccountProtectedUsersSid: WELL_KNOWN_SID_TYPE = 107; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityAppointmentsSid: WELL_KNOWN_SID_TYPE = 108; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityContactsSid: WELL_KNOWN_SID_TYPE = 109; +pub const WELL_KNOWN_SID_TYPE_WinAccountDefaultSystemManagedSid: WELL_KNOWN_SID_TYPE = 110; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDefaultSystemManagedGroupSid: WELL_KNOWN_SID_TYPE = 111; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinStorageReplicaAdminsSid: WELL_KNOWN_SID_TYPE = 112; +pub const WELL_KNOWN_SID_TYPE_WinAccountKeyAdminsSid: WELL_KNOWN_SID_TYPE = 113; +pub const WELL_KNOWN_SID_TYPE_WinAccountEnterpriseKeyAdminsSid: WELL_KNOWN_SID_TYPE = 114; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyTrustSid: WELL_KNOWN_SID_TYPE = 115; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyPropertyMFASid: WELL_KNOWN_SID_TYPE = 116; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyPropertyAttestationSid: WELL_KNOWN_SID_TYPE = 117; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationFreshKeyAuthSid: WELL_KNOWN_SID_TYPE = 118; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDeviceOwnersSid: WELL_KNOWN_SID_TYPE = 119; +pub type WELL_KNOWN_SID_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL { + pub AclRevision: BYTE, + pub Sbz1: BYTE, + pub AclSize: WORD, + pub AceCount: WORD, + pub Sbz2: WORD, +} +#[test] +fn bindgen_test_layout__ACL() { + const UNINIT: ::std::mem::MaybeUninit<_ACL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL>(), + 8usize, + concat!("Size of: ", stringify!(_ACL)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL>(), + 2usize, + concat!("Alignment of ", stringify!(_ACL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclRevision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AclRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AclSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(Sbz2) + ) + ); +} +pub type ACL = _ACL; +pub type PACL = *mut ACL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACE_HEADER { + pub AceType: BYTE, + pub AceFlags: BYTE, + pub AceSize: WORD, +} +#[test] +fn bindgen_test_layout__ACE_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_ACE_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACE_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_ACE_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_ACE_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_ACE_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceFlags) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceSize) + ) + ); +} +pub type ACE_HEADER = _ACE_HEADER; +pub type PACE_HEADER = *mut ACE_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE; +pub type PACCESS_ALLOWED_ACE = *mut ACCESS_ALLOWED_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE; +pub type PACCESS_DENIED_ACE = *mut ACCESS_DENIED_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE; +pub type PSYSTEM_AUDIT_ACE = *mut SYSTEM_AUDIT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE; +pub type PSYSTEM_ALARM_ACE = *mut SYSTEM_ALARM_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_RESOURCE_ATTRIBUTE_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_RESOURCE_ATTRIBUTE_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_RESOURCE_ATTRIBUTE_ACE = _SYSTEM_RESOURCE_ATTRIBUTE_ACE; +pub type PSYSTEM_RESOURCE_ATTRIBUTE_ACE = *mut _SYSTEM_RESOURCE_ATTRIBUTE_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_SCOPED_POLICY_ID_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_SCOPED_POLICY_ID_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_SCOPED_POLICY_ID_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_SCOPED_POLICY_ID_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_SCOPED_POLICY_ID_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_SCOPED_POLICY_ID_ACE = _SYSTEM_SCOPED_POLICY_ID_ACE; +pub type PSYSTEM_SCOPED_POLICY_ID_ACE = *mut _SYSTEM_SCOPED_POLICY_ID_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_MANDATORY_LABEL_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_MANDATORY_LABEL_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_MANDATORY_LABEL_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_MANDATORY_LABEL_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_MANDATORY_LABEL_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE; +pub type PSYSTEM_MANDATORY_LABEL_ACE = *mut _SYSTEM_MANDATORY_LABEL_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_PROCESS_TRUST_LABEL_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_PROCESS_TRUST_LABEL_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_PROCESS_TRUST_LABEL_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_PROCESS_TRUST_LABEL_ACE = _SYSTEM_PROCESS_TRUST_LABEL_ACE; +pub type PSYSTEM_PROCESS_TRUST_LABEL_ACE = *mut _SYSTEM_PROCESS_TRUST_LABEL_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ACCESS_FILTER_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ACCESS_FILTER_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ACCESS_FILTER_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ACCESS_FILTER_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ACCESS_FILTER_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ACCESS_FILTER_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ACCESS_FILTER_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ACCESS_FILTER_ACE = _SYSTEM_ACCESS_FILTER_ACE; +pub type PSYSTEM_ACCESS_FILTER_ACE = *mut _SYSTEM_ACCESS_FILTER_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE; +pub type PACCESS_ALLOWED_OBJECT_ACE = *mut _ACCESS_ALLOWED_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE; +pub type PACCESS_DENIED_OBJECT_ACE = *mut _ACCESS_DENIED_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE; +pub type PSYSTEM_AUDIT_OBJECT_ACE = *mut _SYSTEM_AUDIT_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE; +pub type PSYSTEM_ALARM_OBJECT_ACE = *mut _SYSTEM_ALARM_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE; +pub type PACCESS_ALLOWED_CALLBACK_ACE = *mut _ACCESS_ALLOWED_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE; +pub type PACCESS_DENIED_CALLBACK_ACE = *mut _ACCESS_DENIED_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_CALLBACK_ACE = _SYSTEM_AUDIT_CALLBACK_ACE; +pub type PSYSTEM_AUDIT_CALLBACK_ACE = *mut _SYSTEM_AUDIT_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_CALLBACK_ACE = _SYSTEM_ALARM_CALLBACK_ACE; +pub type PSYSTEM_ALARM_CALLBACK_ACE = *mut _SYSTEM_ALARM_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; +pub type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = *mut _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_CALLBACK_OBJECT_ACE = _ACCESS_DENIED_CALLBACK_OBJECT_ACE; +pub type PACCESS_DENIED_CALLBACK_OBJECT_ACE = *mut _ACCESS_DENIED_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; +pub type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = *mut _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_CALLBACK_OBJECT_ACE = _SYSTEM_ALARM_CALLBACK_OBJECT_ACE; +pub type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = *mut _SYSTEM_ALARM_CALLBACK_OBJECT_ACE; +pub const _ACL_INFORMATION_CLASS_AclRevisionInformation: _ACL_INFORMATION_CLASS = 1; +pub const _ACL_INFORMATION_CLASS_AclSizeInformation: _ACL_INFORMATION_CLASS = 2; +pub type _ACL_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_ACL_INFORMATION_CLASS as ACL_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL_REVISION_INFORMATION { + pub AclRevision: DWORD, +} +#[test] +fn bindgen_test_layout__ACL_REVISION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACL_REVISION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL_REVISION_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_ACL_REVISION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL_REVISION_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ACL_REVISION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclRevision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL_REVISION_INFORMATION), + "::", + stringify!(AclRevision) + ) + ); +} +pub type ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION; +pub type PACL_REVISION_INFORMATION = *mut ACL_REVISION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL_SIZE_INFORMATION { + pub AceCount: DWORD, + pub AclBytesInUse: DWORD, + pub AclBytesFree: DWORD, +} +#[test] +fn bindgen_test_layout__ACL_SIZE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACL_SIZE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL_SIZE_INFORMATION>(), + 12usize, + concat!("Size of: ", stringify!(_ACL_SIZE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL_SIZE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ACL_SIZE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclBytesInUse) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AclBytesInUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclBytesFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AclBytesFree) + ) + ); +} +pub type ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION; +pub type PACL_SIZE_INFORMATION = *mut ACL_SIZE_INFORMATION; +pub type SECURITY_DESCRIPTOR_CONTROL = WORD; +pub type PSECURITY_DESCRIPTOR_CONTROL = *mut WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_DESCRIPTOR_RELATIVE { + pub Revision: BYTE, + pub Sbz1: BYTE, + pub Control: SECURITY_DESCRIPTOR_CONTROL, + pub Owner: DWORD, + pub Group: DWORD, + pub Sacl: DWORD, + pub Dacl: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_DESCRIPTOR_RELATIVE() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_DESCRIPTOR_RELATIVE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_DESCRIPTOR_RELATIVE>(), + 20usize, + concat!("Size of: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_DESCRIPTOR_RELATIVE>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Owner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sacl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Sacl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dacl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Dacl) + ) + ); +} +pub type SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE; +pub type PISECURITY_DESCRIPTOR_RELATIVE = *mut _SECURITY_DESCRIPTOR_RELATIVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_DESCRIPTOR { + pub Revision: BYTE, + pub Sbz1: BYTE, + pub Control: SECURITY_DESCRIPTOR_CONTROL, + pub Owner: PSID, + pub Group: PSID, + pub Sacl: PACL, + pub Dacl: PACL, +} +#[test] +fn bindgen_test_layout__SECURITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_DESCRIPTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Owner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sacl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Sacl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dacl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Dacl) + ) + ); +} +pub type SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR; +pub type PISECURITY_DESCRIPTOR = *mut _SECURITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_OBJECT_AI_PARAMS { + pub Size: DWORD, + pub ConstraintMask: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_OBJECT_AI_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_OBJECT_AI_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_OBJECT_AI_PARAMS>(), + 8usize, + concat!("Size of: ", stringify!(_SECURITY_OBJECT_AI_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_OBJECT_AI_PARAMS>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_OBJECT_AI_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_OBJECT_AI_PARAMS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConstraintMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_OBJECT_AI_PARAMS), + "::", + stringify!(ConstraintMask) + ) + ); +} +pub type SECURITY_OBJECT_AI_PARAMS = _SECURITY_OBJECT_AI_PARAMS; +pub type PSECURITY_OBJECT_AI_PARAMS = *mut _SECURITY_OBJECT_AI_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OBJECT_TYPE_LIST { + pub Level: WORD, + pub Sbz: WORD, + pub ObjectType: *mut GUID, +} +#[test] +fn bindgen_test_layout__OBJECT_TYPE_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_OBJECT_TYPE_LIST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OBJECT_TYPE_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_OBJECT_TYPE_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_OBJECT_TYPE_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_OBJECT_TYPE_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(Sbz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(ObjectType) + ) + ); +} +pub type OBJECT_TYPE_LIST = _OBJECT_TYPE_LIST; +pub type POBJECT_TYPE_LIST = *mut _OBJECT_TYPE_LIST; +pub const _AUDIT_EVENT_TYPE_AuditEventObjectAccess: _AUDIT_EVENT_TYPE = 0; +pub const _AUDIT_EVENT_TYPE_AuditEventDirectoryServiceAccess: _AUDIT_EVENT_TYPE = 1; +pub type _AUDIT_EVENT_TYPE = ::std::os::raw::c_int; +pub use self::_AUDIT_EVENT_TYPE as AUDIT_EVENT_TYPE; +pub type PAUDIT_EVENT_TYPE = *mut _AUDIT_EVENT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRIVILEGE_SET { + pub PrivilegeCount: DWORD, + pub Control: DWORD, + pub Privilege: [LUID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__PRIVILEGE_SET() { + const UNINIT: ::std::mem::MaybeUninit<_PRIVILEGE_SET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRIVILEGE_SET>(), + 20usize, + concat!("Size of: ", stringify!(_PRIVILEGE_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_PRIVILEGE_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_PRIVILEGE_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privilege) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(Privilege) + ) + ); +} +pub type PRIVILEGE_SET = _PRIVILEGE_SET; +pub type PPRIVILEGE_SET = *mut _PRIVILEGE_SET; +pub const _ACCESS_REASON_TYPE_AccessReasonNone: _ACCESS_REASON_TYPE = 0; +pub const _ACCESS_REASON_TYPE_AccessReasonAllowedAce: _ACCESS_REASON_TYPE = 65536; +pub const _ACCESS_REASON_TYPE_AccessReasonDeniedAce: _ACCESS_REASON_TYPE = 131072; +pub const _ACCESS_REASON_TYPE_AccessReasonAllowedParentAce: _ACCESS_REASON_TYPE = 196608; +pub const _ACCESS_REASON_TYPE_AccessReasonDeniedParentAce: _ACCESS_REASON_TYPE = 262144; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedByCape: _ACCESS_REASON_TYPE = 327680; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedByParentCape: _ACCESS_REASON_TYPE = 393216; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedToAppContainer: _ACCESS_REASON_TYPE = 458752; +pub const _ACCESS_REASON_TYPE_AccessReasonMissingPrivilege: _ACCESS_REASON_TYPE = 1048576; +pub const _ACCESS_REASON_TYPE_AccessReasonFromPrivilege: _ACCESS_REASON_TYPE = 2097152; +pub const _ACCESS_REASON_TYPE_AccessReasonIntegrityLevel: _ACCESS_REASON_TYPE = 3145728; +pub const _ACCESS_REASON_TYPE_AccessReasonOwnership: _ACCESS_REASON_TYPE = 4194304; +pub const _ACCESS_REASON_TYPE_AccessReasonNullDacl: _ACCESS_REASON_TYPE = 5242880; +pub const _ACCESS_REASON_TYPE_AccessReasonEmptyDacl: _ACCESS_REASON_TYPE = 6291456; +pub const _ACCESS_REASON_TYPE_AccessReasonNoSD: _ACCESS_REASON_TYPE = 7340032; +pub const _ACCESS_REASON_TYPE_AccessReasonNoGrant: _ACCESS_REASON_TYPE = 8388608; +pub const _ACCESS_REASON_TYPE_AccessReasonTrustLabel: _ACCESS_REASON_TYPE = 9437184; +pub const _ACCESS_REASON_TYPE_AccessReasonFilterAce: _ACCESS_REASON_TYPE = 10485760; +pub type _ACCESS_REASON_TYPE = ::std::os::raw::c_int; +pub use self::_ACCESS_REASON_TYPE as ACCESS_REASON_TYPE; +pub type ACCESS_REASON = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_REASONS { + pub Data: [ACCESS_REASON; 32usize], +} +#[test] +fn bindgen_test_layout__ACCESS_REASONS() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_REASONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_REASONS>(), + 128usize, + concat!("Size of: ", stringify!(_ACCESS_REASONS)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_REASONS>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_REASONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_REASONS), + "::", + stringify!(Data) + ) + ); +} +pub type ACCESS_REASONS = _ACCESS_REASONS; +pub type PACCESS_REASONS = *mut _ACCESS_REASONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_SECURITY_DESCRIPTOR { + pub Size: DWORD, + pub Flags: DWORD, + pub SecurityDescriptor: PSECURITY_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__SE_SECURITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_SE_SECURITY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_SECURITY_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_SE_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_SECURITY_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type SE_SECURITY_DESCRIPTOR = _SE_SECURITY_DESCRIPTOR; +pub type PSE_SECURITY_DESCRIPTOR = *mut _SE_SECURITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_ACCESS_REQUEST { + pub Size: DWORD, + pub SeSecurityDescriptor: PSE_SECURITY_DESCRIPTOR, + pub DesiredAccess: ACCESS_MASK, + pub PreviouslyGrantedAccess: ACCESS_MASK, + pub PrincipalSelfSid: PSID, + pub GenericMapping: PGENERIC_MAPPING, + pub ObjectTypeListCount: DWORD, + pub ObjectTypeList: POBJECT_TYPE_LIST, +} +#[test] +fn bindgen_test_layout__SE_ACCESS_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SE_ACCESS_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_ACCESS_REQUEST>(), + 56usize, + concat!("Size of: ", stringify!(_SE_ACCESS_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_ACCESS_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_ACCESS_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SeSecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(SeSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(DesiredAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreviouslyGrantedAccess) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(PreviouslyGrantedAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrincipalSelfSid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(PrincipalSelfSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericMapping) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(GenericMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectTypeListCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(ObjectTypeListCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectTypeList) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(ObjectTypeList) + ) + ); +} +pub type SE_ACCESS_REQUEST = _SE_ACCESS_REQUEST; +pub type PSE_ACCESS_REQUEST = *mut _SE_ACCESS_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_ACCESS_REPLY { + pub Size: DWORD, + pub ResultListCount: DWORD, + pub GrantedAccess: PACCESS_MASK, + pub AccessStatus: PDWORD, + pub AccessReason: PACCESS_REASONS, + pub Privileges: *mut PPRIVILEGE_SET, +} +#[test] +fn bindgen_test_layout__SE_ACCESS_REPLY() { + const UNINIT: ::std::mem::MaybeUninit<_SE_ACCESS_REPLY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_ACCESS_REPLY>(), + 40usize, + concat!("Size of: ", stringify!(_SE_ACCESS_REPLY)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_ACCESS_REPLY>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_ACCESS_REPLY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResultListCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(ResultListCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GrantedAccess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(GrantedAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(AccessStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessReason) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(AccessReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(Privileges) + ) + ); +} +pub type SE_ACCESS_REPLY = _SE_ACCESS_REPLY; +pub type PSE_ACCESS_REPLY = *mut _SE_ACCESS_REPLY; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityAnonymous: _SECURITY_IMPERSONATION_LEVEL = 0; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityIdentification: _SECURITY_IMPERSONATION_LEVEL = 1; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityImpersonation: _SECURITY_IMPERSONATION_LEVEL = 2; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityDelegation: _SECURITY_IMPERSONATION_LEVEL = 3; +pub type _SECURITY_IMPERSONATION_LEVEL = ::std::os::raw::c_int; +pub use self::_SECURITY_IMPERSONATION_LEVEL as SECURITY_IMPERSONATION_LEVEL; +pub type PSECURITY_IMPERSONATION_LEVEL = *mut _SECURITY_IMPERSONATION_LEVEL; +pub const _TOKEN_TYPE_TokenPrimary: _TOKEN_TYPE = 1; +pub const _TOKEN_TYPE_TokenImpersonation: _TOKEN_TYPE = 2; +pub type _TOKEN_TYPE = ::std::os::raw::c_int; +pub use self::_TOKEN_TYPE as TOKEN_TYPE; +pub type PTOKEN_TYPE = *mut TOKEN_TYPE; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeDefault: _TOKEN_ELEVATION_TYPE = 1; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeFull: _TOKEN_ELEVATION_TYPE = 2; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeLimited: _TOKEN_ELEVATION_TYPE = 3; +pub type _TOKEN_ELEVATION_TYPE = ::std::os::raw::c_int; +pub use self::_TOKEN_ELEVATION_TYPE as TOKEN_ELEVATION_TYPE; +pub type PTOKEN_ELEVATION_TYPE = *mut _TOKEN_ELEVATION_TYPE; +pub const _TOKEN_INFORMATION_CLASS_TokenUser: _TOKEN_INFORMATION_CLASS = 1; +pub const _TOKEN_INFORMATION_CLASS_TokenGroups: _TOKEN_INFORMATION_CLASS = 2; +pub const _TOKEN_INFORMATION_CLASS_TokenPrivileges: _TOKEN_INFORMATION_CLASS = 3; +pub const _TOKEN_INFORMATION_CLASS_TokenOwner: _TOKEN_INFORMATION_CLASS = 4; +pub const _TOKEN_INFORMATION_CLASS_TokenPrimaryGroup: _TOKEN_INFORMATION_CLASS = 5; +pub const _TOKEN_INFORMATION_CLASS_TokenDefaultDacl: _TOKEN_INFORMATION_CLASS = 6; +pub const _TOKEN_INFORMATION_CLASS_TokenSource: _TOKEN_INFORMATION_CLASS = 7; +pub const _TOKEN_INFORMATION_CLASS_TokenType: _TOKEN_INFORMATION_CLASS = 8; +pub const _TOKEN_INFORMATION_CLASS_TokenImpersonationLevel: _TOKEN_INFORMATION_CLASS = 9; +pub const _TOKEN_INFORMATION_CLASS_TokenStatistics: _TOKEN_INFORMATION_CLASS = 10; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedSids: _TOKEN_INFORMATION_CLASS = 11; +pub const _TOKEN_INFORMATION_CLASS_TokenSessionId: _TOKEN_INFORMATION_CLASS = 12; +pub const _TOKEN_INFORMATION_CLASS_TokenGroupsAndPrivileges: _TOKEN_INFORMATION_CLASS = 13; +pub const _TOKEN_INFORMATION_CLASS_TokenSessionReference: _TOKEN_INFORMATION_CLASS = 14; +pub const _TOKEN_INFORMATION_CLASS_TokenSandBoxInert: _TOKEN_INFORMATION_CLASS = 15; +pub const _TOKEN_INFORMATION_CLASS_TokenAuditPolicy: _TOKEN_INFORMATION_CLASS = 16; +pub const _TOKEN_INFORMATION_CLASS_TokenOrigin: _TOKEN_INFORMATION_CLASS = 17; +pub const _TOKEN_INFORMATION_CLASS_TokenElevationType: _TOKEN_INFORMATION_CLASS = 18; +pub const _TOKEN_INFORMATION_CLASS_TokenLinkedToken: _TOKEN_INFORMATION_CLASS = 19; +pub const _TOKEN_INFORMATION_CLASS_TokenElevation: _TOKEN_INFORMATION_CLASS = 20; +pub const _TOKEN_INFORMATION_CLASS_TokenHasRestrictions: _TOKEN_INFORMATION_CLASS = 21; +pub const _TOKEN_INFORMATION_CLASS_TokenAccessInformation: _TOKEN_INFORMATION_CLASS = 22; +pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationAllowed: _TOKEN_INFORMATION_CLASS = 23; +pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationEnabled: _TOKEN_INFORMATION_CLASS = 24; +pub const _TOKEN_INFORMATION_CLASS_TokenIntegrityLevel: _TOKEN_INFORMATION_CLASS = 25; +pub const _TOKEN_INFORMATION_CLASS_TokenUIAccess: _TOKEN_INFORMATION_CLASS = 26; +pub const _TOKEN_INFORMATION_CLASS_TokenMandatoryPolicy: _TOKEN_INFORMATION_CLASS = 27; +pub const _TOKEN_INFORMATION_CLASS_TokenLogonSid: _TOKEN_INFORMATION_CLASS = 28; +pub const _TOKEN_INFORMATION_CLASS_TokenIsAppContainer: _TOKEN_INFORMATION_CLASS = 29; +pub const _TOKEN_INFORMATION_CLASS_TokenCapabilities: _TOKEN_INFORMATION_CLASS = 30; +pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerSid: _TOKEN_INFORMATION_CLASS = 31; +pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerNumber: _TOKEN_INFORMATION_CLASS = 32; +pub const _TOKEN_INFORMATION_CLASS_TokenUserClaimAttributes: _TOKEN_INFORMATION_CLASS = 33; +pub const _TOKEN_INFORMATION_CLASS_TokenDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = 34; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedUserClaimAttributes: _TOKEN_INFORMATION_CLASS = + 35; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = + 36; +pub const _TOKEN_INFORMATION_CLASS_TokenDeviceGroups: _TOKEN_INFORMATION_CLASS = 37; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceGroups: _TOKEN_INFORMATION_CLASS = 38; +pub const _TOKEN_INFORMATION_CLASS_TokenSecurityAttributes: _TOKEN_INFORMATION_CLASS = 39; +pub const _TOKEN_INFORMATION_CLASS_TokenIsRestricted: _TOKEN_INFORMATION_CLASS = 40; +pub const _TOKEN_INFORMATION_CLASS_TokenProcessTrustLevel: _TOKEN_INFORMATION_CLASS = 41; +pub const _TOKEN_INFORMATION_CLASS_TokenPrivateNameSpace: _TOKEN_INFORMATION_CLASS = 42; +pub const _TOKEN_INFORMATION_CLASS_TokenSingletonAttributes: _TOKEN_INFORMATION_CLASS = 43; +pub const _TOKEN_INFORMATION_CLASS_TokenBnoIsolation: _TOKEN_INFORMATION_CLASS = 44; +pub const _TOKEN_INFORMATION_CLASS_TokenChildProcessFlags: _TOKEN_INFORMATION_CLASS = 45; +pub const _TOKEN_INFORMATION_CLASS_TokenIsLessPrivilegedAppContainer: _TOKEN_INFORMATION_CLASS = 46; +pub const _TOKEN_INFORMATION_CLASS_TokenIsSandboxed: _TOKEN_INFORMATION_CLASS = 47; +pub const _TOKEN_INFORMATION_CLASS_MaxTokenInfoClass: _TOKEN_INFORMATION_CLASS = 48; +pub type _TOKEN_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TOKEN_INFORMATION_CLASS as TOKEN_INFORMATION_CLASS; +pub type PTOKEN_INFORMATION_CLASS = *mut _TOKEN_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_USER { + pub User: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__TOKEN_USER() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_USER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_USER>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_USER)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_USER>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_USER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_USER), + "::", + stringify!(User) + ) + ); +} +pub type TOKEN_USER = _TOKEN_USER; +pub type PTOKEN_USER = *mut _TOKEN_USER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SE_TOKEN_USER { + pub __bindgen_anon_1: _SE_TOKEN_USER__bindgen_ty_1, + pub __bindgen_anon_2: _SE_TOKEN_USER__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_TOKEN_USER__bindgen_ty_1 { + pub TokenUser: TOKEN_USER, + pub User: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SE_TOKEN_USER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenUser) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_1), + "::", + stringify!(TokenUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_1), + "::", + stringify!(User) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_TOKEN_USER__bindgen_ty_2 { + pub Sid: SID, + pub Buffer: [BYTE; 68usize], +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_SE_TOKEN_USER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER__bindgen_ty_2>(), + 68usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_2), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_2), + "::", + stringify!(Buffer) + ) + ); +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER() { + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER>(), + 88usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER)) + ); +} +pub type SE_TOKEN_USER = _SE_TOKEN_USER; +pub type PSE_TOKEN_USER = _SE_TOKEN_USER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_GROUPS { + pub GroupCount: DWORD, + pub Groups: [SID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__TOKEN_GROUPS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_GROUPS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_GROUPS>(), + 24usize, + concat!("Size of: ", stringify!(_TOKEN_GROUPS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_GROUPS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_GROUPS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Groups) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS), + "::", + stringify!(Groups) + ) + ); +} +pub type TOKEN_GROUPS = _TOKEN_GROUPS; +pub type PTOKEN_GROUPS = *mut _TOKEN_GROUPS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_PRIVILEGES { + pub PrivilegeCount: DWORD, + pub Privileges: [LUID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__TOKEN_PRIVILEGES() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_PRIVILEGES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_PRIVILEGES>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_PRIVILEGES)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_PRIVILEGES>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_PRIVILEGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIVILEGES), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIVILEGES), + "::", + stringify!(Privileges) + ) + ); +} +pub type TOKEN_PRIVILEGES = _TOKEN_PRIVILEGES; +pub type PTOKEN_PRIVILEGES = *mut _TOKEN_PRIVILEGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_OWNER { + pub Owner: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_OWNER() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_OWNER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_OWNER>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_OWNER)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_OWNER>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_OWNER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_OWNER), + "::", + stringify!(Owner) + ) + ); +} +pub type TOKEN_OWNER = _TOKEN_OWNER; +pub type PTOKEN_OWNER = *mut _TOKEN_OWNER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_PRIMARY_GROUP { + pub PrimaryGroup: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_PRIMARY_GROUP() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_PRIMARY_GROUP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_PRIMARY_GROUP>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_PRIMARY_GROUP)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_PRIMARY_GROUP>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_PRIMARY_GROUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryGroup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIMARY_GROUP), + "::", + stringify!(PrimaryGroup) + ) + ); +} +pub type TOKEN_PRIMARY_GROUP = _TOKEN_PRIMARY_GROUP; +pub type PTOKEN_PRIMARY_GROUP = *mut _TOKEN_PRIMARY_GROUP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_DEFAULT_DACL { + pub DefaultDacl: PACL, +} +#[test] +fn bindgen_test_layout__TOKEN_DEFAULT_DACL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_DEFAULT_DACL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_DEFAULT_DACL>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_DEFAULT_DACL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_DEFAULT_DACL>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_DEFAULT_DACL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultDacl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_DEFAULT_DACL), + "::", + stringify!(DefaultDacl) + ) + ); +} +pub type TOKEN_DEFAULT_DACL = _TOKEN_DEFAULT_DACL; +pub type PTOKEN_DEFAULT_DACL = *mut _TOKEN_DEFAULT_DACL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_USER_CLAIMS { + pub UserClaims: PCLAIMS_BLOB, +} +#[test] +fn bindgen_test_layout__TOKEN_USER_CLAIMS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_USER_CLAIMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_USER_CLAIMS>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_USER_CLAIMS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_USER_CLAIMS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_USER_CLAIMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserClaims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_USER_CLAIMS), + "::", + stringify!(UserClaims) + ) + ); +} +pub type TOKEN_USER_CLAIMS = _TOKEN_USER_CLAIMS; +pub type PTOKEN_USER_CLAIMS = *mut _TOKEN_USER_CLAIMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_DEVICE_CLAIMS { + pub DeviceClaims: PCLAIMS_BLOB, +} +#[test] +fn bindgen_test_layout__TOKEN_DEVICE_CLAIMS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_DEVICE_CLAIMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_DEVICE_CLAIMS>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_DEVICE_CLAIMS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_DEVICE_CLAIMS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_DEVICE_CLAIMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceClaims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_DEVICE_CLAIMS), + "::", + stringify!(DeviceClaims) + ) + ); +} +pub type TOKEN_DEVICE_CLAIMS = _TOKEN_DEVICE_CLAIMS; +pub type PTOKEN_DEVICE_CLAIMS = *mut _TOKEN_DEVICE_CLAIMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_GROUPS_AND_PRIVILEGES { + pub SidCount: DWORD, + pub SidLength: DWORD, + pub Sids: PSID_AND_ATTRIBUTES, + pub RestrictedSidCount: DWORD, + pub RestrictedSidLength: DWORD, + pub RestrictedSids: PSID_AND_ATTRIBUTES, + pub PrivilegeCount: DWORD, + pub PrivilegeLength: DWORD, + pub Privileges: PLUID_AND_ATTRIBUTES, + pub AuthenticationId: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_GROUPS_AND_PRIVILEGES() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_GROUPS_AND_PRIVILEGES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_GROUPS_AND_PRIVILEGES>(), + 56usize, + concat!("Size of: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_GROUPS_AND_PRIVILEGES>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(SidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(SidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sids) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(Sids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSids) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(PrivilegeLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(Privileges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(AuthenticationId) + ) + ); +} +pub type TOKEN_GROUPS_AND_PRIVILEGES = _TOKEN_GROUPS_AND_PRIVILEGES; +pub type PTOKEN_GROUPS_AND_PRIVILEGES = *mut _TOKEN_GROUPS_AND_PRIVILEGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_LINKED_TOKEN { + pub LinkedToken: HANDLE, +} +#[test] +fn bindgen_test_layout__TOKEN_LINKED_TOKEN() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_LINKED_TOKEN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_LINKED_TOKEN>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_LINKED_TOKEN)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_LINKED_TOKEN>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_LINKED_TOKEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LinkedToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_LINKED_TOKEN), + "::", + stringify!(LinkedToken) + ) + ); +} +pub type TOKEN_LINKED_TOKEN = _TOKEN_LINKED_TOKEN; +pub type PTOKEN_LINKED_TOKEN = *mut _TOKEN_LINKED_TOKEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ELEVATION { + pub TokenIsElevated: DWORD, +} +#[test] +fn bindgen_test_layout__TOKEN_ELEVATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ELEVATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ELEVATION>(), + 4usize, + concat!("Size of: ", stringify!(_TOKEN_ELEVATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ELEVATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_ELEVATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenIsElevated) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ELEVATION), + "::", + stringify!(TokenIsElevated) + ) + ); +} +pub type TOKEN_ELEVATION = _TOKEN_ELEVATION; +pub type PTOKEN_ELEVATION = *mut _TOKEN_ELEVATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_MANDATORY_LABEL { + pub Label: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__TOKEN_MANDATORY_LABEL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_MANDATORY_LABEL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_MANDATORY_LABEL>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_MANDATORY_LABEL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_MANDATORY_LABEL>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_MANDATORY_LABEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Label) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_MANDATORY_LABEL), + "::", + stringify!(Label) + ) + ); +} +pub type TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL; +pub type PTOKEN_MANDATORY_LABEL = *mut _TOKEN_MANDATORY_LABEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_MANDATORY_POLICY { + pub Policy: DWORD, +} +#[test] +fn bindgen_test_layout__TOKEN_MANDATORY_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_MANDATORY_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_MANDATORY_POLICY>(), + 4usize, + concat!("Size of: ", stringify!(_TOKEN_MANDATORY_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_MANDATORY_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_MANDATORY_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_MANDATORY_POLICY), + "::", + stringify!(Policy) + ) + ); +} +pub type TOKEN_MANDATORY_POLICY = _TOKEN_MANDATORY_POLICY; +pub type PTOKEN_MANDATORY_POLICY = *mut _TOKEN_MANDATORY_POLICY; +pub type PSECURITY_ATTRIBUTES_OPAQUE = PVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ACCESS_INFORMATION { + pub SidHash: PSID_AND_ATTRIBUTES_HASH, + pub RestrictedSidHash: PSID_AND_ATTRIBUTES_HASH, + pub Privileges: PTOKEN_PRIVILEGES, + pub AuthenticationId: LUID, + pub TokenType: TOKEN_TYPE, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub MandatoryPolicy: TOKEN_MANDATORY_POLICY, + pub Flags: DWORD, + pub AppContainerNumber: DWORD, + pub PackageSid: PSID, + pub CapabilitiesHash: PSID_AND_ATTRIBUTES_HASH, + pub TrustLevelSid: PSID, + pub SecurityAttributes: PSECURITY_ATTRIBUTES_OPAQUE, +} +#[test] +fn bindgen_test_layout__TOKEN_ACCESS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ACCESS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ACCESS_INFORMATION>(), + 88usize, + concat!("Size of: ", stringify!(_TOKEN_ACCESS_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ACCESS_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_ACCESS_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidHash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(SidHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidHash) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(RestrictedSidHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(Privileges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MandatoryPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(MandatoryPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppContainerNumber) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(AppContainerNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PackageSid) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(PackageSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CapabilitiesHash) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(CapabilitiesHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustLevelSid) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(TrustLevelSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityAttributes) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(SecurityAttributes) + ) + ); +} +pub type TOKEN_ACCESS_INFORMATION = _TOKEN_ACCESS_INFORMATION; +pub type PTOKEN_ACCESS_INFORMATION = *mut _TOKEN_ACCESS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_AUDIT_POLICY { + pub PerUserPolicy: [BYTE; 30usize], +} +#[test] +fn bindgen_test_layout__TOKEN_AUDIT_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_AUDIT_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_AUDIT_POLICY>(), + 30usize, + concat!("Size of: ", stringify!(_TOKEN_AUDIT_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_AUDIT_POLICY>(), + 1usize, + concat!("Alignment of ", stringify!(_TOKEN_AUDIT_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerUserPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_AUDIT_POLICY), + "::", + stringify!(PerUserPolicy) + ) + ); +} +pub type TOKEN_AUDIT_POLICY = _TOKEN_AUDIT_POLICY; +pub type PTOKEN_AUDIT_POLICY = *mut _TOKEN_AUDIT_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_SOURCE { + pub SourceName: [CHAR; 8usize], + pub SourceIdentifier: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_SOURCE() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_SOURCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_SOURCE>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_SOURCE)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_SOURCE>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_SOURCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SOURCE), + "::", + stringify!(SourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SOURCE), + "::", + stringify!(SourceIdentifier) + ) + ); +} +pub type TOKEN_SOURCE = _TOKEN_SOURCE; +pub type PTOKEN_SOURCE = *mut _TOKEN_SOURCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TOKEN_STATISTICS { + pub TokenId: LUID, + pub AuthenticationId: LUID, + pub ExpirationTime: LARGE_INTEGER, + pub TokenType: TOKEN_TYPE, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub DynamicCharged: DWORD, + pub DynamicAvailable: DWORD, + pub GroupCount: DWORD, + pub PrivilegeCount: DWORD, + pub ModifiedId: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_STATISTICS>(), + 56usize, + concat!("Size of: ", stringify!(_TOKEN_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_STATISTICS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(TokenId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpirationTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ExpirationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicCharged) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(DynamicCharged) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicAvailable) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(DynamicAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModifiedId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ModifiedId) + ) + ); +} +pub type TOKEN_STATISTICS = _TOKEN_STATISTICS; +pub type PTOKEN_STATISTICS = *mut _TOKEN_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_CONTROL { + pub TokenId: LUID, + pub AuthenticationId: LUID, + pub ModifiedId: LUID, + pub TokenSource: TOKEN_SOURCE, +} +#[test] +fn bindgen_test_layout__TOKEN_CONTROL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_CONTROL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_CONTROL>(), + 40usize, + concat!("Size of: ", stringify!(_TOKEN_CONTROL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_CONTROL>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_CONTROL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(TokenId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModifiedId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(ModifiedId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenSource) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(TokenSource) + ) + ); +} +pub type TOKEN_CONTROL = _TOKEN_CONTROL; +pub type PTOKEN_CONTROL = *mut _TOKEN_CONTROL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ORIGIN { + pub OriginatingLogonSession: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_ORIGIN() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ORIGIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ORIGIN>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_ORIGIN)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ORIGIN>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_ORIGIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatingLogonSession) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ORIGIN), + "::", + stringify!(OriginatingLogonSession) + ) + ); +} +pub type TOKEN_ORIGIN = _TOKEN_ORIGIN; +pub type PTOKEN_ORIGIN = *mut _TOKEN_ORIGIN; +pub const _MANDATORY_LEVEL_MandatoryLevelUntrusted: _MANDATORY_LEVEL = 0; +pub const _MANDATORY_LEVEL_MandatoryLevelLow: _MANDATORY_LEVEL = 1; +pub const _MANDATORY_LEVEL_MandatoryLevelMedium: _MANDATORY_LEVEL = 2; +pub const _MANDATORY_LEVEL_MandatoryLevelHigh: _MANDATORY_LEVEL = 3; +pub const _MANDATORY_LEVEL_MandatoryLevelSystem: _MANDATORY_LEVEL = 4; +pub const _MANDATORY_LEVEL_MandatoryLevelSecureProcess: _MANDATORY_LEVEL = 5; +pub const _MANDATORY_LEVEL_MandatoryLevelCount: _MANDATORY_LEVEL = 6; +pub type _MANDATORY_LEVEL = ::std::os::raw::c_int; +pub use self::_MANDATORY_LEVEL as MANDATORY_LEVEL; +pub type PMANDATORY_LEVEL = *mut _MANDATORY_LEVEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_APPCONTAINER_INFORMATION { + pub TokenAppContainer: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_APPCONTAINER_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_APPCONTAINER_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_APPCONTAINER_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_APPCONTAINER_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_APPCONTAINER_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_APPCONTAINER_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenAppContainer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_APPCONTAINER_INFORMATION), + "::", + stringify!(TokenAppContainer) + ) + ); +} +pub type TOKEN_APPCONTAINER_INFORMATION = _TOKEN_APPCONTAINER_INFORMATION; +pub type PTOKEN_APPCONTAINER_INFORMATION = *mut _TOKEN_APPCONTAINER_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_SID_INFORMATION { + pub Sid: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_SID_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_SID_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_SID_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_SID_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_SID_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_SID_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SID_INFORMATION), + "::", + stringify!(Sid) + ) + ); +} +pub type TOKEN_SID_INFORMATION = _TOKEN_SID_INFORMATION; +pub type PTOKEN_SID_INFORMATION = *mut _TOKEN_SID_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_BNO_ISOLATION_INFORMATION { + pub IsolationPrefix: PWSTR, + pub IsolationEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TOKEN_BNO_ISOLATION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_BNO_ISOLATION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_BNO_ISOLATION_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_BNO_ISOLATION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_BNO_ISOLATION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationPrefix) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION), + "::", + stringify!(IsolationPrefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationEnabled) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION), + "::", + stringify!(IsolationEnabled) + ) + ); +} +pub type TOKEN_BNO_ISOLATION_INFORMATION = _TOKEN_BNO_ISOLATION_INFORMATION; +pub type PTOKEN_BNO_ISOLATION_INFORMATION = *mut _TOKEN_BNO_ISOLATION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { + pub Version: DWORD64, + pub Name: PWSTR, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE), + "::", + stringify!(Name) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; +pub type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = *mut _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { + pub pValue: PVOID, + pub ValueLength: DWORD, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), + "::", + stringify!(pValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), + "::", + stringify!(ValueLength) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; +pub type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = + *mut _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_V1 { + pub Name: PWSTR, + pub ValueType: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ValueCount: DWORD, + pub Values: _CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1 { + pub pInt64: PLONG64, + pub pUint64: PDWORD64, + pub ppString: *mut PWSTR, + pub pFqbn: PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, + pub pOctetString: PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUint64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pUint64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(ppString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFqbn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pFqbn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOctetString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pOctetString) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_V1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_V1>(), + 32usize, + concat!("Size of: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(ValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(ValueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Values) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Values) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_V1 = _CLAIM_SECURITY_ATTRIBUTE_V1; +pub type PCLAIM_SECURITY_ATTRIBUTE_V1 = *mut _CLAIM_SECURITY_ATTRIBUTE_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { + pub Name: DWORD, + pub ValueType: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ValueCount: DWORD, + pub Values: _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1 { + pub pInt64: [DWORD; 1usize], + pub pUint64: [DWORD; 1usize], + pub ppString: [DWORD; 1usize], + pub pFqbn: [DWORD; 1usize], + pub pOctetString: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUint64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pUint64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(ppString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFqbn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pFqbn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOctetString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pOctetString) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>(), + 20usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(ValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(ValueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Values) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Values) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; +pub type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = *mut _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION { + pub Version: WORD, + pub Reserved: WORD, + pub AttributeCount: DWORD, + pub Attribute: _CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1 { + pub pAttributeV1: PCLAIM_SECURITY_ATTRIBUTE_V1, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAttributeV1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1), + "::", + stringify!(pAttributeV1) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(AttributeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Attribute) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTES_INFORMATION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION; +pub type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = *mut _CLAIM_SECURITY_ATTRIBUTES_INFORMATION; +pub type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN; +pub type PSECURITY_CONTEXT_TRACKING_MODE = *mut BOOLEAN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_QUALITY_OF_SERVICE { + pub Length: DWORD, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub ContextTrackingMode: SECURITY_CONTEXT_TRACKING_MODE, + pub EffectiveOnly: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SECURITY_QUALITY_OF_SERVICE() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_QUALITY_OF_SERVICE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_QUALITY_OF_SERVICE>(), + 12usize, + concat!("Size of: ", stringify!(_SECURITY_QUALITY_OF_SERVICE)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_QUALITY_OF_SERVICE>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_QUALITY_OF_SERVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextTrackingMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(ContextTrackingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type SECURITY_QUALITY_OF_SERVICE = _SECURITY_QUALITY_OF_SERVICE; +pub type PSECURITY_QUALITY_OF_SERVICE = *mut _SECURITY_QUALITY_OF_SERVICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_IMPERSONATION_STATE { + pub Token: PACCESS_TOKEN, + pub CopyOnOpen: BOOLEAN, + pub EffectiveOnly: BOOLEAN, + pub Level: SECURITY_IMPERSONATION_LEVEL, +} +#[test] +fn bindgen_test_layout__SE_IMPERSONATION_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_SE_IMPERSONATION_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_IMPERSONATION_STATE>(), + 16usize, + concat!("Size of: ", stringify!(_SE_IMPERSONATION_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_IMPERSONATION_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_IMPERSONATION_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(Token) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyOnOpen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(CopyOnOpen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(Level) + ) + ); +} +pub type SE_IMPERSONATION_STATE = _SE_IMPERSONATION_STATE; +pub type PSE_IMPERSONATION_STATE = *mut _SE_IMPERSONATION_STATE; +pub type SECURITY_INFORMATION = DWORD; +pub type PSECURITY_INFORMATION = *mut DWORD; +pub type SE_SIGNING_LEVEL = BYTE; +pub type PSE_SIGNING_LEVEL = *mut BYTE; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureNone: _SE_IMAGE_SIGNATURE_TYPE = 0; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureEmbedded: _SE_IMAGE_SIGNATURE_TYPE = 1; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCache: _SE_IMAGE_SIGNATURE_TYPE = 2; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogCached: _SE_IMAGE_SIGNATURE_TYPE = 3; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogNotCached: _SE_IMAGE_SIGNATURE_TYPE = 4; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogHint: _SE_IMAGE_SIGNATURE_TYPE = 5; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignaturePackageCatalog: _SE_IMAGE_SIGNATURE_TYPE = 6; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignaturePplMitigated: _SE_IMAGE_SIGNATURE_TYPE = 7; +pub type _SE_IMAGE_SIGNATURE_TYPE = ::std::os::raw::c_int; +pub use self::_SE_IMAGE_SIGNATURE_TYPE as SE_IMAGE_SIGNATURE_TYPE; +pub type PSE_IMAGE_SIGNATURE_TYPE = *mut _SE_IMAGE_SIGNATURE_TYPE; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeInvalidType: _SE_LEARNING_MODE_DATA_TYPE = 0; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeSettings: _SE_LEARNING_MODE_DATA_TYPE = 1; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeMax: _SE_LEARNING_MODE_DATA_TYPE = 2; +pub type _SE_LEARNING_MODE_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_SE_LEARNING_MODE_DATA_TYPE as SE_LEARNING_MODE_DATA_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_CAPABILITIES { + pub AppContainerSid: PSID, + pub Capabilities: PSID_AND_ATTRIBUTES, + pub CapabilityCount: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_CAPABILITIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_CAPABILITIES>(), + 24usize, + concat!("Size of: ", stringify!(_SECURITY_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_CAPABILITIES>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppContainerSid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(AppContainerSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CapabilityCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(CapabilityCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(Reserved) + ) + ); +} +pub type SECURITY_CAPABILITIES = _SECURITY_CAPABILITIES; +pub type PSECURITY_CAPABILITIES = *mut _SECURITY_CAPABILITIES; +pub type LPSECURITY_CAPABILITIES = *mut _SECURITY_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_SET_ARRAY { + pub JobHandle: HANDLE, + pub MemberLevel: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_SET_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_SET_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_SET_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_JOB_SET_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_SET_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_SET_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(JobHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemberLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(MemberLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(Flags) + ) + ); +} +pub type JOB_SET_ARRAY = _JOB_SET_ARRAY; +pub type PJOB_SET_ARRAY = *mut _JOB_SET_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_REGISTRATION_RECORD { + pub Next: *mut _EXCEPTION_REGISTRATION_RECORD, + pub Handler: PEXCEPTION_ROUTINE, +} +#[test] +fn bindgen_test_layout__EXCEPTION_REGISTRATION_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_REGISTRATION_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_REGISTRATION_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_EXCEPTION_REGISTRATION_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_REGISTRATION_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_REGISTRATION_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_REGISTRATION_RECORD), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handler) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_REGISTRATION_RECORD), + "::", + stringify!(Handler) + ) + ); +} +pub type EXCEPTION_REGISTRATION_RECORD = _EXCEPTION_REGISTRATION_RECORD; +pub type PEXCEPTION_REGISTRATION_RECORD = *mut EXCEPTION_REGISTRATION_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB { + pub ExceptionList: *mut _EXCEPTION_REGISTRATION_RECORD, + pub StackBase: PVOID, + pub StackLimit: PVOID, + pub SubSystemTib: PVOID, + pub __bindgen_anon_1: _NT_TIB__bindgen_ty_1, + pub ArbitraryUserPointer: PVOID, + pub Self_: *mut _NT_TIB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB__bindgen_ty_1 { + pub FiberData: PVOID, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NT_TIB__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB>(), + 56usize, + concat!("Size of: ", stringify!(_NT_TIB)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB = _NT_TIB; +pub type PNT_TIB = *mut NT_TIB; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB32 { + pub ExceptionList: DWORD, + pub StackBase: DWORD, + pub StackLimit: DWORD, + pub SubSystemTib: DWORD, + pub __bindgen_anon_1: _NT_TIB32__bindgen_ty_1, + pub ArbitraryUserPointer: DWORD, + pub Self_: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB32__bindgen_ty_1 { + pub FiberData: DWORD, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB32__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NT_TIB32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB32__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NT_TIB32__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB32() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB32>(), + 28usize, + concat!("Size of: ", stringify!(_NT_TIB32)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB32>(), + 4usize, + concat!("Alignment of ", stringify!(_NT_TIB32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB32 = _NT_TIB32; +pub type PNT_TIB32 = *mut _NT_TIB32; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB64 { + pub ExceptionList: DWORD64, + pub StackBase: DWORD64, + pub StackLimit: DWORD64, + pub SubSystemTib: DWORD64, + pub __bindgen_anon_1: _NT_TIB64__bindgen_ty_1, + pub ArbitraryUserPointer: DWORD64, + pub Self_: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB64__bindgen_ty_1 { + pub FiberData: DWORD64, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB64__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NT_TIB64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB64__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB64__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB64() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB64>(), + 56usize, + concat!("Size of: ", stringify!(_NT_TIB64)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB64>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB64 = _NT_TIB64; +pub type PNT_TIB64 = *mut _NT_TIB64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_CREATE_THREAD_ATTRIBUTES { + pub UmsVersion: DWORD, + pub UmsContext: PVOID, + pub UmsCompletionList: PVOID, +} +#[test] +fn bindgen_test_layout__UMS_CREATE_THREAD_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_CREATE_THREAD_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_CREATE_THREAD_ATTRIBUTES>(), + 24usize, + concat!("Size of: ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_CREATE_THREAD_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsCompletionList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsCompletionList) + ) + ); +} +pub type UMS_CREATE_THREAD_ATTRIBUTES = _UMS_CREATE_THREAD_ATTRIBUTES; +pub type PUMS_CREATE_THREAD_ATTRIBUTES = *mut _UMS_CREATE_THREAD_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMPONENT_FILTER { + pub ComponentFlags: DWORD, +} +#[test] +fn bindgen_test_layout__COMPONENT_FILTER() { + const UNINIT: ::std::mem::MaybeUninit<_COMPONENT_FILTER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMPONENT_FILTER>(), + 4usize, + concat!("Size of: ", stringify!(_COMPONENT_FILTER)) + ); + assert_eq!( + ::std::mem::align_of::<_COMPONENT_FILTER>(), + 4usize, + concat!("Alignment of ", stringify!(_COMPONENT_FILTER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComponentFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMPONENT_FILTER), + "::", + stringify!(ComponentFlags) + ) + ); +} +pub type COMPONENT_FILTER = _COMPONENT_FILTER; +pub type PCOMPONENT_FILTER = *mut _COMPONENT_FILTER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET { + pub TargetAddress: ULONG_PTR, + pub Flags: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_EH_CONTINUATION_TARGET() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET), + "::", + stringify!(TargetAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET), + "::", + stringify!(Flags) + ) + ); +} +pub type PROCESS_DYNAMIC_EH_CONTINUATION_TARGET = _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET; +pub type PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET = *mut _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION { + pub NumberOfTargets: WORD, + pub Reserved: WORD, + pub Reserved2: DWORD, + pub Targets: PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTargets) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(NumberOfTargets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Targets) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Targets) + ) + ); +} +pub type PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION = + _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; +pub type PPROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION = + *mut _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE { + pub BaseAddress: ULONG_PTR, + pub Size: SIZE_T, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(Flags) + ) + ); +} +pub type PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE = _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE; +pub type PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE = *mut _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION { + pub NumberOfRanges: WORD, + pub Reserved: WORD, + pub Reserved2: DWORD, + pub Ranges: PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(NumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Ranges) + ) + ); +} +pub type PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION = + _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION; +pub type PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION = + *mut _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUOTA_LIMITS { + pub PagedPoolLimit: SIZE_T, + pub NonPagedPoolLimit: SIZE_T, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub PagefileLimit: SIZE_T, + pub TimeLimit: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__QUOTA_LIMITS() { + const UNINIT: ::std::mem::MaybeUninit<_QUOTA_LIMITS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUOTA_LIMITS>(), + 48usize, + concat!("Size of: ", stringify!(_QUOTA_LIMITS)) + ); + assert_eq!( + ::std::mem::align_of::<_QUOTA_LIMITS>(), + 8usize, + concat!("Alignment of ", stringify!(_QUOTA_LIMITS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagedPoolLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(PagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonPagedPoolLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(NonPagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagefileLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(PagefileLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(TimeLimit) + ) + ); +} +pub type QUOTA_LIMITS = _QUOTA_LIMITS; +pub type PQUOTA_LIMITS = *mut _QUOTA_LIMITS; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RATE_QUOTA_LIMIT { + pub RateData: DWORD, + pub __bindgen_anon_1: _RATE_QUOTA_LIMIT__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _RATE_QUOTA_LIMIT__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__RATE_QUOTA_LIMIT__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_RATE_QUOTA_LIMIT__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_RATE_QUOTA_LIMIT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_RATE_QUOTA_LIMIT__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_RATE_QUOTA_LIMIT__bindgen_ty_1)) + ); +} +impl _RATE_QUOTA_LIMIT__bindgen_ty_1 { + #[inline] + pub fn RatePercent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } + } + #[inline] + pub fn set_RatePercent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 7u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 25u8) as u32) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 25u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RatePercent: DWORD, + Reserved0: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 7u8, { + let RatePercent: u32 = unsafe { ::std::mem::transmute(RatePercent) }; + RatePercent as u64 + }); + __bindgen_bitfield_unit.set(7usize, 25u8, { + let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__RATE_QUOTA_LIMIT() { + const UNINIT: ::std::mem::MaybeUninit<_RATE_QUOTA_LIMIT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RATE_QUOTA_LIMIT>(), + 4usize, + concat!("Size of: ", stringify!(_RATE_QUOTA_LIMIT)) + ); + assert_eq!( + ::std::mem::align_of::<_RATE_QUOTA_LIMIT>(), + 4usize, + concat!("Alignment of ", stringify!(_RATE_QUOTA_LIMIT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RATE_QUOTA_LIMIT), + "::", + stringify!(RateData) + ) + ); +} +pub type RATE_QUOTA_LIMIT = _RATE_QUOTA_LIMIT; +pub type PRATE_QUOTA_LIMIT = *mut _RATE_QUOTA_LIMIT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUOTA_LIMITS_EX { + pub PagedPoolLimit: SIZE_T, + pub NonPagedPoolLimit: SIZE_T, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub PagefileLimit: SIZE_T, + pub TimeLimit: LARGE_INTEGER, + pub WorkingSetLimit: SIZE_T, + pub Reserved2: SIZE_T, + pub Reserved3: SIZE_T, + pub Reserved4: SIZE_T, + pub Flags: DWORD, + pub CpuRateLimit: RATE_QUOTA_LIMIT, +} +#[test] +fn bindgen_test_layout__QUOTA_LIMITS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_QUOTA_LIMITS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUOTA_LIMITS_EX>(), + 88usize, + concat!("Size of: ", stringify!(_QUOTA_LIMITS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_QUOTA_LIMITS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_QUOTA_LIMITS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagedPoolLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(PagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonPagedPoolLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(NonPagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagefileLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(PagefileLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(TimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WorkingSetLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(WorkingSetLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateLimit) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(CpuRateLimit) + ) + ); +} +pub type QUOTA_LIMITS_EX = _QUOTA_LIMITS_EX; +pub type PQUOTA_LIMITS_EX = *mut _QUOTA_LIMITS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_COUNTERS { + pub ReadOperationCount: ULONGLONG, + pub WriteOperationCount: ULONGLONG, + pub OtherOperationCount: ULONGLONG, + pub ReadTransferCount: ULONGLONG, + pub WriteTransferCount: ULONGLONG, + pub OtherTransferCount: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IO_COUNTERS() { + const UNINIT: ::std::mem::MaybeUninit<_IO_COUNTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IO_COUNTERS>(), + 48usize, + concat!("Size of: ", stringify!(_IO_COUNTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_COUNTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_COUNTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadOperationCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(ReadOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteOperationCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(WriteOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherOperationCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(OtherOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTransferCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(ReadTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTransferCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(WriteTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherTransferCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(OtherTransferCount) + ) + ); +} +pub type IO_COUNTERS = _IO_COUNTERS; +pub type PIO_COUNTERS = *mut IO_COUNTERS; +pub const _HARDWARE_COUNTER_TYPE_PMCCounter: _HARDWARE_COUNTER_TYPE = 0; +pub const _HARDWARE_COUNTER_TYPE_MaxHardwareCounterType: _HARDWARE_COUNTER_TYPE = 1; +pub type _HARDWARE_COUNTER_TYPE = ::std::os::raw::c_int; +pub use self::_HARDWARE_COUNTER_TYPE as HARDWARE_COUNTER_TYPE; +pub type PHARDWARE_COUNTER_TYPE = *mut _HARDWARE_COUNTER_TYPE; +pub const _PROCESS_MITIGATION_POLICY_ProcessDEPPolicy: _PROCESS_MITIGATION_POLICY = 0; +pub const _PROCESS_MITIGATION_POLICY_ProcessASLRPolicy: _PROCESS_MITIGATION_POLICY = 1; +pub const _PROCESS_MITIGATION_POLICY_ProcessDynamicCodePolicy: _PROCESS_MITIGATION_POLICY = 2; +pub const _PROCESS_MITIGATION_POLICY_ProcessStrictHandleCheckPolicy: _PROCESS_MITIGATION_POLICY = 3; +pub const _PROCESS_MITIGATION_POLICY_ProcessSystemCallDisablePolicy: _PROCESS_MITIGATION_POLICY = 4; +pub const _PROCESS_MITIGATION_POLICY_ProcessMitigationOptionsMask: _PROCESS_MITIGATION_POLICY = 5; +pub const _PROCESS_MITIGATION_POLICY_ProcessExtensionPointDisablePolicy: + _PROCESS_MITIGATION_POLICY = 6; +pub const _PROCESS_MITIGATION_POLICY_ProcessControlFlowGuardPolicy: _PROCESS_MITIGATION_POLICY = 7; +pub const _PROCESS_MITIGATION_POLICY_ProcessSignaturePolicy: _PROCESS_MITIGATION_POLICY = 8; +pub const _PROCESS_MITIGATION_POLICY_ProcessFontDisablePolicy: _PROCESS_MITIGATION_POLICY = 9; +pub const _PROCESS_MITIGATION_POLICY_ProcessImageLoadPolicy: _PROCESS_MITIGATION_POLICY = 10; +pub const _PROCESS_MITIGATION_POLICY_ProcessSystemCallFilterPolicy: _PROCESS_MITIGATION_POLICY = 11; +pub const _PROCESS_MITIGATION_POLICY_ProcessPayloadRestrictionPolicy: _PROCESS_MITIGATION_POLICY = + 12; +pub const _PROCESS_MITIGATION_POLICY_ProcessChildProcessPolicy: _PROCESS_MITIGATION_POLICY = 13; +pub const _PROCESS_MITIGATION_POLICY_ProcessSideChannelIsolationPolicy: _PROCESS_MITIGATION_POLICY = + 14; +pub const _PROCESS_MITIGATION_POLICY_ProcessUserShadowStackPolicy: _PROCESS_MITIGATION_POLICY = 15; +pub const _PROCESS_MITIGATION_POLICY_ProcessRedirectionTrustPolicy: _PROCESS_MITIGATION_POLICY = 16; +pub const _PROCESS_MITIGATION_POLICY_MaxProcessMitigationPolicy: _PROCESS_MITIGATION_POLICY = 17; +pub type _PROCESS_MITIGATION_POLICY = ::std::os::raw::c_int; +pub use self::_PROCESS_MITIGATION_POLICY as PROCESS_MITIGATION_POLICY; +pub type PPROCESS_MITIGATION_POLICY = *mut _PROCESS_MITIGATION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_ASLR_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableBottomUpRandomization(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableBottomUpRandomization(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableForceRelocateImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableForceRelocateImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableHighEntropy(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableHighEntropy(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisallowStrippedImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisallowStrippedImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableBottomUpRandomization: DWORD, + EnableForceRelocateImages: DWORD, + EnableHighEntropy: DWORD, + DisallowStrippedImages: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableBottomUpRandomization: u32 = + unsafe { ::std::mem::transmute(EnableBottomUpRandomization) }; + EnableBottomUpRandomization as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let EnableForceRelocateImages: u32 = + unsafe { ::std::mem::transmute(EnableForceRelocateImages) }; + EnableForceRelocateImages as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let EnableHighEntropy: u32 = unsafe { ::std::mem::transmute(EnableHighEntropy) }; + EnableHighEntropy as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let DisallowStrippedImages: u32 = + unsafe { ::std::mem::transmute(DisallowStrippedImages) }; + DisallowStrippedImages as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY>(), + 4usize, + concat!("Size of: ", stringify!(_PROCESS_MITIGATION_ASLR_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_MITIGATION_ASLR_POLICY)) + ); +} +pub type PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY; +pub type PPROCESS_MITIGATION_ASLR_POLICY = *mut _PROCESS_MITIGATION_ASLR_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_DEP_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1, + pub Permanent: BOOLEAN, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Enable(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Enable(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisableAtlThunkEmulation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableAtlThunkEmulation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Enable: DWORD, + DisableAtlThunkEmulation: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Enable: u32 = unsafe { ::std::mem::transmute(Enable) }; + Enable as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let DisableAtlThunkEmulation: u32 = + unsafe { ::std::mem::transmute(DisableAtlThunkEmulation) }; + DisableAtlThunkEmulation as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DEP_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY>(), + 8usize, + concat!("Size of: ", stringify!(_PROCESS_MITIGATION_DEP_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_MITIGATION_DEP_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Permanent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY), + "::", + stringify!(Permanent) + ) + ); +} +pub type PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY; +pub type PPROCESS_MITIGATION_DEP_POLICY = *mut _PROCESS_MITIGATION_DEP_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn RaiseExceptionOnInvalidHandleReference(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_RaiseExceptionOnInvalidHandleReference(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn HandleExceptionsPermanentlyEnabled(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_HandleExceptionsPermanentlyEnabled(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RaiseExceptionOnInvalidHandleReference: DWORD, + HandleExceptionsPermanentlyEnabled: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let RaiseExceptionOnInvalidHandleReference: u32 = + unsafe { ::std::mem::transmute(RaiseExceptionOnInvalidHandleReference) }; + RaiseExceptionOnInvalidHandleReference as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let HandleExceptionsPermanentlyEnabled: u32 = + unsafe { ::std::mem::transmute(HandleExceptionsPermanentlyEnabled) }; + HandleExceptionsPermanentlyEnabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; +pub type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = + *mut _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisallowWin32kSystemCalls(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisallowWin32kSystemCalls(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditDisallowWin32kSystemCalls(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditDisallowWin32kSystemCalls(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisallowWin32kSystemCalls: DWORD, + AuditDisallowWin32kSystemCalls: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisallowWin32kSystemCalls: u32 = + unsafe { ::std::mem::transmute(DisallowWin32kSystemCalls) }; + DisallowWin32kSystemCalls as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditDisallowWin32kSystemCalls: u32 = + unsafe { ::std::mem::transmute(AuditDisallowWin32kSystemCalls) }; + AuditDisallowWin32kSystemCalls as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = + *mut _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!( + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!( + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisableExtensionPoints(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableExtensionPoints(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableExtensionPoints: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableExtensionPoints: u32 = + unsafe { ::std::mem::transmute(DisableExtensionPoints) }; + DisableExtensionPoints as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = + *mut _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn ProhibitDynamicCode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_ProhibitDynamicCode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowThreadOptOut(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowThreadOptOut(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowRemoteDowngrade(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowRemoteDowngrade(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditProhibitDynamicCode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditProhibitDynamicCode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ProhibitDynamicCode: DWORD, + AllowThreadOptOut: DWORD, + AllowRemoteDowngrade: DWORD, + AuditProhibitDynamicCode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ProhibitDynamicCode: u32 = unsafe { ::std::mem::transmute(ProhibitDynamicCode) }; + ProhibitDynamicCode as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AllowThreadOptOut: u32 = unsafe { ::std::mem::transmute(AllowThreadOptOut) }; + AllowThreadOptOut as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllowRemoteDowngrade: u32 = unsafe { ::std::mem::transmute(AllowRemoteDowngrade) }; + AllowRemoteDowngrade as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditProhibitDynamicCode: u32 = + unsafe { ::std::mem::transmute(AuditProhibitDynamicCode) }; + AuditProhibitDynamicCode as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; +pub type PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = *mut _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableControlFlowGuard(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableControlFlowGuard(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableExportSuppression(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportSuppression(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn StrictMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_StrictMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableXfg(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableXfg(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableXfgAuditMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableXfgAuditMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableControlFlowGuard: DWORD, + EnableExportSuppression: DWORD, + StrictMode: DWORD, + EnableXfg: DWORD, + EnableXfgAuditMode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableControlFlowGuard: u32 = + unsafe { ::std::mem::transmute(EnableControlFlowGuard) }; + EnableControlFlowGuard as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let EnableExportSuppression: u32 = + unsafe { ::std::mem::transmute(EnableExportSuppression) }; + EnableExportSuppression as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let StrictMode: u32 = unsafe { ::std::mem::transmute(StrictMode) }; + StrictMode as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let EnableXfg: u32 = unsafe { ::std::mem::transmute(EnableXfg) }; + EnableXfg as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let EnableXfgAuditMode: u32 = unsafe { ::std::mem::transmute(EnableXfgAuditMode) }; + EnableXfgAuditMode as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; +pub type PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = + *mut _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn MicrosoftSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_MicrosoftSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn StoreSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_StoreSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn MitigationOptIn(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_MitigationOptIn(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditMicrosoftSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditMicrosoftSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditStoreSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditStoreSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + MicrosoftSignedOnly: DWORD, + StoreSignedOnly: DWORD, + MitigationOptIn: DWORD, + AuditMicrosoftSignedOnly: DWORD, + AuditStoreSignedOnly: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let MicrosoftSignedOnly: u32 = unsafe { ::std::mem::transmute(MicrosoftSignedOnly) }; + MicrosoftSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let StoreSignedOnly: u32 = unsafe { ::std::mem::transmute(StoreSignedOnly) }; + StoreSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let MitigationOptIn: u32 = unsafe { ::std::mem::transmute(MitigationOptIn) }; + MitigationOptIn as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditMicrosoftSignedOnly: u32 = + unsafe { ::std::mem::transmute(AuditMicrosoftSignedOnly) }; + AuditMicrosoftSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let AuditStoreSignedOnly: u32 = unsafe { ::std::mem::transmute(AuditStoreSignedOnly) }; + AuditStoreSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; +pub type PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = + *mut _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisableNonSystemFonts(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableNonSystemFonts(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNonSystemFontLoading(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNonSystemFontLoading(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableNonSystemFonts: DWORD, + AuditNonSystemFontLoading: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableNonSystemFonts: u32 = + unsafe { ::std::mem::transmute(DisableNonSystemFonts) }; + DisableNonSystemFonts as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditNonSystemFontLoading: u32 = + unsafe { ::std::mem::transmute(AuditNonSystemFontLoading) }; + AuditNonSystemFontLoading as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_FONT_DISABLE_POLICY = _PROCESS_MITIGATION_FONT_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_FONT_DISABLE_POLICY = *mut _PROCESS_MITIGATION_FONT_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoRemoteImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoRemoteImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn NoLowMandatoryLabelImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoLowMandatoryLabelImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn PreferSystem32Images(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_PreferSystem32Images(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoRemoteImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoRemoteImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoLowMandatoryLabelImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoLowMandatoryLabelImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoRemoteImages: DWORD, + NoLowMandatoryLabelImages: DWORD, + PreferSystem32Images: DWORD, + AuditNoRemoteImages: DWORD, + AuditNoLowMandatoryLabelImages: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoRemoteImages: u32 = unsafe { ::std::mem::transmute(NoRemoteImages) }; + NoRemoteImages as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let NoLowMandatoryLabelImages: u32 = + unsafe { ::std::mem::transmute(NoLowMandatoryLabelImages) }; + NoLowMandatoryLabelImages as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let PreferSystem32Images: u32 = unsafe { ::std::mem::transmute(PreferSystem32Images) }; + PreferSystem32Images as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditNoRemoteImages: u32 = unsafe { ::std::mem::transmute(AuditNoRemoteImages) }; + AuditNoRemoteImages as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let AuditNoLowMandatoryLabelImages: u32 = + unsafe { ::std::mem::transmute(AuditNoLowMandatoryLabelImages) }; + AuditNoLowMandatoryLabelImages as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY; +pub type PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = *mut _PROCESS_MITIGATION_IMAGE_LOAD_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn FilterId(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) } + } + #[inline] + pub fn set_FilterId(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + FilterId: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let FilterId: u32 = unsafe { ::std::mem::transmute(FilterId) }; + FilterId as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY = + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; +pub type PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY = + *mut _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableExportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditExportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditExportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableExportAddressFilterPlus(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportAddressFilterPlus(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditExportAddressFilterPlus(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditExportAddressFilterPlus(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableImportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableImportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditImportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditImportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopStackPivot(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopStackPivot(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopStackPivot(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopStackPivot(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopCallerCheck(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopCallerCheck(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopCallerCheck(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopCallerCheck(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopSimExec(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopSimExec(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopSimExec(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopSimExec(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 20u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableExportAddressFilter: DWORD, + AuditExportAddressFilter: DWORD, + EnableExportAddressFilterPlus: DWORD, + AuditExportAddressFilterPlus: DWORD, + EnableImportAddressFilter: DWORD, + AuditImportAddressFilter: DWORD, + EnableRopStackPivot: DWORD, + AuditRopStackPivot: DWORD, + EnableRopCallerCheck: DWORD, + AuditRopCallerCheck: DWORD, + EnableRopSimExec: DWORD, + AuditRopSimExec: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableExportAddressFilter: u32 = + unsafe { ::std::mem::transmute(EnableExportAddressFilter) }; + EnableExportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditExportAddressFilter: u32 = + unsafe { ::std::mem::transmute(AuditExportAddressFilter) }; + AuditExportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let EnableExportAddressFilterPlus: u32 = + unsafe { ::std::mem::transmute(EnableExportAddressFilterPlus) }; + EnableExportAddressFilterPlus as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditExportAddressFilterPlus: u32 = + unsafe { ::std::mem::transmute(AuditExportAddressFilterPlus) }; + AuditExportAddressFilterPlus as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let EnableImportAddressFilter: u32 = + unsafe { ::std::mem::transmute(EnableImportAddressFilter) }; + EnableImportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let AuditImportAddressFilter: u32 = + unsafe { ::std::mem::transmute(AuditImportAddressFilter) }; + AuditImportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let EnableRopStackPivot: u32 = unsafe { ::std::mem::transmute(EnableRopStackPivot) }; + EnableRopStackPivot as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let AuditRopStackPivot: u32 = unsafe { ::std::mem::transmute(AuditRopStackPivot) }; + AuditRopStackPivot as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let EnableRopCallerCheck: u32 = unsafe { ::std::mem::transmute(EnableRopCallerCheck) }; + EnableRopCallerCheck as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let AuditRopCallerCheck: u32 = unsafe { ::std::mem::transmute(AuditRopCallerCheck) }; + AuditRopCallerCheck as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let EnableRopSimExec: u32 = unsafe { ::std::mem::transmute(EnableRopSimExec) }; + EnableRopSimExec as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let AuditRopSimExec: u32 = unsafe { ::std::mem::transmute(AuditRopSimExec) }; + AuditRopSimExec as u64 + }); + __bindgen_bitfield_unit.set(12usize, 20u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY = + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; +pub type PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY = + *mut _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoChildProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoChildProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoChildProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoChildProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowSecureProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowSecureProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoChildProcessCreation: DWORD, + AuditNoChildProcessCreation: DWORD, + AllowSecureProcessCreation: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoChildProcessCreation: u32 = + unsafe { ::std::mem::transmute(NoChildProcessCreation) }; + NoChildProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditNoChildProcessCreation: u32 = + unsafe { ::std::mem::transmute(AuditNoChildProcessCreation) }; + AuditNoChildProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllowSecureProcessCreation: u32 = + unsafe { ::std::mem::transmute(AllowSecureProcessCreation) }; + AllowSecureProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_CHILD_PROCESS_POLICY = _PROCESS_MITIGATION_CHILD_PROCESS_POLICY; +pub type PPROCESS_MITIGATION_CHILD_PROCESS_POLICY = *mut _PROCESS_MITIGATION_CHILD_PROCESS_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!( + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!( + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn SmtBranchTargetIsolation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_SmtBranchTargetIsolation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsolateSecurityDomain(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsolateSecurityDomain(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisablePageCombine(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisablePageCombine(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn SpeculativeStoreBypassDisable(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_SpeculativeStoreBypassDisable(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SmtBranchTargetIsolation: DWORD, + IsolateSecurityDomain: DWORD, + DisablePageCombine: DWORD, + SpeculativeStoreBypassDisable: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let SmtBranchTargetIsolation: u32 = + unsafe { ::std::mem::transmute(SmtBranchTargetIsolation) }; + SmtBranchTargetIsolation as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let IsolateSecurityDomain: u32 = + unsafe { ::std::mem::transmute(IsolateSecurityDomain) }; + IsolateSecurityDomain as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let DisablePageCombine: u32 = unsafe { ::std::mem::transmute(DisablePageCombine) }; + DisablePageCombine as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let SpeculativeStoreBypassDisable: u32 = + unsafe { ::std::mem::transmute(SpeculativeStoreBypassDisable) }; + SpeculativeStoreBypassDisable as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY = + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; +pub type PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY = + *mut _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableUserShadowStack(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableUserShadowStack(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditUserShadowStack(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditUserShadowStack(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn SetContextIpValidation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_SetContextIpValidation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditSetContextIpValidation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditSetContextIpValidation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableUserShadowStackStrictMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableUserShadowStackStrictMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn BlockNonCetBinaries(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_BlockNonCetBinaries(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn BlockNonCetBinariesNonEhcont(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_BlockNonCetBinariesNonEhcont(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditBlockNonCetBinaries(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditBlockNonCetBinaries(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn CetDynamicApisOutOfProcOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_CetDynamicApisOutOfProcOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn SetContextIpValidationRelaxedMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_SetContextIpValidationRelaxedMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 22u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableUserShadowStack: DWORD, + AuditUserShadowStack: DWORD, + SetContextIpValidation: DWORD, + AuditSetContextIpValidation: DWORD, + EnableUserShadowStackStrictMode: DWORD, + BlockNonCetBinaries: DWORD, + BlockNonCetBinariesNonEhcont: DWORD, + AuditBlockNonCetBinaries: DWORD, + CetDynamicApisOutOfProcOnly: DWORD, + SetContextIpValidationRelaxedMode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableUserShadowStack: u32 = + unsafe { ::std::mem::transmute(EnableUserShadowStack) }; + EnableUserShadowStack as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditUserShadowStack: u32 = unsafe { ::std::mem::transmute(AuditUserShadowStack) }; + AuditUserShadowStack as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let SetContextIpValidation: u32 = + unsafe { ::std::mem::transmute(SetContextIpValidation) }; + SetContextIpValidation as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditSetContextIpValidation: u32 = + unsafe { ::std::mem::transmute(AuditSetContextIpValidation) }; + AuditSetContextIpValidation as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let EnableUserShadowStackStrictMode: u32 = + unsafe { ::std::mem::transmute(EnableUserShadowStackStrictMode) }; + EnableUserShadowStackStrictMode as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let BlockNonCetBinaries: u32 = unsafe { ::std::mem::transmute(BlockNonCetBinaries) }; + BlockNonCetBinaries as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let BlockNonCetBinariesNonEhcont: u32 = + unsafe { ::std::mem::transmute(BlockNonCetBinariesNonEhcont) }; + BlockNonCetBinariesNonEhcont as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let AuditBlockNonCetBinaries: u32 = + unsafe { ::std::mem::transmute(AuditBlockNonCetBinaries) }; + AuditBlockNonCetBinaries as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let CetDynamicApisOutOfProcOnly: u32 = + unsafe { ::std::mem::transmute(CetDynamicApisOutOfProcOnly) }; + CetDynamicApisOutOfProcOnly as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let SetContextIpValidationRelaxedMode: u32 = + unsafe { ::std::mem::transmute(SetContextIpValidationRelaxedMode) }; + SetContextIpValidationRelaxedMode as u64 + }); + __bindgen_bitfield_unit.set(10usize, 22u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY = _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; +pub type PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY = + *mut _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnforceRedirectionTrust(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnforceRedirectionTrust(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRedirectionTrust(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRedirectionTrust(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnforceRedirectionTrust: DWORD, + AuditRedirectionTrust: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnforceRedirectionTrust: u32 = + unsafe { ::std::mem::transmute(EnforceRedirectionTrust) }; + EnforceRedirectionTrust as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditRedirectionTrust: u32 = + unsafe { ::std::mem::transmute(AuditRedirectionTrust) }; + AuditRedirectionTrust as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY = _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY; +pub type PPROCESS_MITIGATION_REDIRECTION_TRUST_POLICY = + *mut _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { + pub TotalUserTime: LARGE_INTEGER, + pub TotalKernelTime: LARGE_INTEGER, + pub ThisPeriodTotalUserTime: LARGE_INTEGER, + pub ThisPeriodTotalKernelTime: LARGE_INTEGER, + pub TotalPageFaultCount: DWORD, + pub TotalProcesses: DWORD, + pub ActiveProcesses: DWORD, + pub TotalTerminatedProcesses: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_ACCOUNTING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>(), + 48usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalUserTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalKernelTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalKernelTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisPeriodTotalUserTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ThisPeriodTotalUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisPeriodTotalKernelTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ThisPeriodTotalKernelTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPageFaultCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalPageFaultCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalProcesses) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcesses) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ActiveProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTerminatedProcesses) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalTerminatedProcesses) + ) + ); +} +pub type JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; +pub type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION = *mut _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { + pub PerProcessUserTimeLimit: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub LimitFlags: DWORD, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub ActiveProcessLimit: DWORD, + pub Affinity: ULONG_PTR, + pub PriorityClass: DWORD, + pub SchedulingClass: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>(), + 64usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerProcessUserTimeLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PerProcessUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(ActiveProcessLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Affinity) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(Affinity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PriorityClass) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PriorityClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulingClass) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(SchedulingClass) + ) + ); +} +pub type JOBOBJECT_BASIC_LIMIT_INFORMATION = _JOBOBJECT_BASIC_LIMIT_INFORMATION; +pub type PJOBOBJECT_BASIC_LIMIT_INFORMATION = *mut _JOBOBJECT_BASIC_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { + pub BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION, + pub IoInfo: IO_COUNTERS, + pub ProcessMemoryLimit: SIZE_T, + pub JobMemoryLimit: SIZE_T, + pub PeakProcessMemoryUsed: SIZE_T, + pub PeakJobMemoryUsed: SIZE_T, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_EXTENDED_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>(), + 144usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicLimitInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(BasicLimitInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(IoInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessMemoryLimit) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(ProcessMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakProcessMemoryUsed) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(PeakProcessMemoryUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakJobMemoryUsed) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(PeakJobMemoryUsed) + ) + ); +} +pub type JOBOBJECT_EXTENDED_LIMIT_INFORMATION = _JOBOBJECT_EXTENDED_LIMIT_INFORMATION; +pub type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = *mut _JOBOBJECT_EXTENDED_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { + pub NumberOfAssignedProcesses: DWORD, + pub NumberOfProcessIdsInList: DWORD, + pub ProcessIdList: [ULONG_PTR; 1usize], +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_PROCESS_ID_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_PROCESS_ID_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAssignedProcesses) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(NumberOfAssignedProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProcessIdsInList) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(NumberOfProcessIdsInList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessIdList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(ProcessIdList) + ) + ); +} +pub type JOBOBJECT_BASIC_PROCESS_ID_LIST = _JOBOBJECT_BASIC_PROCESS_ID_LIST; +pub type PJOBOBJECT_BASIC_PROCESS_ID_LIST = *mut _JOBOBJECT_BASIC_PROCESS_ID_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { + pub UIRestrictionsClass: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_UI_RESTRICTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_UI_RESTRICTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_UI_RESTRICTIONS>(), + 4usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_UI_RESTRICTIONS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UIRestrictionsClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS), + "::", + stringify!(UIRestrictionsClass) + ) + ); +} +pub type JOBOBJECT_BASIC_UI_RESTRICTIONS = _JOBOBJECT_BASIC_UI_RESTRICTIONS; +pub type PJOBOBJECT_BASIC_UI_RESTRICTIONS = *mut _JOBOBJECT_BASIC_UI_RESTRICTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { + pub SecurityLimitFlags: DWORD, + pub JobToken: HANDLE, + pub SidsToDisable: PTOKEN_GROUPS, + pub PrivilegesToDelete: PTOKEN_PRIVILEGES, + pub RestrictedSids: PTOKEN_GROUPS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_SECURITY_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_SECURITY_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>(), + 40usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityLimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(SecurityLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobToken) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(JobToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidsToDisable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(SidsToDisable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegesToDelete) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(PrivilegesToDelete) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSids) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(RestrictedSids) + ) + ); +} +pub type JOBOBJECT_SECURITY_LIMIT_INFORMATION = _JOBOBJECT_SECURITY_LIMIT_INFORMATION; +pub type PJOBOBJECT_SECURITY_LIMIT_INFORMATION = *mut _JOBOBJECT_SECURITY_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { + pub EndOfJobTimeAction: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_END_OF_JOB_TIME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION>(), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfJobTimeAction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION), + "::", + stringify!(EndOfJobTimeAction) + ) + ); +} +pub type JOBOBJECT_END_OF_JOB_TIME_INFORMATION = _JOBOBJECT_END_OF_JOB_TIME_INFORMATION; +pub type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION = *mut _JOBOBJECT_END_OF_JOB_TIME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { + pub CompletionKey: PVOID, + pub CompletionPort: HANDLE, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_ASSOCIATE_COMPLETION_PORT() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>(), + 16usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT), + "::", + stringify!(CompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionPort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT), + "::", + stringify!(CompletionPort) + ) + ); +} +pub type JOBOBJECT_ASSOCIATE_COMPLETION_PORT = _JOBOBJECT_ASSOCIATE_COMPLETION_PORT; +pub type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT = *mut _JOBOBJECT_ASSOCIATE_COMPLETION_PORT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { + pub BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, + pub IoInfo: IO_COUNTERS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>(), + 96usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION), + "::", + stringify!(BasicInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION), + "::", + stringify!(IoInfo) + ) + ); +} +pub type JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = + _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; +pub type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = + *mut _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_JOBSET_INFORMATION { + pub MemberLevel: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_JOBSET_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_JOBSET_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_JOBSET_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_JOBOBJECT_JOBSET_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_JOBSET_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_JOBOBJECT_JOBSET_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemberLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_JOBSET_INFORMATION), + "::", + stringify!(MemberLevel) + ) + ); +} +pub type JOBOBJECT_JOBSET_INFORMATION = _JOBOBJECT_JOBSET_INFORMATION; +pub type PJOBOBJECT_JOBSET_INFORMATION = *mut _JOBOBJECT_JOBSET_INFORMATION; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceLow: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 1; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceMedium: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 2; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceHigh: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 3; +pub type _JOBOBJECT_RATE_CONTROL_TOLERANCE = ::std::os::raw::c_int; +pub use self::_JOBOBJECT_RATE_CONTROL_TOLERANCE as JOBOBJECT_RATE_CONTROL_TOLERANCE; +pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE = *mut _JOBOBJECT_RATE_CONTROL_TOLERANCE; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalShort: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 1; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalMedium: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 2; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalLong: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 3; +pub type _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = ::std::os::raw::c_int; +pub use self::_JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL as JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; +pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = + *mut _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemoryLimit: DWORD64, + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub LimitFlags: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>(), + 48usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RateControlToleranceInterval) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(RateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); +} +pub type JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; +pub type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = *mut _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub __bindgen_anon_1: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1, + pub __bindgen_anon_2: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2, + pub __bindgen_anon_3: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3, + pub LimitFlags: DWORD, + pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub JobLowMemoryLimit: DWORD64, + pub IoRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1 { + pub JobHighMemoryLimit: DWORD64, + pub JobMemoryLimit: DWORD64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHighMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobHighMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobMemoryLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2 { + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(CpuRateControlTolerance) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3 { + pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub CpuRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RateControlToleranceInterval) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(RateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CpuRateControlToleranceInterval) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(CpuRateControlToleranceInterval) + ) + ); +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlTolerance) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoRateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobLowMemoryLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(JobLowMemoryLimit) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IoRateControlToleranceInterval) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoRateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetRateControlTolerance) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(NetRateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NetRateControlToleranceInterval) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(NetRateControlToleranceInterval) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION { + pub LimitFlags: DWORD, + pub ViolationLimitFlags: DWORD, + pub IoReadBytes: DWORD64, + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytes: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTime: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemory: DWORD64, + pub JobMemoryLimit: DWORD64, + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_LIMIT_VIOLATION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>(), + 80usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ViolationLimitFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(ViolationLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(PerJobUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemory) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(JobMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlToleranceLimit) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(RateControlToleranceLimit) + ) + ); +} +pub type JOBOBJECT_LIMIT_VIOLATION_INFORMATION = _JOBOBJECT_LIMIT_VIOLATION_INFORMATION; +pub type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION = *mut _JOBOBJECT_LIMIT_VIOLATION_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { + pub LimitFlags: DWORD, + pub ViolationLimitFlags: DWORD, + pub IoReadBytes: DWORD64, + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytes: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTime: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemory: DWORD64, + pub __bindgen_anon_1: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1, + pub __bindgen_anon_2: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2, + pub __bindgen_anon_3: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3, + pub JobLowMemoryLimit: DWORD64, + pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub IoRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1 { + pub JobHighMemoryLimit: DWORD64, + pub JobMemoryLimit: DWORD64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHighMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobHighMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobMemoryLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2 { + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(CpuRateControlTolerance) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3 { + pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlToleranceLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(RateControlToleranceLimit) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CpuRateControlToleranceLimit) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(CpuRateControlToleranceLimit) + ) + ); +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ViolationLimitFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(ViolationLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(PerJobUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemory) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(JobMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobLowMemoryLimit) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(JobLowMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlTolerance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoRateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlToleranceLimit) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoRateControlToleranceLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetRateControlTolerance) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(NetRateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NetRateControlToleranceLimit) as usize - ptr as usize + }, + 100usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(NetRateControlToleranceLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { + pub ControlFlags: DWORD, + pub __bindgen_anon_1: _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1 { + pub CpuRate: DWORD, + pub Weight: DWORD, + pub __bindgen_anon_1: _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub MinRate: WORD, + pub MaxRate: WORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1>( + ), + 2usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MinRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRate) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaxRate) + ) + ); +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1), + "::", + stringify!(CpuRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Weight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1), + "::", + stringify!(Weight) + ) + ); +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); +} +pub type JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; +pub type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION = *mut _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_ENABLE: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 1; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 2; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 4; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 7; +pub type JOB_OBJECT_NET_RATE_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { + pub MaxBandwidth: DWORD64, + pub ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS, + pub DscpTag: BYTE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NET_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DscpTag) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(DscpTag) + ) + ); +} +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_ENABLE: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 1; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 2; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 4; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP : JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 8 ; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 15; +pub type JOB_OBJECT_IO_RATE_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(VolumeNameLength) + ) + ); +} +pub type JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1 = + JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, + pub CriticalReservationIops: LONG64, + pub ReservationBandwidth: LONG64, + pub CriticalReservationBandwidth: LONG64, + pub MaxTimePercent: LONG64, + pub ReservationTimePercent: LONG64, + pub CriticalReservationTimePercent: LONG64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(VolumeNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalReservationIops) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationBandwidth) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationBandwidth) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimePercent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationTimePercent) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationTimePercent) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationTimePercent) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationTimePercent) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, + pub CriticalReservationIops: LONG64, + pub ReservationBandwidth: LONG64, + pub CriticalReservationBandwidth: LONG64, + pub MaxTimePercent: LONG64, + pub ReservationTimePercent: LONG64, + pub CriticalReservationTimePercent: LONG64, + pub SoftMaxIops: LONG64, + pub SoftMaxBandwidth: LONG64, + pub SoftMaxTimePercent: LONG64, + pub LimitExcessNotifyIops: LONG64, + pub LimitExcessNotifyBandwidth: LONG64, + pub LimitExcessNotifyTimePercent: LONG64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(VolumeNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalReservationIops) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationBandwidth) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationBandwidth) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimePercent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationTimePercent) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationTimePercent) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationTimePercent) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxIops) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxBandwidth) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxTimePercent) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitExcessNotifyIops) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitExcessNotifyBandwidth) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).LimitExcessNotifyTimePercent) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyTimePercent) + ) + ); +} +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 1; +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 2; +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 3; +pub type JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_IO_ATTRIBUTION_STATS { + pub IoCount: ULONG_PTR, + pub TotalNonOverlappedQueueTime: ULONGLONG, + pub TotalNonOverlappedServiceTime: ULONGLONG, + pub TotalSize: ULONGLONG, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_IO_ATTRIBUTION_STATS() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_IO_ATTRIBUTION_STATS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_IO_ATTRIBUTION_STATS>(), + 32usize, + concat!("Size of: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_IO_ATTRIBUTION_STATS>(), + 8usize, + concat!("Alignment of ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(IoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNonOverlappedQueueTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalNonOverlappedQueueTime) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalNonOverlappedServiceTime) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalNonOverlappedServiceTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalSize) + ) + ); +} +pub type JOBOBJECT_IO_ATTRIBUTION_STATS = _JOBOBJECT_IO_ATTRIBUTION_STATS; +pub type PJOBOBJECT_IO_ATTRIBUTION_STATS = *mut _JOBOBJECT_IO_ATTRIBUTION_STATS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_IO_ATTRIBUTION_INFORMATION { + pub ControlFlags: DWORD, + pub ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS, + pub WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_IO_ATTRIBUTION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>(), + 72usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadStats) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(ReadStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteStats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(WriteStats) + ) + ); +} +pub type JOBOBJECT_IO_ATTRIBUTION_INFORMATION = _JOBOBJECT_IO_ATTRIBUTION_INFORMATION; +pub type PJOBOBJECT_IO_ATTRIBUTION_INFORMATION = *mut _JOBOBJECT_IO_ATTRIBUTION_INFORMATION; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicAccountingInformation: _JOBOBJECTINFOCLASS = 1; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicLimitInformation: _JOBOBJECTINFOCLASS = 2; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicProcessIdList: _JOBOBJECTINFOCLASS = 3; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicUIRestrictions: _JOBOBJECTINFOCLASS = 4; +pub const _JOBOBJECTINFOCLASS_JobObjectSecurityLimitInformation: _JOBOBJECTINFOCLASS = 5; +pub const _JOBOBJECTINFOCLASS_JobObjectEndOfJobTimeInformation: _JOBOBJECTINFOCLASS = 6; +pub const _JOBOBJECTINFOCLASS_JobObjectAssociateCompletionPortInformation: _JOBOBJECTINFOCLASS = 7; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicAndIoAccountingInformation: _JOBOBJECTINFOCLASS = 8; +pub const _JOBOBJECTINFOCLASS_JobObjectExtendedLimitInformation: _JOBOBJECTINFOCLASS = 9; +pub const _JOBOBJECTINFOCLASS_JobObjectJobSetInformation: _JOBOBJECTINFOCLASS = 10; +pub const _JOBOBJECTINFOCLASS_JobObjectGroupInformation: _JOBOBJECTINFOCLASS = 11; +pub const _JOBOBJECTINFOCLASS_JobObjectNotificationLimitInformation: _JOBOBJECTINFOCLASS = 12; +pub const _JOBOBJECTINFOCLASS_JobObjectLimitViolationInformation: _JOBOBJECTINFOCLASS = 13; +pub const _JOBOBJECTINFOCLASS_JobObjectGroupInformationEx: _JOBOBJECTINFOCLASS = 14; +pub const _JOBOBJECTINFOCLASS_JobObjectCpuRateControlInformation: _JOBOBJECTINFOCLASS = 15; +pub const _JOBOBJECTINFOCLASS_JobObjectCompletionFilter: _JOBOBJECTINFOCLASS = 16; +pub const _JOBOBJECTINFOCLASS_JobObjectCompletionCounter: _JOBOBJECTINFOCLASS = 17; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved1Information: _JOBOBJECTINFOCLASS = 18; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved2Information: _JOBOBJECTINFOCLASS = 19; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved3Information: _JOBOBJECTINFOCLASS = 20; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved4Information: _JOBOBJECTINFOCLASS = 21; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved5Information: _JOBOBJECTINFOCLASS = 22; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved6Information: _JOBOBJECTINFOCLASS = 23; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved7Information: _JOBOBJECTINFOCLASS = 24; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved8Information: _JOBOBJECTINFOCLASS = 25; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved9Information: _JOBOBJECTINFOCLASS = 26; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved10Information: _JOBOBJECTINFOCLASS = 27; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved11Information: _JOBOBJECTINFOCLASS = 28; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved12Information: _JOBOBJECTINFOCLASS = 29; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved13Information: _JOBOBJECTINFOCLASS = 30; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved14Information: _JOBOBJECTINFOCLASS = 31; +pub const _JOBOBJECTINFOCLASS_JobObjectNetRateControlInformation: _JOBOBJECTINFOCLASS = 32; +pub const _JOBOBJECTINFOCLASS_JobObjectNotificationLimitInformation2: _JOBOBJECTINFOCLASS = 33; +pub const _JOBOBJECTINFOCLASS_JobObjectLimitViolationInformation2: _JOBOBJECTINFOCLASS = 34; +pub const _JOBOBJECTINFOCLASS_JobObjectCreateSilo: _JOBOBJECTINFOCLASS = 35; +pub const _JOBOBJECTINFOCLASS_JobObjectSiloBasicInformation: _JOBOBJECTINFOCLASS = 36; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved15Information: _JOBOBJECTINFOCLASS = 37; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved16Information: _JOBOBJECTINFOCLASS = 38; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved17Information: _JOBOBJECTINFOCLASS = 39; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved18Information: _JOBOBJECTINFOCLASS = 40; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved19Information: _JOBOBJECTINFOCLASS = 41; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved20Information: _JOBOBJECTINFOCLASS = 42; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved21Information: _JOBOBJECTINFOCLASS = 43; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved22Information: _JOBOBJECTINFOCLASS = 44; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved23Information: _JOBOBJECTINFOCLASS = 45; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved24Information: _JOBOBJECTINFOCLASS = 46; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved25Information: _JOBOBJECTINFOCLASS = 47; +pub const _JOBOBJECTINFOCLASS_MaxJobObjectInfoClass: _JOBOBJECTINFOCLASS = 48; +pub type _JOBOBJECTINFOCLASS = ::std::os::raw::c_int; +pub use self::_JOBOBJECTINFOCLASS as JOBOBJECTINFOCLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SILOOBJECT_BASIC_INFORMATION { + pub SiloId: DWORD, + pub SiloParentId: DWORD, + pub NumberOfProcesses: DWORD, + pub IsInServerSilo: BOOLEAN, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__SILOOBJECT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SILOOBJECT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SILOOBJECT_BASIC_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_SILOOBJECT_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SILOOBJECT_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_SILOOBJECT_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiloId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(SiloId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiloParentId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(SiloParentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProcesses) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(NumberOfProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsInServerSilo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(IsInServerSilo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(Reserved) + ) + ); +} +pub type SILOOBJECT_BASIC_INFORMATION = _SILOOBJECT_BASIC_INFORMATION; +pub type PSILOOBJECT_BASIC_INFORMATION = *mut _SILOOBJECT_BASIC_INFORMATION; +pub const _SERVERSILO_STATE_SERVERSILO_INITING: _SERVERSILO_STATE = 0; +pub const _SERVERSILO_STATE_SERVERSILO_STARTED: _SERVERSILO_STATE = 1; +pub const _SERVERSILO_STATE_SERVERSILO_SHUTTING_DOWN: _SERVERSILO_STATE = 2; +pub const _SERVERSILO_STATE_SERVERSILO_TERMINATING: _SERVERSILO_STATE = 3; +pub const _SERVERSILO_STATE_SERVERSILO_TERMINATED: _SERVERSILO_STATE = 4; +pub type _SERVERSILO_STATE = ::std::os::raw::c_int; +pub use self::_SERVERSILO_STATE as SERVERSILO_STATE; +pub type PSERVERSILO_STATE = *mut _SERVERSILO_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVERSILO_BASIC_INFORMATION { + pub ServiceSessionId: DWORD, + pub State: SERVERSILO_STATE, + pub ExitStatus: DWORD, + pub IsDownlevelContainer: BOOLEAN, + pub ApiSetSchema: PVOID, + pub HostApiSetSchema: PVOID, +} +#[test] +fn bindgen_test_layout__SERVERSILO_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SERVERSILO_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVERSILO_BASIC_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_SERVERSILO_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVERSILO_BASIC_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVERSILO_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceSessionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ServiceSessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ExitStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDownlevelContainer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(IsDownlevelContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApiSetSchema) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ApiSetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostApiSetSchema) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(HostApiSetSchema) + ) + ); +} +pub type SERVERSILO_BASIC_INFORMATION = _SERVERSILO_BASIC_INFORMATION; +pub type PSERVERSILO_BASIC_INFORMATION = *mut _SERVERSILO_BASIC_INFORMATION; +pub const _FIRMWARE_TYPE_FirmwareTypeUnknown: _FIRMWARE_TYPE = 0; +pub const _FIRMWARE_TYPE_FirmwareTypeBios: _FIRMWARE_TYPE = 1; +pub const _FIRMWARE_TYPE_FirmwareTypeUefi: _FIRMWARE_TYPE = 2; +pub const _FIRMWARE_TYPE_FirmwareTypeMax: _FIRMWARE_TYPE = 3; +pub type _FIRMWARE_TYPE = ::std::os::raw::c_int; +pub use self::_FIRMWARE_TYPE as FIRMWARE_TYPE; +pub type PFIRMWARE_TYPE = *mut _FIRMWARE_TYPE; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorCore: _LOGICAL_PROCESSOR_RELATIONSHIP = + 0; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationNumaNode: _LOGICAL_PROCESSOR_RELATIONSHIP = 1; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationCache: _LOGICAL_PROCESSOR_RELATIONSHIP = 2; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorPackage: + _LOGICAL_PROCESSOR_RELATIONSHIP = 3; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationGroup: _LOGICAL_PROCESSOR_RELATIONSHIP = 4; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorDie: _LOGICAL_PROCESSOR_RELATIONSHIP = 5; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationNumaNodeEx: _LOGICAL_PROCESSOR_RELATIONSHIP = 6; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorModule: _LOGICAL_PROCESSOR_RELATIONSHIP = + 7; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationAll: _LOGICAL_PROCESSOR_RELATIONSHIP = 65535; +pub type _LOGICAL_PROCESSOR_RELATIONSHIP = ::std::os::raw::c_int; +pub use self::_LOGICAL_PROCESSOR_RELATIONSHIP as LOGICAL_PROCESSOR_RELATIONSHIP; +pub const _PROCESSOR_CACHE_TYPE_CacheUnified: _PROCESSOR_CACHE_TYPE = 0; +pub const _PROCESSOR_CACHE_TYPE_CacheInstruction: _PROCESSOR_CACHE_TYPE = 1; +pub const _PROCESSOR_CACHE_TYPE_CacheData: _PROCESSOR_CACHE_TYPE = 2; +pub const _PROCESSOR_CACHE_TYPE_CacheTrace: _PROCESSOR_CACHE_TYPE = 3; +pub type _PROCESSOR_CACHE_TYPE = ::std::os::raw::c_int; +pub use self::_PROCESSOR_CACHE_TYPE as PROCESSOR_CACHE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CACHE_DESCRIPTOR { + pub Level: BYTE, + pub Associativity: BYTE, + pub LineSize: WORD, + pub Size: DWORD, + pub Type: PROCESSOR_CACHE_TYPE, +} +#[test] +fn bindgen_test_layout__CACHE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_CACHE_DESCRIPTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CACHE_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_CACHE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_CACHE_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_CACHE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Associativity) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Associativity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LineSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(LineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Type) + ) + ); +} +pub type CACHE_DESCRIPTOR = _CACHE_DESCRIPTOR; +pub type PCACHE_DESCRIPTOR = *mut _CACHE_DESCRIPTOR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION { + pub ProcessorMask: ULONG_PTR, + pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + pub __bindgen_anon_1: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1 { + pub ProcessorCore: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub NumaNode: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2, + pub Cache: CACHE_DESCRIPTOR, + pub Reserved: [ULONGLONG; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Flags: BYTE, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2 { + pub NodeNumber: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(NodeNumber) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorCore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(ProcessorCore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(NumaNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>(), + 32usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION), + "::", + stringify!(ProcessorMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Relationship) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION), + "::", + stringify!(Relationship) + ) + ); +} +pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION; +pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = *mut _SYSTEM_LOGICAL_PROCESSOR_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_RELATIONSHIP { + pub Flags: BYTE, + pub EfficiencyClass: BYTE, + pub Reserved: [BYTE; 20usize], + pub GroupCount: WORD, + pub GroupMask: [GROUP_AFFINITY; 1usize], +} +#[test] +fn bindgen_test_layout__PROCESSOR_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_RELATIONSHIP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_RELATIONSHIP>(), + 40usize, + concat!("Size of: ", stringify!(_PROCESSOR_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESSOR_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfficiencyClass) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(EfficiencyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(GroupMask) + ) + ); +} +pub type PROCESSOR_RELATIONSHIP = _PROCESSOR_RELATIONSHIP; +pub type PPROCESSOR_RELATIONSHIP = *mut _PROCESSOR_RELATIONSHIP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NUMA_NODE_RELATIONSHIP { + pub NodeNumber: DWORD, + pub Reserved: [BYTE; 18usize], + pub GroupCount: WORD, + pub __bindgen_anon_1: _NUMA_NODE_RELATIONSHIP__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NUMA_NODE_RELATIONSHIP__bindgen_ty_1 { + pub GroupMask: GROUP_AFFINITY, + pub GroupMasks: [GROUP_AFFINITY; 1usize], +} +#[test] +fn bindgen_test_layout__NUMA_NODE_RELATIONSHIP__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NUMA_NODE_RELATIONSHIP__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NUMA_NODE_RELATIONSHIP__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_NUMA_NODE_RELATIONSHIP__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NUMA_NODE_RELATIONSHIP__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NUMA_NODE_RELATIONSHIP__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP__bindgen_ty_1), + "::", + stringify!(GroupMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMasks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP__bindgen_ty_1), + "::", + stringify!(GroupMasks) + ) + ); +} +#[test] +fn bindgen_test_layout__NUMA_NODE_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_NUMA_NODE_RELATIONSHIP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NUMA_NODE_RELATIONSHIP>(), + 40usize, + concat!("Size of: ", stringify!(_NUMA_NODE_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_NUMA_NODE_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_NUMA_NODE_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(NodeNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(GroupCount) + ) + ); +} +pub type NUMA_NODE_RELATIONSHIP = _NUMA_NODE_RELATIONSHIP; +pub type PNUMA_NODE_RELATIONSHIP = *mut _NUMA_NODE_RELATIONSHIP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CACHE_RELATIONSHIP { + pub Level: BYTE, + pub Associativity: BYTE, + pub LineSize: WORD, + pub CacheSize: DWORD, + pub Type: PROCESSOR_CACHE_TYPE, + pub Reserved: [BYTE; 18usize], + pub GroupCount: WORD, + pub __bindgen_anon_1: _CACHE_RELATIONSHIP__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CACHE_RELATIONSHIP__bindgen_ty_1 { + pub GroupMask: GROUP_AFFINITY, + pub GroupMasks: [GROUP_AFFINITY; 1usize], +} +#[test] +fn bindgen_test_layout__CACHE_RELATIONSHIP__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CACHE_RELATIONSHIP__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CACHE_RELATIONSHIP__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_CACHE_RELATIONSHIP__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CACHE_RELATIONSHIP__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CACHE_RELATIONSHIP__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP__bindgen_ty_1), + "::", + stringify!(GroupMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMasks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP__bindgen_ty_1), + "::", + stringify!(GroupMasks) + ) + ); +} +#[test] +fn bindgen_test_layout__CACHE_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_CACHE_RELATIONSHIP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CACHE_RELATIONSHIP>(), + 48usize, + concat!("Size of: ", stringify!(_CACHE_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_CACHE_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_CACHE_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Associativity) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Associativity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LineSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(LineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(CacheSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(GroupCount) + ) + ); +} +pub type CACHE_RELATIONSHIP = _CACHE_RELATIONSHIP; +pub type PCACHE_RELATIONSHIP = *mut _CACHE_RELATIONSHIP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_GROUP_INFO { + pub MaximumProcessorCount: BYTE, + pub ActiveProcessorCount: BYTE, + pub Reserved: [BYTE; 38usize], + pub ActiveProcessorMask: KAFFINITY, +} +#[test] +fn bindgen_test_layout__PROCESSOR_GROUP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_GROUP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_GROUP_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_PROCESSOR_GROUP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_GROUP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESSOR_GROUP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumProcessorCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(MaximumProcessorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessorCount) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(ActiveProcessorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessorMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(ActiveProcessorMask) + ) + ); +} +pub type PROCESSOR_GROUP_INFO = _PROCESSOR_GROUP_INFO; +pub type PPROCESSOR_GROUP_INFO = *mut _PROCESSOR_GROUP_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GROUP_RELATIONSHIP { + pub MaximumGroupCount: WORD, + pub ActiveGroupCount: WORD, + pub Reserved: [BYTE; 20usize], + pub GroupInfo: [PROCESSOR_GROUP_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__GROUP_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_GROUP_RELATIONSHIP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GROUP_RELATIONSHIP>(), + 72usize, + concat!("Size of: ", stringify!(_GROUP_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_GROUP_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_GROUP_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumGroupCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(MaximumGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveGroupCount) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(ActiveGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(GroupInfo) + ) + ); +} +pub type GROUP_RELATIONSHIP = _GROUP_RELATIONSHIP; +pub type PGROUP_RELATIONSHIP = *mut _GROUP_RELATIONSHIP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX { + pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + pub Size: DWORD, + pub __bindgen_anon_1: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1 { + pub Processor: PROCESSOR_RELATIONSHIP, + pub NumaNode: NUMA_NODE_RELATIONSHIP, + pub Cache: CACHE_RELATIONSHIP, + pub Group: GROUP_RELATIONSHIP, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>(), + 72usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Processor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(NumaNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Group) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>(), + 80usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Relationship) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX), + "::", + stringify!(Relationship) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX), + "::", + stringify!(Size) + ) + ); +} +pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; +pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = *mut _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; +pub const _CPU_SET_INFORMATION_TYPE_CpuSetInformation: _CPU_SET_INFORMATION_TYPE = 0; +pub type _CPU_SET_INFORMATION_TYPE = ::std::os::raw::c_int; +pub use self::_CPU_SET_INFORMATION_TYPE as CPU_SET_INFORMATION_TYPE; +pub type PCPU_SET_INFORMATION_TYPE = *mut _CPU_SET_INFORMATION_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION { + pub Size: DWORD, + pub Type: CPU_SET_INFORMATION_TYPE, + pub __bindgen_anon_1: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1 { + pub CpuSet: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Id: DWORD, + pub Group: WORD, + pub LogicalProcessorIndex: BYTE, + pub CoreIndex: BYTE, + pub LastLevelCacheIndex: BYTE, + pub NumaNodeIndex: BYTE, + pub EfficiencyClass: BYTE, + pub __bindgen_anon_1: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + pub AllocationTag: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub AllFlags: BYTE, + pub __bindgen_anon_1: + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Size of: ", + stringify!( + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!( + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Parked(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_Parked(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Allocated(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_Allocated(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllocatedToTargetProcess(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_AllocatedToTargetProcess(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn RealTime(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_RealTime(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Parked: BYTE, + Allocated: BYTE, + AllocatedToTargetProcess: BYTE, + RealTime: BYTE, + ReservedFlags: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Parked: u8 = unsafe { ::std::mem::transmute(Parked) }; + Parked as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Allocated: u8 = unsafe { ::std::mem::transmute(Allocated) }; + Allocated as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllocatedToTargetProcess: u8 = + unsafe { ::std::mem::transmute(AllocatedToTargetProcess) }; + AllocatedToTargetProcess as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let RealTime: u8 = unsafe { ::std::mem::transmute(RealTime) }; + RealTime as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let ReservedFlags: u8 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( + ), + 1usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( + ), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub Reserved: DWORD, + pub SchedulingClass: BYTE, +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulingClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(SchedulingClass) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalProcessorIndex) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LogicalProcessorIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreIndex) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(CoreIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastLevelCacheIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LastLevelCacheIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNodeIndex) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(NumaNodeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfficiencyClass) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(EfficiencyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationTag) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllocationTag) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuSet) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1), + "::", + stringify!(CpuSet) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_SYSTEM_CPU_SET_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SYSTEM_CPU_SET_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION), + "::", + stringify!(Type) + ) + ); +} +pub type SYSTEM_CPU_SET_INFORMATION = _SYSTEM_CPU_SET_INFORMATION; +pub type PSYSTEM_CPU_SET_INFORMATION = *mut _SYSTEM_CPU_SET_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POOL_ZEROING_INFORMATION { + pub PoolZeroingSupportPresent: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SYSTEM_POOL_ZEROING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POOL_ZEROING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POOL_ZEROING_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_SYSTEM_POOL_ZEROING_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POOL_ZEROING_INFORMATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_POOL_ZEROING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PoolZeroingSupportPresent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POOL_ZEROING_INFORMATION), + "::", + stringify!(PoolZeroingSupportPresent) + ) + ); +} +pub type SYSTEM_POOL_ZEROING_INFORMATION = _SYSTEM_POOL_ZEROING_INFORMATION; +pub type PSYSTEM_POOL_ZEROING_INFORMATION = *mut _SYSTEM_POOL_ZEROING_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { + pub CycleTime: DWORD64, +} +#[test] +fn bindgen_test_layout__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION), + "::", + stringify!(CycleTime) + ) + ); +} +pub type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; +pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = *mut _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION() { + assert_eq!( + ::std::mem::size_of::<_SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION) + ) + ); +} +impl _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION { + #[inline] + pub fn Machine(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_Machine(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn KernelMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_KernelMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn UserMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_UserMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub fn Native(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_Native(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn Process(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_Process(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn WoW64Container(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_WoW64Container(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedZero0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 11u8) as u32) } + } + #[inline] + pub fn set_ReservedZero0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 11u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Machine: DWORD, + KernelMode: DWORD, + UserMode: DWORD, + Native: DWORD, + Process: DWORD, + WoW64Container: DWORD, + ReservedZero0: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let Machine: u32 = unsafe { ::std::mem::transmute(Machine) }; + Machine as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let KernelMode: u32 = unsafe { ::std::mem::transmute(KernelMode) }; + KernelMode as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let UserMode: u32 = unsafe { ::std::mem::transmute(UserMode) }; + UserMode as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let Native: u32 = unsafe { ::std::mem::transmute(Native) }; + Native as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let Process: u32 = unsafe { ::std::mem::transmute(Process) }; + Process as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let WoW64Container: u32 = unsafe { ::std::mem::transmute(WoW64Container) }; + WoW64Container as u64 + }); + __bindgen_bitfield_unit.set(21usize, 11u8, { + let ReservedZero0: u32 = unsafe { ::std::mem::transmute(ReservedZero0) }; + ReservedZero0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION = + _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_FEATURE { + pub Offset: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__XSTATE_FEATURE() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_FEATURE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_FEATURE>(), + 8usize, + concat!("Size of: ", stringify!(_XSTATE_FEATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_FEATURE>(), + 4usize, + concat!("Alignment of ", stringify!(_XSTATE_FEATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_FEATURE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_FEATURE), + "::", + stringify!(Size) + ) + ); +} +pub type XSTATE_FEATURE = _XSTATE_FEATURE; +pub type PXSTATE_FEATURE = *mut _XSTATE_FEATURE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _XSTATE_CONFIGURATION { + pub EnabledFeatures: DWORD64, + pub EnabledVolatileFeatures: DWORD64, + pub Size: DWORD, + pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1, + pub Features: [XSTATE_FEATURE; 64usize], + pub EnabledSupervisorFeatures: DWORD64, + pub AlignedFeatures: DWORD64, + pub AllFeatureSize: DWORD, + pub AllFeatures: [DWORD; 64usize], + pub EnabledUserVisibleSupervisorFeatures: DWORD64, + pub ExtendedFeatureDisableFeatures: DWORD64, + pub AllNonLargeFeatureSize: DWORD, + pub Spare: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _XSTATE_CONFIGURATION__bindgen_ty_1 { + pub ControlFlags: DWORD, + pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn OptimizedSave(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_OptimizedSave(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn CompactionEnabled(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_CompactionEnabled(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ExtendedFeatureDisable(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_ExtendedFeatureDisable(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + OptimizedSave: DWORD, + CompactionEnabled: DWORD, + ExtendedFeatureDisable: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let OptimizedSave: u32 = unsafe { ::std::mem::transmute(OptimizedSave) }; + OptimizedSave as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let CompactionEnabled: u32 = unsafe { ::std::mem::transmute(CompactionEnabled) }; + CompactionEnabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let ExtendedFeatureDisable: u32 = + unsafe { ::std::mem::transmute(ExtendedFeatureDisable) }; + ExtendedFeatureDisable as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONFIGURATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1), + "::", + stringify!(ControlFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONFIGURATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION>(), + 840usize, + concat!("Size of: ", stringify!(_XSTATE_CONFIGURATION)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION>(), + 8usize, + concat!("Alignment of ", stringify!(_XSTATE_CONFIGURATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledFeatures) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledVolatileFeatures) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledVolatileFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(Features) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledSupervisorFeatures) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledSupervisorFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignedFeatures) as usize - ptr as usize }, + 544usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AlignedFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFeatureSize) as usize - ptr as usize }, + 552usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AllFeatureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFeatures) as usize - ptr as usize }, + 556usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AllFeatures) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EnabledUserVisibleSupervisorFeatures) as usize + - ptr as usize + }, + 816usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledUserVisibleSupervisorFeatures) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ExtendedFeatureDisableFeatures) as usize - ptr as usize + }, + 824usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(ExtendedFeatureDisableFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllNonLargeFeatureSize) as usize - ptr as usize }, + 832usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AllNonLargeFeatureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 836usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(Spare) + ) + ); +} +pub type XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION; +pub type PXSTATE_CONFIGURATION = *mut _XSTATE_CONFIGURATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION { + pub BaseAddress: PVOID, + pub AllocationBase: PVOID, + pub AllocationProtect: DWORD, + pub PartitionId: WORD, + pub RegionSize: SIZE_T, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(PartitionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(Type) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION = _MEMORY_BASIC_INFORMATION; +pub type PMEMORY_BASIC_INFORMATION = *mut _MEMORY_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION32 { + pub BaseAddress: DWORD, + pub AllocationBase: DWORD, + pub AllocationProtect: DWORD, + pub RegionSize: DWORD, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION32() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION32>(), + 28usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION32)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION32>(), + 4usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(Type) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32; +pub type PMEMORY_BASIC_INFORMATION32 = *mut _MEMORY_BASIC_INFORMATION32; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION64 { + pub BaseAddress: ULONGLONG, + pub AllocationBase: ULONGLONG, + pub AllocationProtect: DWORD, + pub __alignment1: DWORD, + pub RegionSize: ULONGLONG, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, + pub __alignment2: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION64() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION64>(), + 48usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION64)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION64>(), + 16usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__alignment1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(__alignment1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__alignment2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(__alignment2) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64; +pub type PMEMORY_BASIC_INFORMATION64 = *mut _MEMORY_BASIC_INFORMATION64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CFG_CALL_TARGET_INFO { + pub Offset: ULONG_PTR, + pub Flags: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__CFG_CALL_TARGET_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CFG_CALL_TARGET_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CFG_CALL_TARGET_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CFG_CALL_TARGET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CFG_CALL_TARGET_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CFG_CALL_TARGET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CFG_CALL_TARGET_INFO), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CFG_CALL_TARGET_INFO), + "::", + stringify!(Flags) + ) + ); +} +pub type CFG_CALL_TARGET_INFO = _CFG_CALL_TARGET_INFO; +pub type PCFG_CALL_TARGET_INFO = *mut _CFG_CALL_TARGET_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEM_ADDRESS_REQUIREMENTS { + pub LowestStartingAddress: PVOID, + pub HighestEndingAddress: PVOID, + pub Alignment: SIZE_T, +} +#[test] +fn bindgen_test_layout__MEM_ADDRESS_REQUIREMENTS() { + const UNINIT: ::std::mem::MaybeUninit<_MEM_ADDRESS_REQUIREMENTS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEM_ADDRESS_REQUIREMENTS>(), + 24usize, + concat!("Size of: ", stringify!(_MEM_ADDRESS_REQUIREMENTS)) + ); + assert_eq!( + ::std::mem::align_of::<_MEM_ADDRESS_REQUIREMENTS>(), + 8usize, + concat!("Alignment of ", stringify!(_MEM_ADDRESS_REQUIREMENTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestStartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(LowestStartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestEndingAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(HighestEndingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(Alignment) + ) + ); +} +pub type MEM_ADDRESS_REQUIREMENTS = _MEM_ADDRESS_REQUIREMENTS; +pub type PMEM_ADDRESS_REQUIREMENTS = *mut _MEM_ADDRESS_REQUIREMENTS; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterInvalidType: MEM_EXTENDED_PARAMETER_TYPE = + 0; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAddressRequirements: + MEM_EXTENDED_PARAMETER_TYPE = 1; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterNumaNode: MEM_EXTENDED_PARAMETER_TYPE = 2; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterPartitionHandle: + MEM_EXTENDED_PARAMETER_TYPE = 3; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterUserPhysicalHandle: + MEM_EXTENDED_PARAMETER_TYPE = 4; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAttributeFlags: + MEM_EXTENDED_PARAMETER_TYPE = 5; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterImageMachine: + MEM_EXTENDED_PARAMETER_TYPE = 6; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterMax: MEM_EXTENDED_PARAMETER_TYPE = 7; +pub type MEM_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; +pub type PMEM_EXTENDED_PARAMETER_TYPE = *mut MEM_EXTENDED_PARAMETER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MEM_EXTENDED_PARAMETER { + pub __bindgen_anon_1: MEM_EXTENDED_PARAMETER__bindgen_ty_1, + pub __bindgen_anon_2: MEM_EXTENDED_PARAMETER__bindgen_ty_2, +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct MEM_EXTENDED_PARAMETER__bindgen_ty_1 { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_1) + ) + ); +} +impl MEM_EXTENDED_PARAMETER__bindgen_ty_1 { + #[inline] + pub fn Type(&self) -> DWORD64 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u64) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD64) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD64 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 56u8) as u64) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD64) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 56u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Type: DWORD64, Reserved: DWORD64) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let Type: u64 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(8usize, 56u8, { + let Reserved: u64 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union MEM_EXTENDED_PARAMETER__bindgen_ty_2 { + pub ULong64: DWORD64, + pub Pointer: PVOID, + pub Size: SIZE_T, + pub Handle: HANDLE, + pub ULong: DWORD, +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ULong64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(ULong64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Pointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ULong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(ULong) + ) + ); +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(MEM_EXTENDED_PARAMETER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MEM_EXTENDED_PARAMETER)) + ); +} +pub type PMEM_EXTENDED_PARAMETER = *mut MEM_EXTENDED_PARAMETER; +pub const _MEM_DEDICATED_ATTRIBUTE_TYPE_MemDedicatedAttributeReadBandwidth: + _MEM_DEDICATED_ATTRIBUTE_TYPE = 0; +pub const _MEM_DEDICATED_ATTRIBUTE_TYPE_MemDedicatedAttributeReadLatency: + _MEM_DEDICATED_ATTRIBUTE_TYPE = 1; +pub const _MEM_DEDICATED_ATTRIBUTE_TYPE_MemDedicatedAttributeWriteBandwidth: + _MEM_DEDICATED_ATTRIBUTE_TYPE = 2; +pub const _MEM_DEDICATED_ATTRIBUTE_TYPE_MemDedicatedAttributeWriteLatency: + _MEM_DEDICATED_ATTRIBUTE_TYPE = 3; +pub const _MEM_DEDICATED_ATTRIBUTE_TYPE_MemDedicatedAttributeMax: _MEM_DEDICATED_ATTRIBUTE_TYPE = 4; +pub type _MEM_DEDICATED_ATTRIBUTE_TYPE = ::std::os::raw::c_int; +pub use self::_MEM_DEDICATED_ATTRIBUTE_TYPE as MEM_DEDICATED_ATTRIBUTE_TYPE; +pub type PMEM_DEDICATED_ATTRIBUTE_TYPE = *mut _MEM_DEDICATED_ATTRIBUTE_TYPE; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterInvalidType: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 0; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterUserPhysicalFlags: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 1; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterNumaNode: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 2; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterSigningLevel: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 3; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterMax: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 4; +pub type MEM_SECTION_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; +pub type PMEM_SECTION_EXTENDED_PARAMETER_TYPE = *mut MEM_SECTION_EXTENDED_PARAMETER_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_SGX { + pub Secs: [BYTE; 4096usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_SGX() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_SGX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_SGX>(), + 4096usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_SGX)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_SGX>(), + 1usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_SGX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Secs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_SGX), + "::", + stringify!(Secs) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_SGX = _ENCLAVE_CREATE_INFO_SGX; +pub type PENCLAVE_CREATE_INFO_SGX = *mut _ENCLAVE_CREATE_INFO_SGX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_SGX { + pub SigStruct: [BYTE; 1808usize], + pub Reserved1: [BYTE; 240usize], + pub EInitToken: [BYTE; 304usize], + pub Reserved2: [BYTE; 1744usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_SGX() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_SGX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_SGX>(), + 4096usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_SGX)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_SGX>(), + 1usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_SGX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SigStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(SigStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 1808usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EInitToken) as usize - ptr as usize }, + 2048usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(EInitToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 2352usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(Reserved2) + ) + ); +} +pub type ENCLAVE_INIT_INFO_SGX = _ENCLAVE_INIT_INFO_SGX; +pub type PENCLAVE_INIT_INFO_SGX = *mut _ENCLAVE_INIT_INFO_SGX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_VBS { + pub Flags: DWORD, + pub OwnerID: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_VBS() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_VBS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_VBS>(), + 36usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_VBS)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_VBS>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_VBS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS), + "::", + stringify!(OwnerID) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_VBS = _ENCLAVE_CREATE_INFO_VBS; +pub type PENCLAVE_CREATE_INFO_VBS = *mut _ENCLAVE_CREATE_INFO_VBS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_VBS_BASIC { + pub Flags: DWORD, + pub OwnerID: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_VBS_BASIC>(), + 36usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_VBS_BASIC>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC), + "::", + stringify!(OwnerID) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_VBS_BASIC = _ENCLAVE_CREATE_INFO_VBS_BASIC; +pub type PENCLAVE_CREATE_INFO_VBS_BASIC = *mut _ENCLAVE_CREATE_INFO_VBS_BASIC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_LOAD_DATA_VBS_BASIC { + pub PageType: DWORD, +} +#[test] +fn bindgen_test_layout__ENCLAVE_LOAD_DATA_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_LOAD_DATA_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_LOAD_DATA_VBS_BASIC>(), + 4usize, + concat!("Size of: ", stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_LOAD_DATA_VBS_BASIC>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PageType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC), + "::", + stringify!(PageType) + ) + ); +} +pub type ENCLAVE_LOAD_DATA_VBS_BASIC = _ENCLAVE_LOAD_DATA_VBS_BASIC; +pub type PENCLAVE_LOAD_DATA_VBS_BASIC = *mut _ENCLAVE_LOAD_DATA_VBS_BASIC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_VBS_BASIC { + pub FamilyId: [BYTE; 16usize], + pub ImageId: [BYTE; 16usize], + pub EnclaveSize: ULONGLONG, + pub EnclaveSvn: DWORD, + pub Reserved: DWORD, + pub __bindgen_anon_1: _ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1 { + pub SignatureInfoHandle: HANDLE, + pub Unused: ULONGLONG, +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureInfoHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1), + "::", + stringify!(SignatureInfoHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1), + "::", + stringify!(Unused) + ) + ); +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS_BASIC>(), + 56usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS_BASIC>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(FamilyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(ImageId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSvn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(EnclaveSvn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(Reserved) + ) + ); +} +pub type ENCLAVE_INIT_INFO_VBS_BASIC = _ENCLAVE_INIT_INFO_VBS_BASIC; +pub type PENCLAVE_INIT_INFO_VBS_BASIC = *mut _ENCLAVE_INIT_INFO_VBS_BASIC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_VBS { + pub Length: DWORD, + pub ThreadCount: DWORD, +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS>(), + 8usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_VBS)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_VBS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThreadCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS), + "::", + stringify!(ThreadCount) + ) + ); +} +pub type ENCLAVE_INIT_INFO_VBS = _ENCLAVE_INIT_INFO_VBS; +pub type PENCLAVE_INIT_INFO_VBS = *mut _ENCLAVE_INIT_INFO_VBS; +pub type ENCLAVE_TARGET_FUNCTION = + ::std::option::Option PVOID>; +pub type PENCLAVE_TARGET_FUNCTION = ENCLAVE_TARGET_FUNCTION; +pub type LPENCLAVE_TARGET_FUNCTION = PENCLAVE_TARGET_FUNCTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE { + pub Type: MEM_DEDICATED_ATTRIBUTE_TYPE, + pub Reserved: DWORD, + pub Value: DWORD64, +} +#[test] +fn bindgen_test_layout__MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE>(), + 16usize, + concat!( + "Size of: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE), + "::", + stringify!(Value) + ) + ); +} +pub type MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE = _MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE; +pub type PMEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE = + *mut _MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION { + pub NextEntryOffset: DWORD, + pub SizeOfInformation: DWORD, + pub Flags: DWORD, + pub AttributesOffset: DWORD, + pub AttributeCount: DWORD, + pub Reserved: DWORD, + pub TypeId: DWORD64, +} +#[test] +fn bindgen_test_layout__MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION>(), + 32usize, + concat!( + "Size of: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInformation) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(SizeOfInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributesOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(AttributesOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(AttributeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION), + "::", + stringify!(TypeId) + ) + ); +} +pub type MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION = + _MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION; +pub type PMEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION = + *mut _MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ID_128 { + pub Identifier: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_128() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_128> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_128>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ID_128)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_128>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_ID_128)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_128), + "::", + stringify!(Identifier) + ) + ); +} +pub type FILE_ID_128 = _FILE_ID_128; +pub type PFILE_ID_128 = *mut _FILE_ID_128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_NOTIFY_INFORMATION { + pub NextEntryOffset: DWORD, + pub Action: DWORD, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NOTIFY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NOTIFY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NOTIFY_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_NOTIFY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NOTIFY_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_NOTIFY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NOTIFY_INFORMATION = _FILE_NOTIFY_INFORMATION; +pub type PFILE_NOTIFY_INFORMATION = *mut _FILE_NOTIFY_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_NOTIFY_EXTENDED_INFORMATION { + pub NextEntryOffset: DWORD, + pub Action: DWORD, + pub CreationTime: LARGE_INTEGER, + pub LastModificationTime: LARGE_INTEGER, + pub LastChangeTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub AllocatedLength: LARGE_INTEGER, + pub FileSize: LARGE_INTEGER, + pub FileAttributes: DWORD, + pub ReparsePointTag: DWORD, + pub FileId: LARGE_INTEGER, + pub ParentFileId: LARGE_INTEGER, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NOTIFY_EXTENDED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NOTIFY_EXTENDED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NOTIFY_EXTENDED_INFORMATION>(), + 88usize, + concat!("Size of: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NOTIFY_EXTENDED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastModificationTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastModificationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocatedLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(AllocatedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparsePointTag) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(ReparsePointTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(ParentFileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NOTIFY_EXTENDED_INFORMATION = _FILE_NOTIFY_EXTENDED_INFORMATION; +pub type PFILE_NOTIFY_EXTENDED_INFORMATION = *mut _FILE_NOTIFY_EXTENDED_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_SEGMENT_ELEMENT { + pub Buffer: *mut ::std::os::raw::c_void, + pub Alignment: ULONGLONG, +} +#[test] +fn bindgen_test_layout__FILE_SEGMENT_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SEGMENT_ELEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SEGMENT_ELEMENT>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_SEGMENT_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SEGMENT_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_SEGMENT_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SEGMENT_ELEMENT), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SEGMENT_ELEMENT), + "::", + stringify!(Alignment) + ) + ); +} +pub type FILE_SEGMENT_ELEMENT = _FILE_SEGMENT_ELEMENT; +pub type PFILE_SEGMENT_ELEMENT = *mut _FILE_SEGMENT_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REPARSE_GUID_DATA_BUFFER { + pub ReparseTag: DWORD, + pub ReparseDataLength: WORD, + pub Reserved: WORD, + pub ReparseGuid: GUID, + pub GenericReparseBuffer: _REPARSE_GUID_DATA_BUFFER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REPARSE_GUID_DATA_BUFFER__bindgen_ty_1 { + pub DataBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__REPARSE_GUID_DATA_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBuffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1), + "::", + stringify!(DataBuffer) + ) + ); +} +#[test] +fn bindgen_test_layout__REPARSE_GUID_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REPARSE_GUID_DATA_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPARSE_GUID_DATA_BUFFER>(), + 28usize, + concat!("Size of: ", stringify!(_REPARSE_GUID_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REPARSE_GUID_DATA_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REPARSE_GUID_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericReparseBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(GenericReparseBuffer) + ) + ); +} +pub type REPARSE_GUID_DATA_BUFFER = _REPARSE_GUID_DATA_BUFFER; +pub type PREPARSE_GUID_DATA_BUFFER = *mut _REPARSE_GUID_DATA_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_DATA_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub MaximumIos: DWORD, + pub ObjectId: [DWORD; 4usize], + pub Reserved: [DWORD; 41usize], + pub ResumeContext: [BYTE; 1040usize], +} +#[test] +fn bindgen_test_layout__SCRUB_DATA_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_DATA_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_DATA_INPUT>(), + 1232usize, + concat!("Size of: ", stringify!(_SCRUB_DATA_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_DATA_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCRUB_DATA_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumIos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(MaximumIos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(ObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContext) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(ResumeContext) + ) + ); +} +pub type SCRUB_DATA_INPUT = _SCRUB_DATA_INPUT; +pub type PSCRUB_DATA_INPUT = *mut _SCRUB_DATA_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_PARITY_EXTENT { + pub Offset: LONGLONG, + pub Length: ULONGLONG, +} +#[test] +fn bindgen_test_layout__SCRUB_PARITY_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_PARITY_EXTENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_PARITY_EXTENT>(), + 16usize, + concat!("Size of: ", stringify!(_SCRUB_PARITY_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_PARITY_EXTENT>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_PARITY_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT), + "::", + stringify!(Length) + ) + ); +} +pub type SCRUB_PARITY_EXTENT = _SCRUB_PARITY_EXTENT; +pub type PSCRUB_PARITY_EXTENT = *mut _SCRUB_PARITY_EXTENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_PARITY_EXTENT_DATA { + pub Size: WORD, + pub Flags: WORD, + pub NumberOfParityExtents: WORD, + pub MaximumNumberOfParityExtents: WORD, + pub ParityExtents: [SCRUB_PARITY_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout__SCRUB_PARITY_EXTENT_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_PARITY_EXTENT_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_PARITY_EXTENT_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_SCRUB_PARITY_EXTENT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_PARITY_EXTENT_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_PARITY_EXTENT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfParityExtents) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(NumberOfParityExtents) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaximumNumberOfParityExtents) as usize - ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(MaximumNumberOfParityExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(ParityExtents) + ) + ); +} +pub type SCRUB_PARITY_EXTENT_DATA = _SCRUB_PARITY_EXTENT_DATA; +pub type PSCRUB_PARITY_EXTENT_DATA = *mut _SCRUB_PARITY_EXTENT_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_DATA_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub Status: DWORD, + pub ErrorFileOffset: ULONGLONG, + pub ErrorLength: ULONGLONG, + pub NumberOfBytesRepaired: ULONGLONG, + pub NumberOfBytesFailed: ULONGLONG, + pub InternalFileReference: ULONGLONG, + pub ResumeContextLength: WORD, + pub ParityExtentDataOffset: WORD, + pub Reserved: [DWORD; 9usize], + pub NumberOfMetadataBytesProcessed: ULONGLONG, + pub NumberOfDataBytesProcessed: ULONGLONG, + pub TotalNumberOfMetadataBytesInUse: ULONGLONG, + pub TotalNumberOfDataBytesInUse: ULONGLONG, + pub DataBytesSkippedDueToNoAllocation: ULONGLONG, + pub DataBytesSkippedDueToInvalidRun: ULONGLONG, + pub DataBytesSkippedDueToIntegrityStream: ULONGLONG, + pub DataBytesSkippedDueToRegionBeingClean: ULONGLONG, + pub DataBytesSkippedDueToLockConflict: ULONGLONG, + pub DataBytesSkippedDueToNoScrubDataFlag: ULONGLONG, + pub DataBytesSkippedDueToNoScrubNonIntegrityStreamFlag: ULONGLONG, + pub DataBytesScrubbed: ULONGLONG, + pub ResumeContext: [BYTE; 1040usize], +} +#[test] +fn bindgen_test_layout__SCRUB_DATA_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_DATA_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_DATA_OUTPUT>(), + 1232usize, + concat!("Size of: ", stringify!(_SCRUB_DATA_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_DATA_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_DATA_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ErrorFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ErrorLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytesRepaired) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfBytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytesFailed) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfBytesFailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InternalFileReference) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(InternalFileReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContextLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ResumeContextLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtentDataOffset) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ParityExtentDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NumberOfMetadataBytesProcessed) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfMetadataBytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDataBytesProcessed) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfDataBytesProcessed) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalNumberOfMetadataBytesInUse) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(TotalNumberOfMetadataBytesInUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfDataBytesInUse) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(TotalNumberOfDataBytesInUse) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToNoAllocation) as usize - ptr as usize + }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToNoAllocation) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToInvalidRun) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToInvalidRun) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToIntegrityStream) as usize + - ptr as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToIntegrityStream) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToRegionBeingClean) as usize + - ptr as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToRegionBeingClean) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToLockConflict) as usize - ptr as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToLockConflict) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToNoScrubDataFlag) as usize + - ptr as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToNoScrubDataFlag) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataBytesSkippedDueToNoScrubNonIntegrityStreamFlag) as usize + - ptr as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesSkippedDueToNoScrubNonIntegrityStreamFlag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBytesScrubbed) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(DataBytesScrubbed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContext) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ResumeContext) + ) + ); +} +pub type SCRUB_DATA_OUTPUT = _SCRUB_DATA_OUTPUT; +pub type PSCRUB_DATA_OUTPUT = *mut _SCRUB_DATA_OUTPUT; +pub const _SharedVirtualDiskSupportType_SharedVirtualDisksUnsupported: + _SharedVirtualDiskSupportType = 0; +pub const _SharedVirtualDiskSupportType_SharedVirtualDisksSupported: _SharedVirtualDiskSupportType = + 1; +pub const _SharedVirtualDiskSupportType_SharedVirtualDiskSnapshotsSupported: + _SharedVirtualDiskSupportType = 3; +pub const _SharedVirtualDiskSupportType_SharedVirtualDiskCDPSnapshotsSupported: + _SharedVirtualDiskSupportType = 7; +pub type _SharedVirtualDiskSupportType = ::std::os::raw::c_int; +pub use self::_SharedVirtualDiskSupportType as SharedVirtualDiskSupportType; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateNone: + _SharedVirtualDiskHandleState = 0; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateFileShared: + _SharedVirtualDiskHandleState = 1; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateHandleShared: + _SharedVirtualDiskHandleState = 3; +pub type _SharedVirtualDiskHandleState = ::std::os::raw::c_int; +pub use self::_SharedVirtualDiskHandleState as SharedVirtualDiskHandleState; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHARED_VIRTUAL_DISK_SUPPORT { + pub SharedVirtualDiskSupport: SharedVirtualDiskSupportType, + pub HandleState: SharedVirtualDiskHandleState, +} +#[test] +fn bindgen_test_layout__SHARED_VIRTUAL_DISK_SUPPORT() { + const UNINIT: ::std::mem::MaybeUninit<_SHARED_VIRTUAL_DISK_SUPPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHARED_VIRTUAL_DISK_SUPPORT>(), + 8usize, + concat!("Size of: ", stringify!(_SHARED_VIRTUAL_DISK_SUPPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_SHARED_VIRTUAL_DISK_SUPPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_SHARED_VIRTUAL_DISK_SUPPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SharedVirtualDiskSupport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHARED_VIRTUAL_DISK_SUPPORT), + "::", + stringify!(SharedVirtualDiskSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHARED_VIRTUAL_DISK_SUPPORT), + "::", + stringify!(HandleState) + ) + ); +} +pub type SHARED_VIRTUAL_DISK_SUPPORT = _SHARED_VIRTUAL_DISK_SUPPORT; +pub type PSHARED_VIRTUAL_DISK_SUPPORT = *mut _SHARED_VIRTUAL_DISK_SUPPORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REARRANGE_FILE_DATA { + pub SourceStartingOffset: ULONGLONG, + pub TargetOffset: ULONGLONG, + pub SourceFileHandle: HANDLE, + pub Length: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REARRANGE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_REARRANGE_FILE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REARRANGE_FILE_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_REARRANGE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_REARRANGE_FILE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_REARRANGE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceStartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(SourceStartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(TargetOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(SourceFileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(Flags) + ) + ); +} +pub type REARRANGE_FILE_DATA = _REARRANGE_FILE_DATA; +pub type PREARRANGE_FILE_DATA = *mut _REARRANGE_FILE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REARRANGE_FILE_DATA32 { + pub SourceStartingOffset: ULONGLONG, + pub TargetOffset: ULONGLONG, + pub SourceFileHandle: UINT32, + pub Length: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REARRANGE_FILE_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_REARRANGE_FILE_DATA32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REARRANGE_FILE_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_REARRANGE_FILE_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_REARRANGE_FILE_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_REARRANGE_FILE_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceStartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(SourceStartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(TargetOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(SourceFileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(Flags) + ) + ); +} +pub type REARRANGE_FILE_DATA32 = _REARRANGE_FILE_DATA32; +pub type PREARRANGE_FILE_DATA32 = *mut _REARRANGE_FILE_DATA32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHUFFLE_FILE_DATA { + pub StartingOffset: LONGLONG, + pub Length: LONGLONG, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__SHUFFLE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SHUFFLE_FILE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHUFFLE_FILE_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_SHUFFLE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHUFFLE_FILE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHUFFLE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(Flags) + ) + ); +} +pub type SHUFFLE_FILE_DATA = _SHUFFLE_FILE_DATA; +pub type PSHUFFLE_FILE_DATA = *mut _SHUFFLE_FILE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETWORK_APP_INSTANCE_EA { + pub AppInstanceID: GUID, + pub CsvFlags: DWORD, +} +#[test] +fn bindgen_test_layout__NETWORK_APP_INSTANCE_EA() { + const UNINIT: ::std::mem::MaybeUninit<_NETWORK_APP_INSTANCE_EA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETWORK_APP_INSTANCE_EA>(), + 20usize, + concat!("Size of: ", stringify!(_NETWORK_APP_INSTANCE_EA)) + ); + assert_eq!( + ::std::mem::align_of::<_NETWORK_APP_INSTANCE_EA>(), + 4usize, + concat!("Alignment of ", stringify!(_NETWORK_APP_INSTANCE_EA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppInstanceID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETWORK_APP_INSTANCE_EA), + "::", + stringify!(AppInstanceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CsvFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETWORK_APP_INSTANCE_EA), + "::", + stringify!(CsvFlags) + ) + ); +} +pub type NETWORK_APP_INSTANCE_EA = _NETWORK_APP_INSTANCE_EA; +pub type PNETWORK_APP_INSTANCE_EA = *mut _NETWORK_APP_INSTANCE_EA; +extern "C" { + pub static GUID_MAX_POWER_SAVINGS: GUID; +} +extern "C" { + pub static GUID_MIN_POWER_SAVINGS: GUID; +} +extern "C" { + pub static GUID_TYPICAL_POWER_SAVINGS: GUID; +} +extern "C" { + pub static NO_SUBGROUP_GUID: GUID; +} +extern "C" { + pub static ALL_POWERSCHEMES_GUID: GUID; +} +extern "C" { + pub static GUID_POWERSCHEME_PERSONALITY: GUID; +} +extern "C" { + pub static GUID_ACTIVE_POWERSCHEME: GUID; +} +extern "C" { + pub static GUID_IDLE_RESILIENCY_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_IDLE_RESILIENCY_PERIOD: GUID; +} +extern "C" { + pub static GUID_DEEP_SLEEP_ENABLED: GUID; +} +extern "C" { + pub static GUID_DEEP_SLEEP_PLATFORM_STATE: GUID; +} +extern "C" { + pub static GUID_DISK_COALESCING_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_VIDEO_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ANNOYANCE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE: GUID; +} +extern "C" { + pub static GUID_VIDEO_DIM_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_POWERDOWN: GUID; +} +extern "C" { + pub static GUID_MONITOR_POWER_ON: GUID; +} +extern "C" { + pub static GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_CONSOLE_DISPLAY_STATE: GUID; +} +extern "C" { + pub static GUID_ALLOW_DISPLAY_REQUIRED: GUID; +} +extern "C" { + pub static GUID_VIDEO_CONSOLE_LOCK_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_ADVANCED_COLOR_QUALITY_BIAS: GUID; +} +extern "C" { + pub static GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_NON_ADAPTIVE_INPUT_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_ADAPTIVE_INPUT_CONTROLLER_STATE: GUID; +} +extern "C" { + pub static GUID_DISK_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_DISK_MAX_POWER: GUID; +} +extern "C" { + pub static GUID_DISK_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_DISK_IDLE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_DISK_BURST_IGNORE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_DISK_ADAPTIVE_POWERDOWN: GUID; +} +extern "C" { + pub static GUID_DISK_NVME_NOPPME: GUID; +} +extern "C" { + pub static GUID_SLEEP_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_SLEEP_IDLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_STANDBY_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_UNATTEND_SLEEP_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_HIBERNATE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_HIBERNATE_FASTS4_POLICY: GUID; +} +extern "C" { + pub static GUID_CRITICAL_POWER_TRANSITION: GUID; +} +extern "C" { + pub static GUID_SYSTEM_AWAYMODE: GUID; +} +extern "C" { + pub static GUID_ALLOW_AWAYMODE: GUID; +} +extern "C" { + pub static GUID_USER_PRESENCE_PREDICTION: GUID; +} +extern "C" { + pub static GUID_STANDBY_BUDGET_GRACE_PERIOD: GUID; +} +extern "C" { + pub static GUID_STANDBY_BUDGET_PERCENT: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESERVE_GRACE_PERIOD: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESERVE_TIME: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESET_PERCENT: GUID; +} +extern "C" { + pub static GUID_HUPR_ADAPTIVE_DISPLAY_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_ALLOW_STANDBY_STATES: GUID; +} +extern "C" { + pub static GUID_ALLOW_RTC_WAKE: GUID; +} +extern "C" { + pub static GUID_LEGACY_RTC_MITIGATION: GUID; +} +extern "C" { + pub static GUID_ALLOW_SYSTEM_REQUIRED: GUID; +} +extern "C" { + pub static GUID_POWER_SAVING_STATUS: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_BATTERY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_POLICY: GUID; +} +extern "C" { + pub static GUID_SYSTEM_BUTTON_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_POWERBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_SLEEPBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_USERINTERFACEBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_LIDCLOSE_ACTION: GUID; +} +extern "C" { + pub static GUID_LIDOPEN_POWERSTATE: GUID; +} +extern "C" { + pub static GUID_BATTERY_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_3: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_3: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_3: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SETTINGS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MAXIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MAXIMUM_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MINIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MINIMUM_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_FREQUENCY_LIMIT: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_FREQUENCY_LIMIT_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_ALLOW_THROTTLING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLESTATE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERFSTATE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_POLICY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_POLICY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_TIME_CHECK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_BOOST_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_BOOST_MODE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_AUTONOMOUS_MODE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_DUTY_CYCLING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_ALLOW_SCALING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_DISABLE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_STATE_MAXIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_TIME_CHECK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_CORE_OVERRIDE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_PERF_STATE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_PERF_STATE_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SOFT_PARKING_LATENCY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_HISTORY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_CORE_PARKING_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_DISTRIBUTE_UTILITY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETEROGENEOUS_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CLASS0_FLOOR_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CLASS1_INITIAL_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THREAD_SCHEDULING_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SHORT_THREAD_SCHEDULING_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SHORT_THREAD_RUNTIME_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_SYSTEM_COOLING_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR_1: GUID; +} +extern "C" { + pub static GUID_LOCK_CONSOLE_ON_WAKE: GUID; +} +extern "C" { + pub static GUID_DEVICE_IDLE_POLICY: GUID; +} +extern "C" { + pub static GUID_CONNECTIVITY_IN_STANDBY: GUID; +} +extern "C" { + pub static GUID_DISCONNECTED_STANDBY_MODE: GUID; +} +extern "C" { + pub static GUID_ACDC_POWER_SOURCE: GUID; +} +extern "C" { + pub static GUID_LIDSWITCH_STATE_CHANGE: GUID; +} +extern "C" { + pub static GUID_LIDSWITCH_STATE_RELIABILITY: GUID; +} +extern "C" { + pub static GUID_BATTERY_PERCENTAGE_REMAINING: GUID; +} +extern "C" { + pub static GUID_BATTERY_COUNT: GUID; +} +extern "C" { + pub static GUID_GLOBAL_USER_PRESENCE: GUID; +} +extern "C" { + pub static GUID_SESSION_DISPLAY_STATUS: GUID; +} +extern "C" { + pub static GUID_SESSION_USER_PRESENCE: GUID; +} +extern "C" { + pub static GUID_IDLE_BACKGROUND_TASK: GUID; +} +extern "C" { + pub static GUID_BACKGROUND_TASK_NOTIFICATION: GUID; +} +extern "C" { + pub static GUID_APPLAUNCH_BUTTON: GUID; +} +extern "C" { + pub static GUID_PCIEXPRESS_SETTINGS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_PCIEXPRESS_ASPM_POLICY: GUID; +} +extern "C" { + pub static GUID_ENABLE_SWITCH_FORCED_SHUTDOWN: GUID; +} +extern "C" { + pub static GUID_INTSTEER_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_INTSTEER_MODE: GUID; +} +extern "C" { + pub static GUID_INTSTEER_LOAD_PER_PROC_TRIGGER: GUID; +} +extern "C" { + pub static GUID_INTSTEER_TIME_UNPARK_TRIGGER: GUID; +} +extern "C" { + pub static GUID_GRAPHICS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_GPU_PREFERENCE_POLICY: GUID; +} +extern "C" { + pub static GUID_MIXED_REALITY_MODE: GUID; +} +extern "C" { + pub static GUID_SPR_ACTIVE_SESSION_CHANGE: GUID; +} +pub const _SYSTEM_POWER_STATE_PowerSystemUnspecified: _SYSTEM_POWER_STATE = 0; +pub const _SYSTEM_POWER_STATE_PowerSystemWorking: _SYSTEM_POWER_STATE = 1; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping1: _SYSTEM_POWER_STATE = 2; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping2: _SYSTEM_POWER_STATE = 3; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping3: _SYSTEM_POWER_STATE = 4; +pub const _SYSTEM_POWER_STATE_PowerSystemHibernate: _SYSTEM_POWER_STATE = 5; +pub const _SYSTEM_POWER_STATE_PowerSystemShutdown: _SYSTEM_POWER_STATE = 6; +pub const _SYSTEM_POWER_STATE_PowerSystemMaximum: _SYSTEM_POWER_STATE = 7; +pub type _SYSTEM_POWER_STATE = ::std::os::raw::c_int; +pub use self::_SYSTEM_POWER_STATE as SYSTEM_POWER_STATE; +pub type PSYSTEM_POWER_STATE = *mut _SYSTEM_POWER_STATE; +pub const POWER_ACTION_PowerActionNone: POWER_ACTION = 0; +pub const POWER_ACTION_PowerActionReserved: POWER_ACTION = 1; +pub const POWER_ACTION_PowerActionSleep: POWER_ACTION = 2; +pub const POWER_ACTION_PowerActionHibernate: POWER_ACTION = 3; +pub const POWER_ACTION_PowerActionShutdown: POWER_ACTION = 4; +pub const POWER_ACTION_PowerActionShutdownReset: POWER_ACTION = 5; +pub const POWER_ACTION_PowerActionShutdownOff: POWER_ACTION = 6; +pub const POWER_ACTION_PowerActionWarmEject: POWER_ACTION = 7; +pub const POWER_ACTION_PowerActionDisplayOff: POWER_ACTION = 8; +pub type POWER_ACTION = ::std::os::raw::c_int; +pub type PPOWER_ACTION = *mut POWER_ACTION; +pub const _DEVICE_POWER_STATE_PowerDeviceUnspecified: _DEVICE_POWER_STATE = 0; +pub const _DEVICE_POWER_STATE_PowerDeviceD0: _DEVICE_POWER_STATE = 1; +pub const _DEVICE_POWER_STATE_PowerDeviceD1: _DEVICE_POWER_STATE = 2; +pub const _DEVICE_POWER_STATE_PowerDeviceD2: _DEVICE_POWER_STATE = 3; +pub const _DEVICE_POWER_STATE_PowerDeviceD3: _DEVICE_POWER_STATE = 4; +pub const _DEVICE_POWER_STATE_PowerDeviceMaximum: _DEVICE_POWER_STATE = 5; +pub type _DEVICE_POWER_STATE = ::std::os::raw::c_int; +pub use self::_DEVICE_POWER_STATE as DEVICE_POWER_STATE; +pub type PDEVICE_POWER_STATE = *mut _DEVICE_POWER_STATE; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorOff: _MONITOR_DISPLAY_STATE = 0; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorOn: _MONITOR_DISPLAY_STATE = 1; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorDim: _MONITOR_DISPLAY_STATE = 2; +pub type _MONITOR_DISPLAY_STATE = ::std::os::raw::c_int; +pub use self::_MONITOR_DISPLAY_STATE as MONITOR_DISPLAY_STATE; +pub type PMONITOR_DISPLAY_STATE = *mut _MONITOR_DISPLAY_STATE; +pub const _USER_ACTIVITY_PRESENCE_PowerUserPresent: _USER_ACTIVITY_PRESENCE = 0; +pub const _USER_ACTIVITY_PRESENCE_PowerUserNotPresent: _USER_ACTIVITY_PRESENCE = 1; +pub const _USER_ACTIVITY_PRESENCE_PowerUserInactive: _USER_ACTIVITY_PRESENCE = 2; +pub const _USER_ACTIVITY_PRESENCE_PowerUserMaximum: _USER_ACTIVITY_PRESENCE = 3; +pub const _USER_ACTIVITY_PRESENCE_PowerUserInvalid: _USER_ACTIVITY_PRESENCE = 3; +pub type _USER_ACTIVITY_PRESENCE = ::std::os::raw::c_int; +pub use self::_USER_ACTIVITY_PRESENCE as USER_ACTIVITY_PRESENCE; +pub type PUSER_ACTIVITY_PRESENCE = *mut _USER_ACTIVITY_PRESENCE; +pub type EXECUTION_STATE = DWORD; +pub type PEXECUTION_STATE = *mut DWORD; +pub const LATENCY_TIME_LT_DONT_CARE: LATENCY_TIME = 0; +pub const LATENCY_TIME_LT_LOWEST_LATENCY: LATENCY_TIME = 1; +pub type LATENCY_TIME = ::std::os::raw::c_int; +pub const _POWER_REQUEST_TYPE_PowerRequestDisplayRequired: _POWER_REQUEST_TYPE = 0; +pub const _POWER_REQUEST_TYPE_PowerRequestSystemRequired: _POWER_REQUEST_TYPE = 1; +pub const _POWER_REQUEST_TYPE_PowerRequestAwayModeRequired: _POWER_REQUEST_TYPE = 2; +pub const _POWER_REQUEST_TYPE_PowerRequestExecutionRequired: _POWER_REQUEST_TYPE = 3; +pub type _POWER_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_POWER_REQUEST_TYPE as POWER_REQUEST_TYPE; +pub type PPOWER_REQUEST_TYPE = *mut _POWER_REQUEST_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CM_Power_Data_s { + pub PD_Size: DWORD, + pub PD_MostRecentPowerState: DEVICE_POWER_STATE, + pub PD_Capabilities: DWORD, + pub PD_D1Latency: DWORD, + pub PD_D2Latency: DWORD, + pub PD_D3Latency: DWORD, + pub PD_PowerStateMapping: [DEVICE_POWER_STATE; 7usize], + pub PD_DeepestSystemWake: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_CM_Power_Data_s() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(CM_Power_Data_s)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CM_Power_Data_s)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_MostRecentPowerState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_MostRecentPowerState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_Capabilities) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D1Latency) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D1Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D2Latency) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D2Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D3Latency) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D3Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_PowerStateMapping) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_PowerStateMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_DeepestSystemWake) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_DeepestSystemWake) + ) + ); +} +pub type CM_POWER_DATA = CM_Power_Data_s; +pub type PCM_POWER_DATA = *mut CM_Power_Data_s; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyAc: POWER_INFORMATION_LEVEL = 0; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyDc: POWER_INFORMATION_LEVEL = 1; +pub const POWER_INFORMATION_LEVEL_VerifySystemPolicyAc: POWER_INFORMATION_LEVEL = 2; +pub const POWER_INFORMATION_LEVEL_VerifySystemPolicyDc: POWER_INFORMATION_LEVEL = 3; +pub const POWER_INFORMATION_LEVEL_SystemPowerCapabilities: POWER_INFORMATION_LEVEL = 4; +pub const POWER_INFORMATION_LEVEL_SystemBatteryState: POWER_INFORMATION_LEVEL = 5; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateHandler: POWER_INFORMATION_LEVEL = 6; +pub const POWER_INFORMATION_LEVEL_ProcessorStateHandler: POWER_INFORMATION_LEVEL = 7; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyCurrent: POWER_INFORMATION_LEVEL = 8; +pub const POWER_INFORMATION_LEVEL_AdministratorPowerPolicy: POWER_INFORMATION_LEVEL = 9; +pub const POWER_INFORMATION_LEVEL_SystemReserveHiberFile: POWER_INFORMATION_LEVEL = 10; +pub const POWER_INFORMATION_LEVEL_ProcessorInformation: POWER_INFORMATION_LEVEL = 11; +pub const POWER_INFORMATION_LEVEL_SystemPowerInformation: POWER_INFORMATION_LEVEL = 12; +pub const POWER_INFORMATION_LEVEL_ProcessorStateHandler2: POWER_INFORMATION_LEVEL = 13; +pub const POWER_INFORMATION_LEVEL_LastWakeTime: POWER_INFORMATION_LEVEL = 14; +pub const POWER_INFORMATION_LEVEL_LastSleepTime: POWER_INFORMATION_LEVEL = 15; +pub const POWER_INFORMATION_LEVEL_SystemExecutionState: POWER_INFORMATION_LEVEL = 16; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateNotifyHandler: POWER_INFORMATION_LEVEL = 17; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyAc: POWER_INFORMATION_LEVEL = 18; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyDc: POWER_INFORMATION_LEVEL = 19; +pub const POWER_INFORMATION_LEVEL_VerifyProcessorPowerPolicyAc: POWER_INFORMATION_LEVEL = 20; +pub const POWER_INFORMATION_LEVEL_VerifyProcessorPowerPolicyDc: POWER_INFORMATION_LEVEL = 21; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyCurrent: POWER_INFORMATION_LEVEL = 22; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateLogging: POWER_INFORMATION_LEVEL = 23; +pub const POWER_INFORMATION_LEVEL_SystemPowerLoggingEntry: POWER_INFORMATION_LEVEL = 24; +pub const POWER_INFORMATION_LEVEL_SetPowerSettingValue: POWER_INFORMATION_LEVEL = 25; +pub const POWER_INFORMATION_LEVEL_NotifyUserPowerSetting: POWER_INFORMATION_LEVEL = 26; +pub const POWER_INFORMATION_LEVEL_PowerInformationLevelUnused0: POWER_INFORMATION_LEVEL = 27; +pub const POWER_INFORMATION_LEVEL_SystemMonitorHiberBootPowerOff: POWER_INFORMATION_LEVEL = 28; +pub const POWER_INFORMATION_LEVEL_SystemVideoState: POWER_INFORMATION_LEVEL = 29; +pub const POWER_INFORMATION_LEVEL_TraceApplicationPowerMessage: POWER_INFORMATION_LEVEL = 30; +pub const POWER_INFORMATION_LEVEL_TraceApplicationPowerMessageEnd: POWER_INFORMATION_LEVEL = 31; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfStates: POWER_INFORMATION_LEVEL = 32; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleStates: POWER_INFORMATION_LEVEL = 33; +pub const POWER_INFORMATION_LEVEL_ProcessorCap: POWER_INFORMATION_LEVEL = 34; +pub const POWER_INFORMATION_LEVEL_SystemWakeSource: POWER_INFORMATION_LEVEL = 35; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileInformation: POWER_INFORMATION_LEVEL = 36; +pub const POWER_INFORMATION_LEVEL_TraceServicePowerMessage: POWER_INFORMATION_LEVEL = 37; +pub const POWER_INFORMATION_LEVEL_ProcessorLoad: POWER_INFORMATION_LEVEL = 38; +pub const POWER_INFORMATION_LEVEL_PowerShutdownNotification: POWER_INFORMATION_LEVEL = 39; +pub const POWER_INFORMATION_LEVEL_MonitorCapabilities: POWER_INFORMATION_LEVEL = 40; +pub const POWER_INFORMATION_LEVEL_SessionPowerInit: POWER_INFORMATION_LEVEL = 41; +pub const POWER_INFORMATION_LEVEL_SessionDisplayState: POWER_INFORMATION_LEVEL = 42; +pub const POWER_INFORMATION_LEVEL_PowerRequestCreate: POWER_INFORMATION_LEVEL = 43; +pub const POWER_INFORMATION_LEVEL_PowerRequestAction: POWER_INFORMATION_LEVEL = 44; +pub const POWER_INFORMATION_LEVEL_GetPowerRequestList: POWER_INFORMATION_LEVEL = 45; +pub const POWER_INFORMATION_LEVEL_ProcessorInformationEx: POWER_INFORMATION_LEVEL = 46; +pub const POWER_INFORMATION_LEVEL_NotifyUserModeLegacyPowerEvent: POWER_INFORMATION_LEVEL = 47; +pub const POWER_INFORMATION_LEVEL_GroupPark: POWER_INFORMATION_LEVEL = 48; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleDomains: POWER_INFORMATION_LEVEL = 49; +pub const POWER_INFORMATION_LEVEL_WakeTimerList: POWER_INFORMATION_LEVEL = 50; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileSize: POWER_INFORMATION_LEVEL = 51; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleStatesHv: POWER_INFORMATION_LEVEL = 52; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfStatesHv: POWER_INFORMATION_LEVEL = 53; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfCapHv: POWER_INFORMATION_LEVEL = 54; +pub const POWER_INFORMATION_LEVEL_ProcessorSetIdle: POWER_INFORMATION_LEVEL = 55; +pub const POWER_INFORMATION_LEVEL_LogicalProcessorIdling: POWER_INFORMATION_LEVEL = 56; +pub const POWER_INFORMATION_LEVEL_UserPresence: POWER_INFORMATION_LEVEL = 57; +pub const POWER_INFORMATION_LEVEL_PowerSettingNotificationName: POWER_INFORMATION_LEVEL = 58; +pub const POWER_INFORMATION_LEVEL_GetPowerSettingValue: POWER_INFORMATION_LEVEL = 59; +pub const POWER_INFORMATION_LEVEL_IdleResiliency: POWER_INFORMATION_LEVEL = 60; +pub const POWER_INFORMATION_LEVEL_SessionRITState: POWER_INFORMATION_LEVEL = 61; +pub const POWER_INFORMATION_LEVEL_SessionConnectNotification: POWER_INFORMATION_LEVEL = 62; +pub const POWER_INFORMATION_LEVEL_SessionPowerCleanup: POWER_INFORMATION_LEVEL = 63; +pub const POWER_INFORMATION_LEVEL_SessionLockState: POWER_INFORMATION_LEVEL = 64; +pub const POWER_INFORMATION_LEVEL_SystemHiberbootState: POWER_INFORMATION_LEVEL = 65; +pub const POWER_INFORMATION_LEVEL_PlatformInformation: POWER_INFORMATION_LEVEL = 66; +pub const POWER_INFORMATION_LEVEL_PdcInvocation: POWER_INFORMATION_LEVEL = 67; +pub const POWER_INFORMATION_LEVEL_MonitorInvocation: POWER_INFORMATION_LEVEL = 68; +pub const POWER_INFORMATION_LEVEL_FirmwareTableInformationRegistered: POWER_INFORMATION_LEVEL = 69; +pub const POWER_INFORMATION_LEVEL_SetShutdownSelectedTime: POWER_INFORMATION_LEVEL = 70; +pub const POWER_INFORMATION_LEVEL_SuspendResumeInvocation: POWER_INFORMATION_LEVEL = 71; +pub const POWER_INFORMATION_LEVEL_PlmPowerRequestCreate: POWER_INFORMATION_LEVEL = 72; +pub const POWER_INFORMATION_LEVEL_ScreenOff: POWER_INFORMATION_LEVEL = 73; +pub const POWER_INFORMATION_LEVEL_CsDeviceNotification: POWER_INFORMATION_LEVEL = 74; +pub const POWER_INFORMATION_LEVEL_PlatformRole: POWER_INFORMATION_LEVEL = 75; +pub const POWER_INFORMATION_LEVEL_LastResumePerformance: POWER_INFORMATION_LEVEL = 76; +pub const POWER_INFORMATION_LEVEL_DisplayBurst: POWER_INFORMATION_LEVEL = 77; +pub const POWER_INFORMATION_LEVEL_ExitLatencySamplingPercentage: POWER_INFORMATION_LEVEL = 78; +pub const POWER_INFORMATION_LEVEL_RegisterSpmPowerSettings: POWER_INFORMATION_LEVEL = 79; +pub const POWER_INFORMATION_LEVEL_PlatformIdleStates: POWER_INFORMATION_LEVEL = 80; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleVeto: POWER_INFORMATION_LEVEL = 81; +pub const POWER_INFORMATION_LEVEL_PlatformIdleVeto: POWER_INFORMATION_LEVEL = 82; +pub const POWER_INFORMATION_LEVEL_SystemBatteryStatePrecise: POWER_INFORMATION_LEVEL = 83; +pub const POWER_INFORMATION_LEVEL_ThermalEvent: POWER_INFORMATION_LEVEL = 84; +pub const POWER_INFORMATION_LEVEL_PowerRequestActionInternal: POWER_INFORMATION_LEVEL = 85; +pub const POWER_INFORMATION_LEVEL_BatteryDeviceState: POWER_INFORMATION_LEVEL = 86; +pub const POWER_INFORMATION_LEVEL_PowerInformationInternal: POWER_INFORMATION_LEVEL = 87; +pub const POWER_INFORMATION_LEVEL_ThermalStandby: POWER_INFORMATION_LEVEL = 88; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileType: POWER_INFORMATION_LEVEL = 89; +pub const POWER_INFORMATION_LEVEL_PhysicalPowerButtonPress: POWER_INFORMATION_LEVEL = 90; +pub const POWER_INFORMATION_LEVEL_QueryPotentialDripsConstraint: POWER_INFORMATION_LEVEL = 91; +pub const POWER_INFORMATION_LEVEL_EnergyTrackerCreate: POWER_INFORMATION_LEVEL = 92; +pub const POWER_INFORMATION_LEVEL_EnergyTrackerQuery: POWER_INFORMATION_LEVEL = 93; +pub const POWER_INFORMATION_LEVEL_UpdateBlackBoxRecorder: POWER_INFORMATION_LEVEL = 94; +pub const POWER_INFORMATION_LEVEL_SessionAllowExternalDmaDevices: POWER_INFORMATION_LEVEL = 95; +pub const POWER_INFORMATION_LEVEL_SendSuspendResumeNotification: POWER_INFORMATION_LEVEL = 96; +pub const POWER_INFORMATION_LEVEL_PowerInformationLevelMaximum: POWER_INFORMATION_LEVEL = 97; +pub type POWER_INFORMATION_LEVEL = ::std::os::raw::c_int; +pub const POWER_USER_PRESENCE_TYPE_UserNotPresent: POWER_USER_PRESENCE_TYPE = 0; +pub const POWER_USER_PRESENCE_TYPE_UserPresent: POWER_USER_PRESENCE_TYPE = 1; +pub const POWER_USER_PRESENCE_TYPE_UserUnknown: POWER_USER_PRESENCE_TYPE = 255; +pub type POWER_USER_PRESENCE_TYPE = ::std::os::raw::c_int; +pub type PPOWER_USER_PRESENCE_TYPE = *mut POWER_USER_PRESENCE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_USER_PRESENCE { + pub UserPresence: POWER_USER_PRESENCE_TYPE, +} +#[test] +fn bindgen_test_layout__POWER_USER_PRESENCE() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_USER_PRESENCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_USER_PRESENCE>(), + 4usize, + concat!("Size of: ", stringify!(_POWER_USER_PRESENCE)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_USER_PRESENCE>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_USER_PRESENCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserPresence) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_USER_PRESENCE), + "::", + stringify!(UserPresence) + ) + ); +} +pub type POWER_USER_PRESENCE = _POWER_USER_PRESENCE; +pub type PPOWER_USER_PRESENCE = *mut _POWER_USER_PRESENCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_CONNECT { + pub Connected: BOOLEAN, + pub Console: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_CONNECT() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_CONNECT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_CONNECT>(), + 2usize, + concat!("Size of: ", stringify!(_POWER_SESSION_CONNECT)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_CONNECT>(), + 1usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_CONNECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connected) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_CONNECT), + "::", + stringify!(Connected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_CONNECT), + "::", + stringify!(Console) + ) + ); +} +pub type POWER_SESSION_CONNECT = _POWER_SESSION_CONNECT; +pub type PPOWER_SESSION_CONNECT = *mut _POWER_SESSION_CONNECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_TIMEOUTS { + pub InputTimeout: DWORD, + pub DisplayTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_TIMEOUTS() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_TIMEOUTS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_TIMEOUTS>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_SESSION_TIMEOUTS)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_TIMEOUTS>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_TIMEOUTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InputTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_TIMEOUTS), + "::", + stringify!(InputTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisplayTimeout) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_TIMEOUTS), + "::", + stringify!(DisplayTimeout) + ) + ); +} +pub type POWER_SESSION_TIMEOUTS = _POWER_SESSION_TIMEOUTS; +pub type PPOWER_SESSION_TIMEOUTS = *mut _POWER_SESSION_TIMEOUTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_RIT_STATE { + pub Active: BOOLEAN, + pub LastInputTime: DWORD64, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_RIT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_RIT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_RIT_STATE>(), + 16usize, + concat!("Size of: ", stringify!(_POWER_SESSION_RIT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_RIT_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_RIT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Active) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_RIT_STATE), + "::", + stringify!(Active) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastInputTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_RIT_STATE), + "::", + stringify!(LastInputTime) + ) + ); +} +pub type POWER_SESSION_RIT_STATE = _POWER_SESSION_RIT_STATE; +pub type PPOWER_SESSION_RIT_STATE = *mut _POWER_SESSION_RIT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_WINLOGON { + pub SessionId: DWORD, + pub Console: BOOLEAN, + pub Locked: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_WINLOGON() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_WINLOGON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_WINLOGON>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_SESSION_WINLOGON)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_WINLOGON>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_WINLOGON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(SessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(Console) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locked) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(Locked) + ) + ); +} +pub type POWER_SESSION_WINLOGON = _POWER_SESSION_WINLOGON; +pub type PPOWER_SESSION_WINLOGON = *mut _POWER_SESSION_WINLOGON; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES { + pub IsAllowed: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES>(), + 1usize, + concat!( + "Size of: ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsAllowed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES), + "::", + stringify!(IsAllowed) + ) + ); +} +pub type POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES = _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES; +pub type PPOWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES = *mut _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_IDLE_RESILIENCY { + pub CoalescingTimeout: DWORD, + pub IdleResiliencyPeriod: DWORD, +} +#[test] +fn bindgen_test_layout__POWER_IDLE_RESILIENCY() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_IDLE_RESILIENCY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_IDLE_RESILIENCY>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_IDLE_RESILIENCY)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_IDLE_RESILIENCY>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_IDLE_RESILIENCY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoalescingTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_IDLE_RESILIENCY), + "::", + stringify!(CoalescingTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleResiliencyPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_IDLE_RESILIENCY), + "::", + stringify!(IdleResiliencyPeriod) + ) + ); +} +pub type POWER_IDLE_RESILIENCY = _POWER_IDLE_RESILIENCY; +pub type PPOWER_IDLE_RESILIENCY = *mut _POWER_IDLE_RESILIENCY; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUnknown: POWER_MONITOR_REQUEST_REASON = + 0; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPowerButton: + POWER_MONITOR_REQUEST_REASON = 1; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonRemoteConnection: + POWER_MONITOR_REQUEST_REASON = 2; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScMonitorpower: + POWER_MONITOR_REQUEST_REASON = 3; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInput: POWER_MONITOR_REQUEST_REASON = + 4; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurst: + POWER_MONITOR_REQUEST_REASON = 5; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserDisplayBurst: + POWER_MONITOR_REQUEST_REASON = 6; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPoSetSystemState: + POWER_MONITOR_REQUEST_REASON = 7; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSetThreadExecutionState: + POWER_MONITOR_REQUEST_REASON = 8; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonFullWake: POWER_MONITOR_REQUEST_REASON = + 9; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSessionUnlock: + POWER_MONITOR_REQUEST_REASON = 10; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScreenOffRequest: + POWER_MONITOR_REQUEST_REASON = 11; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonIdleTimeout: + POWER_MONITOR_REQUEST_REASON = 12; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPolicyChange: + POWER_MONITOR_REQUEST_REASON = 13; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSleepButton: + POWER_MONITOR_REQUEST_REASON = 14; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonLid: POWER_MONITOR_REQUEST_REASON = 15; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryCountChange: + POWER_MONITOR_REQUEST_REASON = 16; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonGracePeriod: + POWER_MONITOR_REQUEST_REASON = 17; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPnP: POWER_MONITOR_REQUEST_REASON = 18; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDP: POWER_MONITOR_REQUEST_REASON = 19; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSxTransition: + POWER_MONITOR_REQUEST_REASON = 20; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemIdle: + POWER_MONITOR_REQUEST_REASON = 21; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonNearProximity: + POWER_MONITOR_REQUEST_REASON = 22; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonThermalStandby: + POWER_MONITOR_REQUEST_REASON = 23; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumePdc: POWER_MONITOR_REQUEST_REASON = + 24; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumeS4: POWER_MONITOR_REQUEST_REASON = + 25; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonTerminal: POWER_MONITOR_REQUEST_REASON = + 26; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignal: POWER_MONITOR_REQUEST_REASON = + 27; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurstSuppressed: + POWER_MONITOR_REQUEST_REASON = 28; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemStateEntered: + POWER_MONITOR_REQUEST_REASON = 29; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonWinrt: POWER_MONITOR_REQUEST_REASON = 30; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputKeyboard: + POWER_MONITOR_REQUEST_REASON = 31; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputMouse: + POWER_MONITOR_REQUEST_REASON = 32; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputTouchpad: + POWER_MONITOR_REQUEST_REASON = 33; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPen: + POWER_MONITOR_REQUEST_REASON = 34; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputAccelerometer: + POWER_MONITOR_REQUEST_REASON = 35; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputHid: + POWER_MONITOR_REQUEST_REASON = 36; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPoUserPresent: + POWER_MONITOR_REQUEST_REASON = 37; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputSessionSwitch: + POWER_MONITOR_REQUEST_REASON = 38; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputInitialization: + POWER_MONITOR_REQUEST_REASON = 39; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobilePwrNotif: + POWER_MONITOR_REQUEST_REASON = 40; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobileShell: + POWER_MONITOR_REQUEST_REASON = 41; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHeyCortana: + POWER_MONITOR_REQUEST_REASON = 42; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHolographicShell: + POWER_MONITOR_REQUEST_REASON = 43; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalFingerprint: + POWER_MONITOR_REQUEST_REASON = 44; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDirectedDrips: + POWER_MONITOR_REQUEST_REASON = 45; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDim: POWER_MONITOR_REQUEST_REASON = 46; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBuiltinPanel: + POWER_MONITOR_REQUEST_REASON = 47; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDisplayRequiredUnDim: + POWER_MONITOR_REQUEST_REASON = 48; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryCountChangeSuppressed: + POWER_MONITOR_REQUEST_REASON = 49; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumeModernStandby: + POWER_MONITOR_REQUEST_REASON = 50; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonTerminalInit: + POWER_MONITOR_REQUEST_REASON = 51; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalSensorsHumanPresence: + POWER_MONITOR_REQUEST_REASON = 52; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryPreCritical: + POWER_MONITOR_REQUEST_REASON = 53; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputTouch: + POWER_MONITOR_REQUEST_REASON = 54; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonMax: POWER_MONITOR_REQUEST_REASON = 55; +pub type POWER_MONITOR_REQUEST_REASON = ::std::os::raw::c_int; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeOff: _POWER_MONITOR_REQUEST_TYPE = 0; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeOnAndPresent: _POWER_MONITOR_REQUEST_TYPE = + 1; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeToggleOn: _POWER_MONITOR_REQUEST_TYPE = 2; +pub type _POWER_MONITOR_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_POWER_MONITOR_REQUEST_TYPE as POWER_MONITOR_REQUEST_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_MONITOR_INVOCATION { + pub Console: BOOLEAN, + pub RequestReason: POWER_MONITOR_REQUEST_REASON, +} +#[test] +fn bindgen_test_layout__POWER_MONITOR_INVOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_MONITOR_INVOCATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_MONITOR_INVOCATION>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_MONITOR_INVOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_MONITOR_INVOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_MONITOR_INVOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_MONITOR_INVOCATION), + "::", + stringify!(Console) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestReason) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_MONITOR_INVOCATION), + "::", + stringify!(RequestReason) + ) + ); +} +pub type POWER_MONITOR_INVOCATION = _POWER_MONITOR_INVOCATION; +pub type PPOWER_MONITOR_INVOCATION = *mut _POWER_MONITOR_INVOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESUME_PERFORMANCE { + pub PostTimeMs: DWORD, + pub TotalResumeTimeMs: ULONGLONG, + pub ResumeCompleteTimestamp: ULONGLONG, +} +#[test] +fn bindgen_test_layout__RESUME_PERFORMANCE() { + const UNINIT: ::std::mem::MaybeUninit<_RESUME_PERFORMANCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESUME_PERFORMANCE>(), + 24usize, + concat!("Size of: ", stringify!(_RESUME_PERFORMANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_RESUME_PERFORMANCE>(), + 8usize, + concat!("Alignment of ", stringify!(_RESUME_PERFORMANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostTimeMs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(PostTimeMs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalResumeTimeMs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(TotalResumeTimeMs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeCompleteTimestamp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(ResumeCompleteTimestamp) + ) + ); +} +pub type RESUME_PERFORMANCE = _RESUME_PERFORMANCE; +pub type PRESUME_PERFORMANCE = *mut _RESUME_PERFORMANCE; +pub const SYSTEM_POWER_CONDITION_PoAc: SYSTEM_POWER_CONDITION = 0; +pub const SYSTEM_POWER_CONDITION_PoDc: SYSTEM_POWER_CONDITION = 1; +pub const SYSTEM_POWER_CONDITION_PoHot: SYSTEM_POWER_CONDITION = 2; +pub const SYSTEM_POWER_CONDITION_PoConditionMaximum: SYSTEM_POWER_CONDITION = 3; +pub type SYSTEM_POWER_CONDITION = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SET_POWER_SETTING_VALUE { + pub Version: DWORD, + pub Guid: GUID, + pub PowerCondition: SYSTEM_POWER_CONDITION, + pub DataLength: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_SET_POWER_SETTING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(SET_POWER_SETTING_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SET_POWER_SETTING_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerCondition) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(PowerCondition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Data) + ) + ); +} +pub type PSET_POWER_SETTING_VALUE = *mut SET_POWER_SETTING_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NOTIFY_USER_POWER_SETTING { + pub Guid: GUID, +} +#[test] +fn bindgen_test_layout_NOTIFY_USER_POWER_SETTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NOTIFY_USER_POWER_SETTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NOTIFY_USER_POWER_SETTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NOTIFY_USER_POWER_SETTING), + "::", + stringify!(Guid) + ) + ); +} +pub type PNOTIFY_USER_POWER_SETTING = *mut NOTIFY_USER_POWER_SETTING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _APPLICATIONLAUNCH_SETTING_VALUE { + pub ActivationTime: LARGE_INTEGER, + pub Flags: DWORD, + pub ButtonInstanceID: DWORD, +} +#[test] +fn bindgen_test_layout__APPLICATIONLAUNCH_SETTING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_APPLICATIONLAUNCH_SETTING_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_APPLICATIONLAUNCH_SETTING_VALUE>(), + 16usize, + concat!("Size of: ", stringify!(_APPLICATIONLAUNCH_SETTING_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_APPLICATIONLAUNCH_SETTING_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActivationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(ActivationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ButtonInstanceID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(ButtonInstanceID) + ) + ); +} +pub type APPLICATIONLAUNCH_SETTING_VALUE = _APPLICATIONLAUNCH_SETTING_VALUE; +pub type PAPPLICATIONLAUNCH_SETTING_VALUE = *mut _APPLICATIONLAUNCH_SETTING_VALUE; +pub const _POWER_PLATFORM_ROLE_PlatformRoleUnspecified: _POWER_PLATFORM_ROLE = 0; +pub const _POWER_PLATFORM_ROLE_PlatformRoleDesktop: _POWER_PLATFORM_ROLE = 1; +pub const _POWER_PLATFORM_ROLE_PlatformRoleMobile: _POWER_PLATFORM_ROLE = 2; +pub const _POWER_PLATFORM_ROLE_PlatformRoleWorkstation: _POWER_PLATFORM_ROLE = 3; +pub const _POWER_PLATFORM_ROLE_PlatformRoleEnterpriseServer: _POWER_PLATFORM_ROLE = 4; +pub const _POWER_PLATFORM_ROLE_PlatformRoleSOHOServer: _POWER_PLATFORM_ROLE = 5; +pub const _POWER_PLATFORM_ROLE_PlatformRoleAppliancePC: _POWER_PLATFORM_ROLE = 6; +pub const _POWER_PLATFORM_ROLE_PlatformRolePerformanceServer: _POWER_PLATFORM_ROLE = 7; +pub const _POWER_PLATFORM_ROLE_PlatformRoleSlate: _POWER_PLATFORM_ROLE = 8; +pub const _POWER_PLATFORM_ROLE_PlatformRoleMaximum: _POWER_PLATFORM_ROLE = 9; +pub type _POWER_PLATFORM_ROLE = ::std::os::raw::c_int; +pub use self::_POWER_PLATFORM_ROLE as POWER_PLATFORM_ROLE; +pub type PPOWER_PLATFORM_ROLE = *mut _POWER_PLATFORM_ROLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_PLATFORM_INFORMATION { + pub AoAc: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_PLATFORM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_PLATFORM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_PLATFORM_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_POWER_PLATFORM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_PLATFORM_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_POWER_PLATFORM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_PLATFORM_INFORMATION), + "::", + stringify!(AoAc) + ) + ); +} +pub type POWER_PLATFORM_INFORMATION = _POWER_PLATFORM_INFORMATION; +pub type PPOWER_PLATFORM_INFORMATION = *mut _POWER_PLATFORM_INFORMATION; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_GROUP_POLICY: POWER_SETTING_ALTITUDE = 0; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_USER: POWER_SETTING_ALTITUDE = 1; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_RUNTIME_OVERRIDE: POWER_SETTING_ALTITUDE = 2; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_PROVISIONING: POWER_SETTING_ALTITUDE = 3; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_OEM_CUSTOMIZATION: POWER_SETTING_ALTITUDE = 4; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_INTERNAL_OVERRIDE: POWER_SETTING_ALTITUDE = 5; +pub const POWER_SETTING_ALTITUDE_ALTITUDE_OS_DEFAULT: POWER_SETTING_ALTITUDE = 6; +pub type POWER_SETTING_ALTITUDE = ::std::os::raw::c_int; +pub type PPOWER_SETTING_ALTITUDE = *mut POWER_SETTING_ALTITUDE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BATTERY_REPORTING_SCALE { + pub Granularity: DWORD, + pub Capacity: DWORD, +} +#[test] +fn bindgen_test_layout_BATTERY_REPORTING_SCALE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(BATTERY_REPORTING_SCALE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BATTERY_REPORTING_SCALE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BATTERY_REPORTING_SCALE), + "::", + stringify!(Granularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BATTERY_REPORTING_SCALE), + "::", + stringify!(Capacity) + ) + ); +} +pub type PBATTERY_REPORTING_SCALE = *mut BATTERY_REPORTING_SCALE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_LEGACY_PERFSTATE { + pub Frequency: DWORD, + pub Flags: DWORD, + pub PercentFrequency: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_WMI_LEGACY_PERFSTATE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(PPM_WMI_LEGACY_PERFSTATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_WMI_LEGACY_PERFSTATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Frequency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(Frequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PercentFrequency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(PercentFrequency) + ) + ); +} +pub type PPPM_WMI_LEGACY_PERFSTATE = *mut PPM_WMI_LEGACY_PERFSTATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATE { + pub Latency: DWORD, + pub Power: DWORD, + pub TimeCheck: DWORD, + pub PromotePercent: BYTE, + pub DemotePercent: BYTE, + pub StateType: BYTE, + pub Reserved: BYTE, + pub StateFlags: DWORD, + pub Context: DWORD, + pub IdleHandler: DWORD, + pub Reserved1: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Power) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Power) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateType) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(StateType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Context) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleHandler) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(IdleHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Reserved1) + ) + ); +} +pub type PPPM_WMI_IDLE_STATE = *mut PPM_WMI_IDLE_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATES { + pub Type: DWORD, + pub Count: DWORD, + pub TargetState: DWORD, + pub OldState: DWORD, + pub TargetProcessors: DWORD64, + pub State: [PPM_WMI_IDLE_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(TargetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_IDLE_STATES = *mut PPM_WMI_IDLE_STATES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATES_EX { + pub Type: DWORD, + pub Count: DWORD, + pub TargetState: DWORD, + pub OldState: DWORD, + pub TargetProcessors: PVOID, + pub State: [PPM_WMI_IDLE_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATES_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATES_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATES_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(TargetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_IDLE_STATES_EX = *mut PPM_WMI_IDLE_STATES_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATE { + pub Frequency: DWORD, + pub Power: DWORD, + pub PercentFrequency: BYTE, + pub IncreaseLevel: BYTE, + pub DecreaseLevel: BYTE, + pub Type: BYTE, + pub IncreaseTime: DWORD, + pub DecreaseTime: DWORD, + pub Control: DWORD64, + pub Status: DWORD64, + pub HitCount: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub Reserved3: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Frequency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Frequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Power) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Power) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PercentFrequency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(PercentFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseLevel) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(IncreaseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseLevel) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(DecreaseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(IncreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(DecreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HitCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(HitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved3) + ) + ); +} +pub type PPPM_WMI_PERF_STATE = *mut PPM_WMI_PERF_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATES { + pub Count: DWORD, + pub MaxFrequency: DWORD, + pub CurrentState: DWORD, + pub MaxPerfState: DWORD, + pub MinPerfState: DWORD, + pub LowestPerfState: DWORD, + pub ThermalConstraint: DWORD, + pub BusyAdjThreshold: BYTE, + pub PolicyType: BYTE, + pub Type: BYTE, + pub Reserved: BYTE, + pub TimerInterval: DWORD, + pub TargetProcessors: DWORD64, + pub PStateHandler: DWORD, + pub PStateContext: DWORD, + pub TStateHandler: DWORD, + pub TStateContext: DWORD, + pub FeedbackHandler: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub State: [PPM_WMI_PERF_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxFrequency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MaxFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(CurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPerfState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MaxPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinPerfState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MinPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestPerfState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(LowestPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyType) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PolicyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimerInterval) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TimerInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateContext) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateHandler) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateContext) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeedbackHandler) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(FeedbackHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_PERF_STATES = *mut PPM_WMI_PERF_STATES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATES_EX { + pub Count: DWORD, + pub MaxFrequency: DWORD, + pub CurrentState: DWORD, + pub MaxPerfState: DWORD, + pub MinPerfState: DWORD, + pub LowestPerfState: DWORD, + pub ThermalConstraint: DWORD, + pub BusyAdjThreshold: BYTE, + pub PolicyType: BYTE, + pub Type: BYTE, + pub Reserved: BYTE, + pub TimerInterval: DWORD, + pub TargetProcessors: PVOID, + pub PStateHandler: DWORD, + pub PStateContext: DWORD, + pub TStateHandler: DWORD, + pub TStateContext: DWORD, + pub FeedbackHandler: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub State: [PPM_WMI_PERF_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATES_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATES_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATES_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxFrequency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MaxFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(CurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPerfState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MaxPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinPerfState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MinPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestPerfState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(LowestPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyType) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PolicyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimerInterval) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TimerInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateContext) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateHandler) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateContext) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeedbackHandler) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(FeedbackHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_PERF_STATES_EX = *mut PPM_WMI_PERF_STATES_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_ACCOUNTING { + pub IdleTransitions: DWORD, + pub FailedTransitions: DWORD, + pub InvalidBucketIndex: DWORD, + pub TotalTime: DWORD64, + pub IdleTimeBuckets: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_ACCOUNTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_ACCOUNTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_ACCOUNTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTransitions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(IdleTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(FailedTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InvalidBucketIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(InvalidBucketIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(TotalTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeBuckets) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(IdleTimeBuckets) + ) + ); +} +pub type PPPM_IDLE_STATE_ACCOUNTING = *mut PPM_IDLE_STATE_ACCOUNTING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_ACCOUNTING { + pub StateCount: DWORD, + pub TotalTransitions: DWORD, + pub ResetCount: DWORD, + pub StartTime: DWORD64, + pub State: [PPM_IDLE_STATE_ACCOUNTING; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_ACCOUNTING() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(PPM_IDLE_ACCOUNTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_ACCOUNTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(StateCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(TotalTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(ResetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_IDLE_ACCOUNTING = *mut PPM_IDLE_ACCOUNTING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_BUCKET_EX { + pub TotalTimeUs: DWORD64, + pub MinTimeUs: DWORD, + pub MaxTimeUs: DWORD, + pub Count: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_BUCKET_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_BUCKET_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_BUCKET_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTimeUs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(TotalTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinTimeUs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(MinTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimeUs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(MaxTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(Count) + ) + ); +} +pub type PPPM_IDLE_STATE_BUCKET_EX = *mut PPM_IDLE_STATE_BUCKET_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_ACCOUNTING_EX { + pub TotalTime: DWORD64, + pub IdleTransitions: DWORD, + pub FailedTransitions: DWORD, + pub InvalidBucketIndex: DWORD, + pub MinTimeUs: DWORD, + pub MaxTimeUs: DWORD, + pub CancelledTransitions: DWORD, + pub IdleTimeBuckets: [PPM_IDLE_STATE_BUCKET_EX; 16usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_ACCOUNTING_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(TotalTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTransitions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(IdleTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedTransitions) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(FailedTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InvalidBucketIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(InvalidBucketIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinTimeUs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(MinTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimeUs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(MaxTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CancelledTransitions) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(CancelledTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeBuckets) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(IdleTimeBuckets) + ) + ); +} +pub type PPPM_IDLE_STATE_ACCOUNTING_EX = *mut PPM_IDLE_STATE_ACCOUNTING_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_ACCOUNTING_EX { + pub StateCount: DWORD, + pub TotalTransitions: DWORD, + pub ResetCount: DWORD, + pub AbortCount: DWORD, + pub StartTime: DWORD64, + pub State: [PPM_IDLE_STATE_ACCOUNTING_EX; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_ACCOUNTING_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 440usize, + concat!("Size of: ", stringify!(PPM_IDLE_ACCOUNTING_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_ACCOUNTING_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(StateCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(TotalTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(ResetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AbortCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(AbortCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_IDLE_ACCOUNTING_EX = *mut PPM_IDLE_ACCOUNTING_EX; +extern "C" { + pub static PPM_PERFSTATE_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_PERFSTATE_DOMAIN_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_IDLESTATE_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_PERFSTATES_DATA_GUID: GUID; +} +extern "C" { + pub static PPM_IDLESTATES_DATA_GUID: GUID; +} +extern "C" { + pub static PPM_IDLE_ACCOUNTING_GUID: GUID; +} +extern "C" { + pub static PPM_IDLE_ACCOUNTING_EX_GUID: GUID; +} +extern "C" { + pub static PPM_THERMALCONSTRAINT_GUID: GUID; +} +extern "C" { + pub static PPM_PERFMON_PERFSTATE_GUID: GUID; +} +extern "C" { + pub static PPM_THERMAL_POLICY_CHANGE_GUID: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_PERFSTATE_EVENT { + pub State: DWORD, + pub Status: DWORD, + pub Latency: DWORD, + pub Speed: DWORD, + pub Processor: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_PERFSTATE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(PPM_PERFSTATE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_PERFSTATE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Speed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Processor) + ) + ); +} +pub type PPPM_PERFSTATE_EVENT = *mut PPM_PERFSTATE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_PERFSTATE_DOMAIN_EVENT { + pub State: DWORD, + pub Latency: DWORD, + pub Speed: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_PERFSTATE_DOMAIN_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Speed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_PERFSTATE_DOMAIN_EVENT = *mut PPM_PERFSTATE_DOMAIN_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLESTATE_EVENT { + pub NewState: DWORD, + pub OldState: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_IDLESTATE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_IDLESTATE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLESTATE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(NewState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_IDLESTATE_EVENT = *mut PPM_IDLESTATE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_THERMALCHANGE_EVENT { + pub ThermalConstraint: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_THERMALCHANGE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_THERMALCHANGE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_THERMALCHANGE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMALCHANGE_EVENT), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMALCHANGE_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_THERMALCHANGE_EVENT = *mut PPM_THERMALCHANGE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_THERMAL_POLICY_EVENT { + pub Mode: BYTE, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_THERMAL_POLICY_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_THERMAL_POLICY_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_THERMAL_POLICY_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMAL_POLICY_EVENT), + "::", + stringify!(Mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMAL_POLICY_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_THERMAL_POLICY_EVENT = *mut PPM_THERMAL_POLICY_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct POWER_ACTION_POLICY { + pub Action: POWER_ACTION, + pub Flags: DWORD, + pub EventCode: DWORD, +} +#[test] +fn bindgen_test_layout_POWER_ACTION_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(POWER_ACTION_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(POWER_ACTION_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(EventCode) + ) + ); +} +pub type PPOWER_ACTION_POLICY = *mut POWER_ACTION_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_POWER_LEVEL { + pub Enable: BOOLEAN, + pub Spare: [BYTE; 3usize], + pub BatteryLevel: DWORD, + pub PowerPolicy: POWER_ACTION_POLICY, + pub MinSystemState: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_SYSTEM_POWER_LEVEL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(SYSTEM_POWER_LEVEL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_POWER_LEVEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(Enable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(BatteryLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerPolicy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(PowerPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSystemState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(MinSystemState) + ) + ); +} +pub type PSYSTEM_POWER_LEVEL = *mut SYSTEM_POWER_LEVEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POWER_POLICY { + pub Revision: DWORD, + pub PowerButton: POWER_ACTION_POLICY, + pub SleepButton: POWER_ACTION_POLICY, + pub LidClose: POWER_ACTION_POLICY, + pub LidOpenWake: SYSTEM_POWER_STATE, + pub Reserved: DWORD, + pub Idle: POWER_ACTION_POLICY, + pub IdleTimeout: DWORD, + pub IdleSensitivity: BYTE, + pub DynamicThrottle: BYTE, + pub Spare2: [BYTE; 2usize], + pub MinSleep: SYSTEM_POWER_STATE, + pub MaxSleep: SYSTEM_POWER_STATE, + pub ReducedLatencySleep: SYSTEM_POWER_STATE, + pub WinLogonFlags: DWORD, + pub Spare3: DWORD, + pub DozeS4Timeout: DWORD, + pub BroadcastCapacityResolution: DWORD, + pub DischargePolicy: [SYSTEM_POWER_LEVEL; 4usize], + pub VideoTimeout: DWORD, + pub VideoDimDisplay: BOOLEAN, + pub VideoReserved: [DWORD; 3usize], + pub SpindownTimeout: DWORD, + pub OptimizeForPower: BOOLEAN, + pub FanThrottleTolerance: BYTE, + pub ForcedThrottle: BYTE, + pub MinThrottle: BYTE, + pub OverThrottled: POWER_ACTION_POLICY, +} +#[test] +fn bindgen_test_layout__SYSTEM_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POWER_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POWER_POLICY>(), + 232usize, + concat!("Size of: ", stringify!(_SYSTEM_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerButton) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(PowerButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SleepButton) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(SleepButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidClose) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(LidClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidOpenWake) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(LidOpenWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Idle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Idle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeout) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(IdleTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleSensitivity) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(IdleSensitivity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicThrottle) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DynamicThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Spare2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSleep) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MinSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSleep) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MaxSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReducedLatencySleep) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(ReducedLatencySleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WinLogonFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(WinLogonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare3) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Spare3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DozeS4Timeout) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DozeS4Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BroadcastCapacityResolution) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(BroadcastCapacityResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DischargePolicy) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DischargePolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoTimeout) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoDimDisplay) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoDimDisplay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoReserved) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpindownTimeout) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(SpindownTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimizeForPower) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(OptimizeForPower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FanThrottleTolerance) as usize - ptr as usize }, + 217usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(FanThrottleTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForcedThrottle) as usize - ptr as usize }, + 218usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(ForcedThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinThrottle) as usize - ptr as usize }, + 219usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThrottled) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(OverThrottled) + ) + ); +} +pub type SYSTEM_POWER_POLICY = _SYSTEM_POWER_POLICY; +pub type PSYSTEM_POWER_POLICY = *mut _SYSTEM_POWER_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_INFO { + pub TimeCheck: DWORD, + pub DemotePercent: BYTE, + pub PromotePercent: BYTE, + pub Spare: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(PROCESSOR_IDLESTATE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_IDLESTATE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(Spare) + ) + ); +} +pub type PPROCESSOR_IDLESTATE_INFO = *mut PROCESSOR_IDLESTATE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_POLICY { + pub Revision: WORD, + pub Flags: PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1, + pub PolicyCount: DWORD, + pub Policy: [PROCESSOR_IDLESTATE_INFO; 3usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1 { + pub AsWORD: WORD, + pub __bindgen_anon_1: PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(2))] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn AllowScaling(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) } + } + #[inline] + pub fn set_AllowScaling(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Disabled(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) } + } + #[inline] + pub fn set_Disabled(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 14u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 14u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowScaling: WORD, + Disabled: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowScaling: u16 = unsafe { ::std::mem::transmute(AllowScaling) }; + AllowScaling as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Disabled: u16 = unsafe { ::std::mem::transmute(Disabled) }; + Disabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 14u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsWORD) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1), + "::", + stringify!(AsWORD) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PROCESSOR_IDLESTATE_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_IDLESTATE_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(PolicyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Policy) + ) + ); +} +pub type PPROCESSOR_IDLESTATE_POLICY = *mut PROCESSOR_IDLESTATE_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_POWER_POLICY_INFO { + pub TimeCheck: DWORD, + pub DemoteLimit: DWORD, + pub PromoteLimit: DWORD, + pub DemotePercent: BYTE, + pub PromotePercent: BYTE, + pub Spare: [BYTE; 2usize], + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESSOR_POWER_POLICY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_POWER_POLICY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_POWER_POLICY_INFO>(), + 20usize, + concat!("Size of: ", stringify!(_PROCESSOR_POWER_POLICY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_POWER_POLICY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESSOR_POWER_POLICY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemoteLimit) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(DemoteLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromoteLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(PromoteLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(Spare) + ) + ); +} +impl _PROCESSOR_POWER_POLICY_INFO { + #[inline] + pub fn AllowDemotion(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowDemotion(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowPromotion(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowPromotion(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowDemotion: DWORD, + AllowPromotion: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowDemotion: u32 = unsafe { ::std::mem::transmute(AllowDemotion) }; + AllowDemotion as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AllowPromotion: u32 = unsafe { ::std::mem::transmute(AllowPromotion) }; + AllowPromotion as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type PROCESSOR_POWER_POLICY_INFO = _PROCESSOR_POWER_POLICY_INFO; +pub type PPROCESSOR_POWER_POLICY_INFO = *mut _PROCESSOR_POWER_POLICY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_POWER_POLICY { + pub Revision: DWORD, + pub DynamicThrottle: BYTE, + pub Spare: [BYTE; 3usize], + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub PolicyCount: DWORD, + pub Policy: [PROCESSOR_POWER_POLICY_INFO; 3usize], +} +#[test] +fn bindgen_test_layout__PROCESSOR_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_POWER_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_POWER_POLICY>(), + 76usize, + concat!("Size of: ", stringify!(_PROCESSOR_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESSOR_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicThrottle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(DynamicThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(PolicyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Policy) + ) + ); +} +impl _PROCESSOR_POWER_POLICY { + #[inline] + pub fn DisableCStates(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableCStates(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableCStates: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableCStates: u32 = unsafe { ::std::mem::transmute(DisableCStates) }; + DisableCStates as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type PROCESSOR_POWER_POLICY = _PROCESSOR_POWER_POLICY; +pub type PPROCESSOR_POWER_POLICY = *mut _PROCESSOR_POWER_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PROCESSOR_PERFSTATE_POLICY { + pub Revision: DWORD, + pub MaxThrottle: BYTE, + pub MinThrottle: BYTE, + pub BusyAdjThreshold: BYTE, + pub __bindgen_anon_1: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1, + pub TimeCheck: DWORD, + pub IncreaseTime: DWORD, + pub DecreaseTime: DWORD, + pub IncreasePercent: DWORD, + pub DecreasePercent: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1 { + pub Spare: BYTE, + pub Flags: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub AsBYTE: BYTE, + pub __bindgen_anon_1: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::( + ), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoDomainAccounting(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_NoDomainAccounting(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IncreasePolicy(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u8) } + } + #[inline] + pub fn set_IncreasePolicy(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 2u8, val as u64) + } + } + #[inline] + pub fn DecreasePolicy(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 2u8) as u8) } + } + #[inline] + pub fn set_DecreasePolicy(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 2u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoDomainAccounting: BYTE, + IncreasePolicy: BYTE, + DecreasePolicy: BYTE, + Reserved: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoDomainAccounting: u8 = unsafe { ::std::mem::transmute(NoDomainAccounting) }; + NoDomainAccounting as u64 + }); + __bindgen_bitfield_unit.set(1usize, 2u8, { + let IncreasePolicy: u8 = unsafe { ::std::mem::transmute(IncreasePolicy) }; + IncreasePolicy as u64 + }); + __bindgen_bitfield_unit.set(3usize, 2u8, { + let DecreasePolicy: u8 = unsafe { ::std::mem::transmute(DecreasePolicy) }; + DecreasePolicy as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved: u8 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsBYTE) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AsBYTE) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(PROCESSOR_PERFSTATE_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_PERFSTATE_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxThrottle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(MaxThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinThrottle) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(MinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(IncreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(DecreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreasePercent) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(IncreasePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreasePercent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(DecreasePercent) + ) + ); +} +pub type PPROCESSOR_PERFSTATE_POLICY = *mut PROCESSOR_PERFSTATE_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADMINISTRATOR_POWER_POLICY { + pub MinSleep: SYSTEM_POWER_STATE, + pub MaxSleep: SYSTEM_POWER_STATE, + pub MinVideoTimeout: DWORD, + pub MaxVideoTimeout: DWORD, + pub MinSpindownTimeout: DWORD, + pub MaxSpindownTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__ADMINISTRATOR_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_ADMINISTRATOR_POWER_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADMINISTRATOR_POWER_POLICY>(), + 24usize, + concat!("Size of: ", stringify!(_ADMINISTRATOR_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_ADMINISTRATOR_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_ADMINISTRATOR_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSleep) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSleep) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinVideoTimeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinVideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVideoTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxVideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSpindownTimeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinSpindownTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSpindownTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxSpindownTimeout) + ) + ); +} +pub type ADMINISTRATOR_POWER_POLICY = _ADMINISTRATOR_POWER_POLICY; +pub type PADMINISTRATOR_POWER_POLICY = *mut _ADMINISTRATOR_POWER_POLICY; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket1GB: _HIBERFILE_BUCKET_SIZE = 0; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket2GB: _HIBERFILE_BUCKET_SIZE = 1; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket4GB: _HIBERFILE_BUCKET_SIZE = 2; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket8GB: _HIBERFILE_BUCKET_SIZE = 3; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket16GB: _HIBERFILE_BUCKET_SIZE = 4; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket32GB: _HIBERFILE_BUCKET_SIZE = 5; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucketUnlimited: _HIBERFILE_BUCKET_SIZE = 6; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucketMax: _HIBERFILE_BUCKET_SIZE = 7; +pub type _HIBERFILE_BUCKET_SIZE = ::std::os::raw::c_int; +pub use self::_HIBERFILE_BUCKET_SIZE as HIBERFILE_BUCKET_SIZE; +pub type PHIBERFILE_BUCKET_SIZE = *mut _HIBERFILE_BUCKET_SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HIBERFILE_BUCKET { + pub MaxPhysicalMemory: DWORD64, + pub PhysicalMemoryPercent: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__HIBERFILE_BUCKET() { + const UNINIT: ::std::mem::MaybeUninit<_HIBERFILE_BUCKET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HIBERFILE_BUCKET>(), + 24usize, + concat!("Size of: ", stringify!(_HIBERFILE_BUCKET)) + ); + assert_eq!( + ::std::mem::align_of::<_HIBERFILE_BUCKET>(), + 8usize, + concat!("Alignment of ", stringify!(_HIBERFILE_BUCKET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPhysicalMemory) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HIBERFILE_BUCKET), + "::", + stringify!(MaxPhysicalMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalMemoryPercent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HIBERFILE_BUCKET), + "::", + stringify!(PhysicalMemoryPercent) + ) + ); +} +pub type HIBERFILE_BUCKET = _HIBERFILE_BUCKET; +pub type PHIBERFILE_BUCKET = *mut _HIBERFILE_BUCKET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_POWER_CAPABILITIES { + pub PowerButtonPresent: BOOLEAN, + pub SleepButtonPresent: BOOLEAN, + pub LidPresent: BOOLEAN, + pub SystemS1: BOOLEAN, + pub SystemS2: BOOLEAN, + pub SystemS3: BOOLEAN, + pub SystemS4: BOOLEAN, + pub SystemS5: BOOLEAN, + pub HiberFilePresent: BOOLEAN, + pub FullWake: BOOLEAN, + pub VideoDimPresent: BOOLEAN, + pub ApmPresent: BOOLEAN, + pub UpsPresent: BOOLEAN, + pub ThermalControl: BOOLEAN, + pub ProcessorThrottle: BOOLEAN, + pub ProcessorMinThrottle: BYTE, + pub ProcessorMaxThrottle: BYTE, + pub FastSystemS4: BOOLEAN, + pub Hiberboot: BOOLEAN, + pub WakeAlarmPresent: BOOLEAN, + pub AoAc: BOOLEAN, + pub DiskSpinDown: BOOLEAN, + pub HiberFileType: BYTE, + pub AoAcConnectivitySupported: BOOLEAN, + pub spare3: [BYTE; 6usize], + pub SystemBatteriesPresent: BOOLEAN, + pub BatteriesAreShortTerm: BOOLEAN, + pub BatteryScale: [BATTERY_REPORTING_SCALE; 3usize], + pub AcOnLineWake: SYSTEM_POWER_STATE, + pub SoftLidWake: SYSTEM_POWER_STATE, + pub RtcWake: SYSTEM_POWER_STATE, + pub MinDeviceWakeState: SYSTEM_POWER_STATE, + pub DefaultLowLatencyWake: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_SYSTEM_POWER_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(SYSTEM_POWER_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_POWER_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerButtonPresent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(PowerButtonPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SleepButtonPresent) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SleepButtonPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidPresent) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(LidPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS1) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS3) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS4) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS5) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiberFilePresent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(HiberFilePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullWake) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(FullWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoDimPresent) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(VideoDimPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApmPresent) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ApmPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpsPresent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(UpsPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalControl) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ThermalControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorThrottle) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMinThrottle) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorMinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMaxThrottle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorMaxThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FastSystemS4) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(FastSystemS4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hiberboot) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(Hiberboot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WakeAlarmPresent) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(WakeAlarmPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AoAc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSpinDown) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(DiskSpinDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiberFileType) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(HiberFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAcConnectivitySupported) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AoAcConnectivitySupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).spare3) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(spare3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemBatteriesPresent) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemBatteriesPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteriesAreShortTerm) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(BatteriesAreShortTerm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(BatteryScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcOnLineWake) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AcOnLineWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftLidWake) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SoftLidWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RtcWake) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(RtcWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinDeviceWakeState) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(MinDeviceWakeState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultLowLatencyWake) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(DefaultLowLatencyWake) + ) + ); +} +pub type PSYSTEM_POWER_CAPABILITIES = *mut SYSTEM_POWER_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_BATTERY_STATE { + pub AcOnLine: BOOLEAN, + pub BatteryPresent: BOOLEAN, + pub Charging: BOOLEAN, + pub Discharging: BOOLEAN, + pub Spare1: [BOOLEAN; 3usize], + pub Tag: BYTE, + pub MaxCapacity: DWORD, + pub RemainingCapacity: DWORD, + pub Rate: DWORD, + pub EstimatedTime: DWORD, + pub DefaultAlert1: DWORD, + pub DefaultAlert2: DWORD, +} +#[test] +fn bindgen_test_layout_SYSTEM_BATTERY_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(SYSTEM_BATTERY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_BATTERY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcOnLine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(AcOnLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryPresent) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(BatteryPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Charging) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Charging) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Discharging) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Discharging) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Spare1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tag) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Tag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCapacity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(MaxCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemainingCapacity) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(RemainingCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Rate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstimatedTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(EstimatedTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultAlert1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(DefaultAlert1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultAlert2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(DefaultAlert2) + ) + ); +} +pub type PSYSTEM_BATTERY_STATE = *mut SYSTEM_BATTERY_STATE; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DOS_HEADER { + pub e_magic: WORD, + pub e_cblp: WORD, + pub e_cp: WORD, + pub e_crlc: WORD, + pub e_cparhdr: WORD, + pub e_minalloc: WORD, + pub e_maxalloc: WORD, + pub e_ss: WORD, + pub e_sp: WORD, + pub e_csum: WORD, + pub e_ip: WORD, + pub e_cs: WORD, + pub e_lfarlc: WORD, + pub e_ovno: WORD, + pub e_res: [WORD; 4usize], + pub e_oemid: WORD, + pub e_oeminfo: WORD, + pub e_res2: [WORD; 10usize], + pub e_lfanew: LONG, +} +#[test] +fn bindgen_test_layout__IMAGE_DOS_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DOS_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DOS_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_IMAGE_DOS_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DOS_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_DOS_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cblp) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cblp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_crlc) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_crlc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cparhdr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cparhdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_minalloc) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_minalloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_maxalloc) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_maxalloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ss) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_sp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_sp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_csum) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_csum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ip) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cs) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_lfarlc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_lfarlc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ovno) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ovno) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_res) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_res) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_oemid) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_oemid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_oeminfo) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_oeminfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_res2) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_res2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_lfanew) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_lfanew) + ) + ); +} +pub type IMAGE_DOS_HEADER = _IMAGE_DOS_HEADER; +pub type PIMAGE_DOS_HEADER = *mut _IMAGE_DOS_HEADER; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OS2_HEADER { + pub ne_magic: WORD, + pub ne_ver: CHAR, + pub ne_rev: CHAR, + pub ne_enttab: WORD, + pub ne_cbenttab: WORD, + pub ne_crc: LONG, + pub ne_flags: WORD, + pub ne_autodata: WORD, + pub ne_heap: WORD, + pub ne_stack: WORD, + pub ne_csip: LONG, + pub ne_sssp: LONG, + pub ne_cseg: WORD, + pub ne_cmod: WORD, + pub ne_cbnrestab: WORD, + pub ne_segtab: WORD, + pub ne_rsrctab: WORD, + pub ne_restab: WORD, + pub ne_modtab: WORD, + pub ne_imptab: WORD, + pub ne_nrestab: LONG, + pub ne_cmovent: WORD, + pub ne_align: WORD, + pub ne_cres: WORD, + pub ne_exetyp: BYTE, + pub ne_flagsothers: BYTE, + pub ne_pretthunks: WORD, + pub ne_psegrefbytes: WORD, + pub ne_swaparea: WORD, + pub ne_expver: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_OS2_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OS2_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OS2_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_IMAGE_OS2_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OS2_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_OS2_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_ver) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_ver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_rev) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_rev) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_enttab) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_enttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cbenttab) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cbenttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_crc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_autodata) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_autodata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_heap) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_heap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_stack) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_stack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_csip) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_csip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_sssp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_sssp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cseg) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cseg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cmod) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cmod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cbnrestab) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cbnrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_segtab) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_segtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_rsrctab) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_rsrctab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_restab) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_restab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_modtab) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_modtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_imptab) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_imptab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_nrestab) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_nrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cmovent) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cmovent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_align) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_align) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cres) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cres) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_exetyp) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_exetyp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_flagsothers) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_flagsothers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_pretthunks) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_pretthunks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_psegrefbytes) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_psegrefbytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_swaparea) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_swaparea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_expver) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_expver) + ) + ); +} +pub type IMAGE_OS2_HEADER = _IMAGE_OS2_HEADER; +pub type PIMAGE_OS2_HEADER = *mut _IMAGE_OS2_HEADER; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_VXD_HEADER { + pub e32_magic: WORD, + pub e32_border: BYTE, + pub e32_worder: BYTE, + pub e32_level: DWORD, + pub e32_cpu: WORD, + pub e32_os: WORD, + pub e32_ver: DWORD, + pub e32_mflags: DWORD, + pub e32_mpages: DWORD, + pub e32_startobj: DWORD, + pub e32_eip: DWORD, + pub e32_stackobj: DWORD, + pub e32_esp: DWORD, + pub e32_pagesize: DWORD, + pub e32_lastpagesize: DWORD, + pub e32_fixupsize: DWORD, + pub e32_fixupsum: DWORD, + pub e32_ldrsize: DWORD, + pub e32_ldrsum: DWORD, + pub e32_objtab: DWORD, + pub e32_objcnt: DWORD, + pub e32_objmap: DWORD, + pub e32_itermap: DWORD, + pub e32_rsrctab: DWORD, + pub e32_rsrccnt: DWORD, + pub e32_restab: DWORD, + pub e32_enttab: DWORD, + pub e32_dirtab: DWORD, + pub e32_dircnt: DWORD, + pub e32_fpagetab: DWORD, + pub e32_frectab: DWORD, + pub e32_impmod: DWORD, + pub e32_impmodcnt: DWORD, + pub e32_impproc: DWORD, + pub e32_pagesum: DWORD, + pub e32_datapage: DWORD, + pub e32_preload: DWORD, + pub e32_nrestab: DWORD, + pub e32_cbnrestab: DWORD, + pub e32_nressum: DWORD, + pub e32_autodata: DWORD, + pub e32_debuginfo: DWORD, + pub e32_debuglen: DWORD, + pub e32_instpreload: DWORD, + pub e32_instdemand: DWORD, + pub e32_heapsize: DWORD, + pub e32_res3: [BYTE; 12usize], + pub e32_winresoff: DWORD, + pub e32_winreslen: DWORD, + pub e32_devid: WORD, + pub e32_ddkver: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_VXD_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_VXD_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_VXD_HEADER>(), + 196usize, + concat!("Size of: ", stringify!(_IMAGE_VXD_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_VXD_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_VXD_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_border) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_border) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_worder) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_worder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_level) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_cpu) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_cpu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_os) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_os) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ver) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_mflags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_mflags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_mpages) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_mpages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_startobj) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_startobj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_eip) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_eip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_stackobj) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_stackobj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_esp) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_esp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_pagesize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_pagesize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_lastpagesize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_lastpagesize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fixupsize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fixupsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fixupsum) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fixupsum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ldrsize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ldrsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ldrsum) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ldrsum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objtab) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objcnt) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objcnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objmap) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_itermap) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_itermap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_rsrctab) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_rsrctab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_rsrccnt) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_rsrccnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_restab) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_restab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_enttab) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_enttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_dirtab) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_dirtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_dircnt) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_dircnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fpagetab) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fpagetab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_frectab) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_frectab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impmod) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impmod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impmodcnt) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impmodcnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impproc) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_pagesum) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_pagesum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_datapage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_datapage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_preload) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_preload) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_nrestab) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_nrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_cbnrestab) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_cbnrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_nressum) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_nressum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_autodata) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_autodata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_debuginfo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_debuginfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_debuglen) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_debuglen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_instpreload) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_instpreload) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_instdemand) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_instdemand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_heapsize) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_heapsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_res3) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_res3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_winresoff) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_winresoff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_winreslen) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_winreslen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_devid) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_devid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ddkver) as usize - ptr as usize }, + 194usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ddkver) + ) + ); +} +pub type IMAGE_VXD_HEADER = _IMAGE_VXD_HEADER; +pub type PIMAGE_VXD_HEADER = *mut _IMAGE_VXD_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_FILE_HEADER { + pub Machine: WORD, + pub NumberOfSections: WORD, + pub TimeDateStamp: DWORD, + pub PointerToSymbolTable: DWORD, + pub NumberOfSymbols: DWORD, + pub SizeOfOptionalHeader: WORD, + pub Characteristics: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_FILE_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FILE_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FILE_HEADER>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_FILE_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FILE_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FILE_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToSymbolTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(PointerToSymbolTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(NumberOfSymbols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfOptionalHeader) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(SizeOfOptionalHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(Characteristics) + ) + ); +} +pub type IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER; +pub type PIMAGE_FILE_HEADER = *mut _IMAGE_FILE_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DATA_DIRECTORY { + pub VirtualAddress: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DATA_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DATA_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DATA_DIRECTORY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DATA_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DATA_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DATA_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DATA_DIRECTORY), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DATA_DIRECTORY), + "::", + stringify!(Size) + ) + ); +} +pub type IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY; +pub type PIMAGE_DATA_DIRECTORY = *mut _IMAGE_DATA_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OPTIONAL_HEADER { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub BaseOfData: DWORD, + pub ImageBase: DWORD, + pub SectionAlignment: DWORD, + pub FileAlignment: DWORD, + pub MajorOperatingSystemVersion: WORD, + pub MinorOperatingSystemVersion: WORD, + pub MajorImageVersion: WORD, + pub MinorImageVersion: WORD, + pub MajorSubsystemVersion: WORD, + pub MinorSubsystemVersion: WORD, + pub Win32VersionValue: DWORD, + pub SizeOfImage: DWORD, + pub SizeOfHeaders: DWORD, + pub CheckSum: DWORD, + pub Subsystem: WORD, + pub DllCharacteristics: WORD, + pub SizeOfStackReserve: DWORD, + pub SizeOfStackCommit: DWORD, + pub SizeOfHeapReserve: DWORD, + pub SizeOfHeapCommit: DWORD, + pub LoaderFlags: DWORD, + pub NumberOfRvaAndSizes: DWORD, + pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_OPTIONAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OPTIONAL_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OPTIONAL_HEADER>(), + 224usize, + concat!("Size of: ", stringify!(_IMAGE_OPTIONAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OPTIONAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_OPTIONAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(BaseOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(FileAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorOperatingSystemVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorOperatingSystemVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorImageVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorImageVersion) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorSubsystemVersion) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorSubsystemVersion) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Win32VersionValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Win32VersionValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeaders) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subsystem) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Subsystem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllCharacteristics) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(DllCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackReserve) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfStackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackCommit) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfStackCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapReserve) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeapReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapCommit) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeapCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoaderFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(LoaderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRvaAndSizes) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(NumberOfRvaAndSizes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataDirectory) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(DataDirectory) + ) + ); +} +pub type IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER; +pub type PIMAGE_OPTIONAL_HEADER32 = *mut _IMAGE_OPTIONAL_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ROM_OPTIONAL_HEADER { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub BaseOfData: DWORD, + pub BaseOfBss: DWORD, + pub GprMask: DWORD, + pub CprMask: [DWORD; 4usize], + pub GpValue: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ROM_OPTIONAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ROM_OPTIONAL_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ROM_OPTIONAL_HEADER>(), + 56usize, + concat!("Size of: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ROM_OPTIONAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfBss) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfBss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GprMask) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(GprMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CprMask) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(CprMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GpValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(GpValue) + ) + ); +} +pub type IMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER; +pub type PIMAGE_ROM_OPTIONAL_HEADER = *mut _IMAGE_ROM_OPTIONAL_HEADER; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OPTIONAL_HEADER64 { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub ImageBase: ULONGLONG, + pub SectionAlignment: DWORD, + pub FileAlignment: DWORD, + pub MajorOperatingSystemVersion: WORD, + pub MinorOperatingSystemVersion: WORD, + pub MajorImageVersion: WORD, + pub MinorImageVersion: WORD, + pub MajorSubsystemVersion: WORD, + pub MinorSubsystemVersion: WORD, + pub Win32VersionValue: DWORD, + pub SizeOfImage: DWORD, + pub SizeOfHeaders: DWORD, + pub CheckSum: DWORD, + pub Subsystem: WORD, + pub DllCharacteristics: WORD, + pub SizeOfStackReserve: ULONGLONG, + pub SizeOfStackCommit: ULONGLONG, + pub SizeOfHeapReserve: ULONGLONG, + pub SizeOfHeapCommit: ULONGLONG, + pub LoaderFlags: DWORD, + pub NumberOfRvaAndSizes: DWORD, + pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_OPTIONAL_HEADER64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OPTIONAL_HEADER64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OPTIONAL_HEADER64>(), + 240usize, + concat!("Size of: ", stringify!(_IMAGE_OPTIONAL_HEADER64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OPTIONAL_HEADER64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_OPTIONAL_HEADER64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(FileAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorOperatingSystemVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorOperatingSystemVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorImageVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorImageVersion) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorSubsystemVersion) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorSubsystemVersion) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Win32VersionValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Win32VersionValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeaders) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subsystem) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Subsystem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllCharacteristics) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(DllCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackReserve) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfStackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackCommit) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfStackCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapReserve) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeapReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapCommit) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeapCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoaderFlags) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(LoaderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRvaAndSizes) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(NumberOfRvaAndSizes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataDirectory) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(DataDirectory) + ) + ); +} +pub type IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64; +pub type PIMAGE_OPTIONAL_HEADER64 = *mut _IMAGE_OPTIONAL_HEADER64; +pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64; +pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_NT_HEADERS64 { + pub Signature: DWORD, + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_OPTIONAL_HEADER64, +} +#[test] +fn bindgen_test_layout__IMAGE_NT_HEADERS64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_NT_HEADERS64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_NT_HEADERS64>(), + 264usize, + concat!("Size of: ", stringify!(_IMAGE_NT_HEADERS64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_NT_HEADERS64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_NT_HEADERS64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64; +pub type PIMAGE_NT_HEADERS64 = *mut _IMAGE_NT_HEADERS64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_NT_HEADERS { + pub Signature: DWORD, + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_OPTIONAL_HEADER32, +} +#[test] +fn bindgen_test_layout__IMAGE_NT_HEADERS() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_NT_HEADERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_NT_HEADERS>(), + 248usize, + concat!("Size of: ", stringify!(_IMAGE_NT_HEADERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_NT_HEADERS>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_NT_HEADERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS; +pub type PIMAGE_NT_HEADERS32 = *mut _IMAGE_NT_HEADERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ROM_HEADERS { + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER, +} +#[test] +fn bindgen_test_layout__IMAGE_ROM_HEADERS() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ROM_HEADERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ROM_HEADERS>(), + 76usize, + concat!("Size of: ", stringify!(_IMAGE_ROM_HEADERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ROM_HEADERS>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ROM_HEADERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_HEADERS), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_HEADERS), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_ROM_HEADERS = _IMAGE_ROM_HEADERS; +pub type PIMAGE_ROM_HEADERS = *mut _IMAGE_ROM_HEADERS; +pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64; +pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(SizeOfData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER_V2 { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, + pub Flags: DWORD, + pub MetaDataSize: DWORD, + pub MetaDataOffset: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER_V2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(MetaDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(MetaDataOffset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER_BIGOBJ { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, + pub Flags: DWORD, + pub MetaDataSize: DWORD, + pub MetaDataOffset: DWORD, + pub NumberOfSections: DWORD, + pub PointerToSymbolTable: DWORD, + pub NumberOfSymbols: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER_BIGOBJ() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER_BIGOBJ)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(MetaDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(MetaDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToSymbolTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(PointerToSymbolTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(NumberOfSymbols) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_SECTION_HEADER { + pub Name: [BYTE; 8usize], + pub Misc: _IMAGE_SECTION_HEADER__bindgen_ty_1, + pub VirtualAddress: DWORD, + pub SizeOfRawData: DWORD, + pub PointerToRawData: DWORD, + pub PointerToRelocations: DWORD, + pub PointerToLinenumbers: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub Characteristics: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_SECTION_HEADER__bindgen_ty_1 { + pub PhysicalAddress: DWORD, + pub VirtualSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SECTION_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SECTION_HEADER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SECTION_HEADER__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SECTION_HEADER__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), + "::", + stringify!(PhysicalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), + "::", + stringify!(VirtualSize) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SECTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SECTION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SECTION_HEADER>(), + 40usize, + concat!("Size of: ", stringify!(_IMAGE_SECTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SECTION_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_SECTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Misc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Misc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfRawData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(SizeOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRawData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRelocations) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToLinenumbers) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Characteristics) + ) + ); +} +pub type IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER; +pub type PIMAGE_SECTION_HEADER = *mut _IMAGE_SECTION_HEADER; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_SYMBOL { + pub N: _IMAGE_SYMBOL__bindgen_ty_1, + pub Value: DWORD, + pub SectionNumber: SHORT, + pub Type: WORD, + pub StorageClass: BYTE, + pub NumberOfAuxSymbols: BYTE, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_SYMBOL__bindgen_ty_1 { + pub ShortName: [BYTE; 8usize], + pub Name: _IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1, + pub LongName: [DWORD; 2usize], +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1 { + pub Short: DWORD, + pub Long: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Short) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Short) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Long) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Long) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(LongName) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(SectionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageClass) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(StorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuxSymbols) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(NumberOfAuxSymbols) + ) + ); +} +pub type IMAGE_SYMBOL = _IMAGE_SYMBOL; +pub type PIMAGE_SYMBOL = *mut IMAGE_SYMBOL; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_SYMBOL_EX { + pub N: _IMAGE_SYMBOL_EX__bindgen_ty_1, + pub Value: DWORD, + pub SectionNumber: LONG, + pub Type: WORD, + pub StorageClass: BYTE, + pub NumberOfAuxSymbols: BYTE, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_SYMBOL_EX__bindgen_ty_1 { + pub ShortName: [BYTE; 8usize], + pub Name: _IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1, + pub LongName: [DWORD; 2usize], +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1 { + pub Short: DWORD, + pub Long: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Short) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Short) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Long) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Long) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(LongName) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(SectionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageClass) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(StorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuxSymbols) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(NumberOfAuxSymbols) + ) + ); +} +pub type IMAGE_SYMBOL_EX = _IMAGE_SYMBOL_EX; +pub type PIMAGE_SYMBOL_EX = *mut IMAGE_SYMBOL_EX; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct IMAGE_AUX_SYMBOL_TOKEN_DEF { + pub bAuxType: BYTE, + pub bReserved: BYTE, + pub SymbolTableIndex: DWORD, + pub rgbReserved: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout_IMAGE_AUX_SYMBOL_TOKEN_DEF() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bAuxType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(bAuxType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type PIMAGE_AUX_SYMBOL_TOKEN_DEF = *mut IMAGE_AUX_SYMBOL_TOKEN_DEF; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL { + pub Sym: _IMAGE_AUX_SYMBOL__bindgen_ty_1, + pub File: _IMAGE_AUX_SYMBOL__bindgen_ty_2, + pub Section: _IMAGE_AUX_SYMBOL__bindgen_ty_3, + pub TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, + pub CRC: _IMAGE_AUX_SYMBOL__bindgen_ty_4, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1 { + pub TagIndex: DWORD, + pub Misc: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1, + pub FcnAry: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2, + pub TvIndex: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1 { + pub LnSz: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub TotalSize: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub Linenumber: WORD, + pub Size: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Linenumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Linenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Size) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LnSz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LnSz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(TotalSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2 { + pub Function: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub Array: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2, +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub PointerToLinenumber: DWORD, + pub PointerToNextFunction: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToLinenumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(PointerToLinenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToNextFunction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(PointerToNextFunction) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2 { + pub Dimension: [WORD; 4usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dimension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2), + "::", + stringify!(Dimension) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Array) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Array) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(TagIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Misc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(Misc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FcnAry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(FcnAry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TvIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(TvIndex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_2 { + pub Name: [BYTE; 18usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_2>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2), + "::", + stringify!(Name) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_3 { + pub Length: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub CheckSum: DWORD, + pub Number: SHORT, + pub Selection: BYTE, + pub bReserved: BYTE, + pub HighNumber: SHORT, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selection) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Selection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(HighNumber) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_4 { + pub crc: DWORD, + pub rgbReserved: [BYTE; 14usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), + "::", + stringify!(crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), + "::", + stringify!(rgbReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sym) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(Sym) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).File) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(File) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Section) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(Section) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenDef) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(TokenDef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(CRC) + ) + ); +} +pub type IMAGE_AUX_SYMBOL = _IMAGE_AUX_SYMBOL; +pub type PIMAGE_AUX_SYMBOL = *mut IMAGE_AUX_SYMBOL; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL_EX { + pub Sym: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_1, + pub File: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_2, + pub Section: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_3, + pub __bindgen_anon_1: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_4, + pub CRC: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_5, +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_1 { + pub WeakDefaultSymIndex: DWORD, + pub WeakSearchType: DWORD, + pub rgbReserved: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WeakDefaultSymIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(WeakDefaultSymIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WeakSearchType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(WeakSearchType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_2 { + pub Name: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2), + "::", + stringify!(Name) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_3 { + pub Length: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub CheckSum: DWORD, + pub Number: SHORT, + pub Selection: BYTE, + pub bReserved: BYTE, + pub HighNumber: SHORT, + pub rgbReserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selection) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Selection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(HighNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_4 { + pub TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, + pub rgbReserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenDef) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4), + "::", + stringify!(TokenDef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_5 { + pub crc: DWORD, + pub rgbReserved: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5), + "::", + stringify!(crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5), + "::", + stringify!(rgbReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sym) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(Sym) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).File) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(File) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Section) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(Section) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(CRC) + ) + ); +} +pub type IMAGE_AUX_SYMBOL_EX = _IMAGE_AUX_SYMBOL_EX; +pub type PIMAGE_AUX_SYMBOL_EX = *mut IMAGE_AUX_SYMBOL_EX; +pub const IMAGE_AUX_SYMBOL_TYPE_IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF: IMAGE_AUX_SYMBOL_TYPE = 1; +pub type IMAGE_AUX_SYMBOL_TYPE = ::std::os::raw::c_int; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_RELOCATION { + pub __bindgen_anon_1: _IMAGE_RELOCATION__bindgen_ty_1, + pub SymbolTableIndex: DWORD, + pub Type: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_RELOCATION__bindgen_ty_1 { + pub VirtualAddress: DWORD, + pub RelocCount: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RELOCATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RELOCATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RELOCATION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RELOCATION__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION__bindgen_ty_1), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelocCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION__bindgen_ty_1), + "::", + stringify!(RelocCount) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RELOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RELOCATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RELOCATION>(), + 10usize, + concat!("Size of: ", stringify!(_IMAGE_RELOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RELOCATION>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RELOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION), + "::", + stringify!(Type) + ) + ); +} +pub type IMAGE_RELOCATION = _IMAGE_RELOCATION; +pub type PIMAGE_RELOCATION = *mut IMAGE_RELOCATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_LINENUMBER { + pub Type: _IMAGE_LINENUMBER__bindgen_ty_1, + pub Linenumber: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_LINENUMBER__bindgen_ty_1 { + pub SymbolTableIndex: DWORD, + pub VirtualAddress: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LINENUMBER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LINENUMBER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LINENUMBER__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LINENUMBER__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), + "::", + stringify!(VirtualAddress) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_LINENUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LINENUMBER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LINENUMBER>(), + 6usize, + concat!("Size of: ", stringify!(_IMAGE_LINENUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LINENUMBER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_LINENUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Linenumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER), + "::", + stringify!(Linenumber) + ) + ); +} +pub type IMAGE_LINENUMBER = _IMAGE_LINENUMBER; +pub type PIMAGE_LINENUMBER = *mut IMAGE_LINENUMBER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BASE_RELOCATION { + pub VirtualAddress: DWORD, + pub SizeOfBlock: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BASE_RELOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BASE_RELOCATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BASE_RELOCATION>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BASE_RELOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BASE_RELOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BASE_RELOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BASE_RELOCATION), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfBlock) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BASE_RELOCATION), + "::", + stringify!(SizeOfBlock) + ) + ); +} +pub type IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION; +pub type PIMAGE_BASE_RELOCATION = *mut IMAGE_BASE_RELOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARCHIVE_MEMBER_HEADER { + pub Name: [BYTE; 16usize], + pub Date: [BYTE; 12usize], + pub UserID: [BYTE; 6usize], + pub GroupID: [BYTE; 6usize], + pub Mode: [BYTE; 8usize], + pub Size: [BYTE; 10usize], + pub EndHeader: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_ARCHIVE_MEMBER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARCHIVE_MEMBER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARCHIVE_MEMBER_HEADER>(), + 60usize, + concat!("Size of: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARCHIVE_MEMBER_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(UserID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupID) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(GroupID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mode) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeader) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(EndHeader) + ) + ); +} +pub type IMAGE_ARCHIVE_MEMBER_HEADER = _IMAGE_ARCHIVE_MEMBER_HEADER; +pub type PIMAGE_ARCHIVE_MEMBER_HEADER = *mut _IMAGE_ARCHIVE_MEMBER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_EXPORT_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub Name: DWORD, + pub Base: DWORD, + pub NumberOfFunctions: DWORD, + pub NumberOfNames: DWORD, + pub AddressOfFunctions: DWORD, + pub AddressOfNames: DWORD, + pub AddressOfNameOrdinals: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_EXPORT_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_EXPORT_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_EXPORT_DIRECTORY>(), + 40usize, + concat!("Size of: ", stringify!(_IMAGE_EXPORT_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_EXPORT_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_EXPORT_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Base) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Base) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFunctions) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(NumberOfFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(NumberOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfFunctions) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfNameOrdinals) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfNameOrdinals) + ) + ); +} +pub type IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY; +pub type PIMAGE_EXPORT_DIRECTORY = *mut _IMAGE_EXPORT_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_IMPORT_BY_NAME { + pub Hint: WORD, + pub Name: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_BY_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_BY_NAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_BY_NAME>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_IMPORT_BY_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_BY_NAME>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_IMPORT_BY_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_BY_NAME), + "::", + stringify!(Hint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_BY_NAME), + "::", + stringify!(Name) + ) + ); +} +pub type IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME; +pub type PIMAGE_IMPORT_BY_NAME = *mut _IMAGE_IMPORT_BY_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_THUNK_DATA64 { + pub u1: _IMAGE_THUNK_DATA64__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_THUNK_DATA64__bindgen_ty_1 { + pub ForwarderString: ULONGLONG, + pub Function: ULONGLONG, + pub Ordinal: ULONGLONG, + pub AddressOfData: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA64__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA64__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(ForwarderString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(AddressOfData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA64>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA64>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_THUNK_DATA64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64), + "::", + stringify!(u1) + ) + ); +} +pub type IMAGE_THUNK_DATA64 = _IMAGE_THUNK_DATA64; +pub type PIMAGE_THUNK_DATA64 = *mut IMAGE_THUNK_DATA64; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_THUNK_DATA32 { + pub u1: _IMAGE_THUNK_DATA32__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_THUNK_DATA32__bindgen_ty_1 { + pub ForwarderString: DWORD, + pub Function: DWORD, + pub Ordinal: DWORD, + pub AddressOfData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA32__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA32__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(ForwarderString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(AddressOfData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA32>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_THUNK_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32), + "::", + stringify!(u1) + ) + ); +} +pub type IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32; +pub type PIMAGE_THUNK_DATA32 = *mut IMAGE_THUNK_DATA32; +pub type PIMAGE_TLS_CALLBACK = + ::std::option::Option; +pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64; +pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_IMPORT_DESCRIPTOR { + pub __bindgen_anon_1: _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1, + pub TimeDateStamp: DWORD, + pub ForwarderChain: DWORD, + pub Name: DWORD, + pub FirstThunk: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1 { + pub Characteristics: DWORD, + pub OriginalFirstThunk: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalFirstThunk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(OriginalFirstThunk) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderChain) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(ForwarderChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstThunk) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(FirstThunk) + ) + ); +} +pub type IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR; +pub type PIMAGE_IMPORT_DESCRIPTOR = *mut IMAGE_IMPORT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { + pub TimeDateStamp: DWORD, + pub OffsetModuleName: WORD, + pub NumberOfModuleForwarderRefs: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BOUND_IMPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BOUND_IMPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetModuleName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(OffsetModuleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfModuleForwarderRefs) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(NumberOfModuleForwarderRefs) + ) + ); +} +pub type IMAGE_BOUND_IMPORT_DESCRIPTOR = _IMAGE_BOUND_IMPORT_DESCRIPTOR; +pub type PIMAGE_BOUND_IMPORT_DESCRIPTOR = *mut _IMAGE_BOUND_IMPORT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BOUND_FORWARDER_REF { + pub TimeDateStamp: DWORD, + pub OffsetModuleName: WORD, + pub Reserved: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BOUND_FORWARDER_REF() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BOUND_FORWARDER_REF> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BOUND_FORWARDER_REF>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BOUND_FORWARDER_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BOUND_FORWARDER_REF>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BOUND_FORWARDER_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetModuleName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(OffsetModuleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_BOUND_FORWARDER_REF = _IMAGE_BOUND_FORWARDER_REF; +pub type PIMAGE_BOUND_FORWARDER_REF = *mut _IMAGE_BOUND_FORWARDER_REF; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_DELAYLOAD_DESCRIPTOR { + pub Attributes: _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1, + pub DllNameRVA: DWORD, + pub ModuleHandleRVA: DWORD, + pub ImportAddressTableRVA: DWORD, + pub ImportNameTableRVA: DWORD, + pub BoundImportAddressTableRVA: DWORD, + pub UnloadInformationTableRVA: DWORD, + pub TimeDateStamp: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1 { + pub AllAttributes: DWORD, + pub __bindgen_anon_1: _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn RvaBased(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_RvaBased(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedAttributes(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_ReservedAttributes(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RvaBased: DWORD, + ReservedAttributes: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let RvaBased: u32 = unsafe { ::std::mem::transmute(RvaBased) }; + RvaBased as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let ReservedAttributes: u32 = unsafe { ::std::mem::transmute(ReservedAttributes) }; + ReservedAttributes as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(AllAttributes) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DELAYLOAD_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllNameRVA) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(DllNameRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModuleHandleRVA) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ModuleHandleRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportAddressTableRVA) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ImportAddressTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportNameTableRVA) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ImportNameTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BoundImportAddressTableRVA) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(BoundImportAddressTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnloadInformationTableRVA) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(UnloadInformationTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); +} +pub type IMAGE_DELAYLOAD_DESCRIPTOR = _IMAGE_DELAYLOAD_DESCRIPTOR; +pub type PIMAGE_DELAYLOAD_DESCRIPTOR = *mut _IMAGE_DELAYLOAD_DESCRIPTOR; +pub type PCIMAGE_DELAYLOAD_DESCRIPTOR = *const IMAGE_DELAYLOAD_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub NumberOfNamedEntries: WORD, + pub NumberOfIdEntries: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfNamedEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(NumberOfNamedEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfIdEntries) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(NumberOfIdEntries) + ) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY = _IMAGE_RESOURCE_DIRECTORY; +pub type PIMAGE_RESOURCE_DIRECTORY = *mut _IMAGE_RESOURCE_DIRECTORY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1, + pub __bindgen_anon_2: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1 { + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Name: DWORD, + pub Id: WORD, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NameOffset(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + } + #[inline] + pub fn set_NameOffset(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 31u8, val as u64) + } + } + #[inline] + pub fn NameIsString(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_NameIsString(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NameOffset: DWORD, + NameIsString: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 31u8, { + let NameOffset: u32 = unsafe { ::std::mem::transmute(NameOffset) }; + NameOffset as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let NameIsString: u32 = unsafe { ::std::mem::transmute(NameIsString) }; + NameIsString as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1), + "::", + stringify!(Id) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2 { + pub OffsetToData: DWORD, + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1) + ) + ); +} +impl _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1 { + #[inline] + pub fn OffsetToDirectory(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + } + #[inline] + pub fn set_OffsetToDirectory(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 31u8, val as u64) + } + } + #[inline] + pub fn DataIsDirectory(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_DataIsDirectory(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + OffsetToDirectory: DWORD, + DataIsDirectory: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 31u8, { + let OffsetToDirectory: u32 = unsafe { ::std::mem::transmute(OffsetToDirectory) }; + OffsetToDirectory as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let DataIsDirectory: u32 = unsafe { ::std::mem::transmute(DataIsDirectory) }; + DataIsDirectory as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2), + "::", + stringify!(OffsetToData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY)) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY_ENTRY = _IMAGE_RESOURCE_DIRECTORY_ENTRY; +pub type PIMAGE_RESOURCE_DIRECTORY_ENTRY = *mut _IMAGE_RESOURCE_DIRECTORY_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_STRING { + pub Length: WORD, + pub NameString: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_STRING> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_STRING>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_STRING>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameString) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING), + "::", + stringify!(NameString) + ) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY_STRING = _IMAGE_RESOURCE_DIRECTORY_STRING; +pub type PIMAGE_RESOURCE_DIRECTORY_STRING = *mut _IMAGE_RESOURCE_DIRECTORY_STRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIR_STRING_U { + pub Length: WORD, + pub NameString: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIR_STRING_U() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIR_STRING_U> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIR_STRING_U>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIR_STRING_U)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIR_STRING_U>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIR_STRING_U)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIR_STRING_U), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameString) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIR_STRING_U), + "::", + stringify!(NameString) + ) + ); +} +pub type IMAGE_RESOURCE_DIR_STRING_U = _IMAGE_RESOURCE_DIR_STRING_U; +pub type PIMAGE_RESOURCE_DIR_STRING_U = *mut _IMAGE_RESOURCE_DIR_STRING_U; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DATA_ENTRY { + pub OffsetToData: DWORD, + pub Size: DWORD, + pub CodePage: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DATA_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DATA_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DATA_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DATA_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(OffsetToData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_RESOURCE_DATA_ENTRY = _IMAGE_RESOURCE_DATA_ENTRY; +pub type PIMAGE_RESOURCE_DATA_ENTRY = *mut _IMAGE_RESOURCE_DATA_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { + pub Flags: WORD, + pub Catalog: WORD, + pub CatalogOffset: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_CODE_INTEGRITY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Catalog) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Catalog) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CatalogOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(CatalogOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_CODE_INTEGRITY = _IMAGE_LOAD_CONFIG_CODE_INTEGRITY; +pub type PIMAGE_LOAD_CONFIG_CODE_INTEGRITY = *mut _IMAGE_LOAD_CONFIG_CODE_INTEGRITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION_TABLE { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION_TABLE>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION_TABLE>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE), + "::", + stringify!(Size) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION_TABLE = _IMAGE_DYNAMIC_RELOCATION_TABLE; +pub type PIMAGE_DYNAMIC_RELOCATION_TABLE = *mut _IMAGE_DYNAMIC_RELOCATION_TABLE; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION32 { + pub Symbol: DWORD, + pub BaseRelocSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION32>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION32>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseRelocSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32), + "::", + stringify!(BaseRelocSize) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION32 = _IMAGE_DYNAMIC_RELOCATION32; +pub type PIMAGE_DYNAMIC_RELOCATION32 = *mut _IMAGE_DYNAMIC_RELOCATION32; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION64 { + pub Symbol: ULONGLONG, + pub BaseRelocSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION64>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION64>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseRelocSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64), + "::", + stringify!(BaseRelocSize) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION64 = _IMAGE_DYNAMIC_RELOCATION64; +pub type PIMAGE_DYNAMIC_RELOCATION64 = *mut _IMAGE_DYNAMIC_RELOCATION64; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION32_V2 { + pub HeaderSize: DWORD, + pub FixupInfoSize: DWORD, + pub Symbol: DWORD, + pub SymbolGroup: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION32_V2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION32_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION32_V2>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION32_V2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInfoSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(FixupInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolGroup) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(SymbolGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(Flags) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION32_V2 = _IMAGE_DYNAMIC_RELOCATION32_V2; +pub type PIMAGE_DYNAMIC_RELOCATION32_V2 = *mut _IMAGE_DYNAMIC_RELOCATION32_V2; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION64_V2 { + pub HeaderSize: DWORD, + pub FixupInfoSize: DWORD, + pub Symbol: ULONGLONG, + pub SymbolGroup: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION64_V2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION64_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION64_V2>(), + 24usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION64_V2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInfoSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(FixupInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolGroup) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(SymbolGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(Flags) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION64_V2 = _IMAGE_DYNAMIC_RELOCATION64_V2; +pub type PIMAGE_DYNAMIC_RELOCATION64_V2 = *mut _IMAGE_DYNAMIC_RELOCATION64_V2; +pub type IMAGE_DYNAMIC_RELOCATION = IMAGE_DYNAMIC_RELOCATION64; +pub type PIMAGE_DYNAMIC_RELOCATION = PIMAGE_DYNAMIC_RELOCATION64; +pub type IMAGE_DYNAMIC_RELOCATION_V2 = IMAGE_DYNAMIC_RELOCATION64_V2; +pub type PIMAGE_DYNAMIC_RELOCATION_V2 = PIMAGE_DYNAMIC_RELOCATION64_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER { + pub PrologueByteCount: BYTE, +} +#[test] +fn bindgen_test_layout__IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Size of: ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologueByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(PrologueByteCount) + ) + ); +} +pub type IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER = _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; +pub type PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER { + pub EpilogueCount: DWORD, + pub EpilogueByteCount: BYTE, + pub BranchDescriptorElementSize: BYTE, + pub BranchDescriptorCount: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EpilogueCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(EpilogueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EpilogueByteCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(EpilogueByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BranchDescriptorElementSize) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(BranchDescriptorElementSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BranchDescriptorCount) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(BranchDescriptorCount) + ) + ); +} +pub type IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER = _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; +pub type PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u32) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn IndirectCall(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_IndirectCall(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn IATIndex(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 19u8) as u32) } + } + #[inline] + pub fn set_IATIndex(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 19u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: DWORD, + IndirectCall: DWORD, + IATIndex: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u32 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let IndirectCall: u32 = unsafe { ::std::mem::transmute(IndirectCall) }; + IndirectCall as u64 + }); + __bindgen_bitfield_unit.set(13usize, 19u8, { + let IATIndex: u32 = unsafe { ::std::mem::transmute(IATIndex) }; + IATIndex as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +pub type PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + *mut IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 2usize, + concat!( + "Size of: ", + stringify!(_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn IndirectCall(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_IndirectCall(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn RexWPrefix(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_RexWPrefix(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn CfgCheck(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_CfgCheck(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: WORD, + IndirectCall: WORD, + RexWPrefix: WORD, + CfgCheck: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u16 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let IndirectCall: u16 = unsafe { ::std::mem::transmute(IndirectCall) }; + IndirectCall as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let RexWPrefix: u16 = unsafe { ::std::mem::transmute(RexWPrefix) }; + RexWPrefix as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let CfgCheck: u16 = unsafe { ::std::mem::transmute(CfgCheck) }; + CfgCheck as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +pub type PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + *mut IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION>(), + 2usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn RegisterNumber(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u16) } + } + #[inline] + pub fn set_RegisterNumber(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: WORD, + RegisterNumber: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u16 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 4u8, { + let RegisterNumber: u16 = unsafe { ::std::mem::transmute(RegisterNumber) }; + RegisterNumber as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION = _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; +pub type PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION = + *mut IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_DIRECTORY32 { + pub Size: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub GlobalFlagsClear: DWORD, + pub GlobalFlagsSet: DWORD, + pub CriticalSectionDefaultTimeout: DWORD, + pub DeCommitFreeBlockThreshold: DWORD, + pub DeCommitTotalFreeThreshold: DWORD, + pub LockPrefixTable: DWORD, + pub MaximumAllocationSize: DWORD, + pub VirtualMemoryThreshold: DWORD, + pub ProcessHeapFlags: DWORD, + pub ProcessAffinityMask: DWORD, + pub CSDVersion: WORD, + pub DependentLoadFlags: WORD, + pub EditList: DWORD, + pub SecurityCookie: DWORD, + pub SEHandlerTable: DWORD, + pub SEHandlerCount: DWORD, + pub GuardCFCheckFunctionPointer: DWORD, + pub GuardCFDispatchFunctionPointer: DWORD, + pub GuardCFFunctionTable: DWORD, + pub GuardCFFunctionCount: DWORD, + pub GuardFlags: DWORD, + pub CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, + pub GuardAddressTakenIatEntryTable: DWORD, + pub GuardAddressTakenIatEntryCount: DWORD, + pub GuardLongJumpTargetTable: DWORD, + pub GuardLongJumpTargetCount: DWORD, + pub DynamicValueRelocTable: DWORD, + pub CHPEMetadataPointer: DWORD, + pub GuardRFFailureRoutine: DWORD, + pub GuardRFFailureRoutineFunctionPointer: DWORD, + pub DynamicValueRelocTableOffset: DWORD, + pub DynamicValueRelocTableSection: WORD, + pub Reserved2: WORD, + pub GuardRFVerifyStackPointerFunctionPointer: DWORD, + pub HotPatchTableOffset: DWORD, + pub Reserved3: DWORD, + pub EnclaveConfigurationPointer: DWORD, + pub VolatileMetadataPointer: DWORD, + pub GuardEHContinuationTable: DWORD, + pub GuardEHContinuationCount: DWORD, + pub GuardXFGCheckFunctionPointer: DWORD, + pub GuardXFGDispatchFunctionPointer: DWORD, + pub GuardXFGTableDispatchFunctionPointer: DWORD, + pub CastGuardOsDeterminedFailureMode: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_DIRECTORY32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY32>(), + 188usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_DIRECTORY32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsClear) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GlobalFlagsClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsSet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GlobalFlagsSet) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalSectionDefaultTimeout) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CriticalSectionDefaultTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitFreeBlockThreshold) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DeCommitFreeBlockThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitTotalFreeThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DeCommitTotalFreeThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockPrefixTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(LockPrefixTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumAllocationSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MaximumAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualMemoryThreshold) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(VirtualMemoryThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessHeapFlags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(ProcessHeapFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessAffinityMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(ProcessAffinityMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CSDVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentLoadFlags) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DependentLoadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EditList) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(EditList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityCookie) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SecurityCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SEHandlerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerCount) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SEHandlerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFCheckFunctionPointer) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardCFDispatchFunctionPointer) as usize - ptr as usize + }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionTable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFFunctionTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionCount) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFFunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrity) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CodeIntegrity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryTable) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardAddressTakenIatEntryTable) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryCount) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardAddressTakenIatEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetTable) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardLongJumpTargetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetCount) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardLongJumpTargetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicValueRelocTable) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CHPEMetadataPointer) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CHPEMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutine) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFFailureRoutine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutineFunctionPointer) as usize + - ptr as usize + }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFFailureRoutineFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableOffset) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTableOffset) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableSection) as usize - ptr as usize + }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTableSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 142usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFVerifyStackPointerFunctionPointer) as usize + - ptr as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFVerifyStackPointerFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HotPatchTableOffset) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(HotPatchTableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveConfigurationPointer) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(EnclaveConfigurationPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMetadataPointer) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(VolatileMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationTable) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardEHContinuationTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationCount) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardEHContinuationCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGCheckFunctionPointer) as usize - ptr as usize + }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardXFGCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGDispatchFunctionPointer) as usize - ptr as usize + }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardXFGDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGTableDispatchFunctionPointer) as usize + - ptr as usize + }, + 180usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardXFGTableDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CastGuardOsDeterminedFailureMode) as usize - ptr as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CastGuardOsDeterminedFailureMode) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_DIRECTORY32 = _IMAGE_LOAD_CONFIG_DIRECTORY32; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY32 = *mut _IMAGE_LOAD_CONFIG_DIRECTORY32; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_DIRECTORY64 { + pub Size: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub GlobalFlagsClear: DWORD, + pub GlobalFlagsSet: DWORD, + pub CriticalSectionDefaultTimeout: DWORD, + pub DeCommitFreeBlockThreshold: ULONGLONG, + pub DeCommitTotalFreeThreshold: ULONGLONG, + pub LockPrefixTable: ULONGLONG, + pub MaximumAllocationSize: ULONGLONG, + pub VirtualMemoryThreshold: ULONGLONG, + pub ProcessAffinityMask: ULONGLONG, + pub ProcessHeapFlags: DWORD, + pub CSDVersion: WORD, + pub DependentLoadFlags: WORD, + pub EditList: ULONGLONG, + pub SecurityCookie: ULONGLONG, + pub SEHandlerTable: ULONGLONG, + pub SEHandlerCount: ULONGLONG, + pub GuardCFCheckFunctionPointer: ULONGLONG, + pub GuardCFDispatchFunctionPointer: ULONGLONG, + pub GuardCFFunctionTable: ULONGLONG, + pub GuardCFFunctionCount: ULONGLONG, + pub GuardFlags: DWORD, + pub CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, + pub GuardAddressTakenIatEntryTable: ULONGLONG, + pub GuardAddressTakenIatEntryCount: ULONGLONG, + pub GuardLongJumpTargetTable: ULONGLONG, + pub GuardLongJumpTargetCount: ULONGLONG, + pub DynamicValueRelocTable: ULONGLONG, + pub CHPEMetadataPointer: ULONGLONG, + pub GuardRFFailureRoutine: ULONGLONG, + pub GuardRFFailureRoutineFunctionPointer: ULONGLONG, + pub DynamicValueRelocTableOffset: DWORD, + pub DynamicValueRelocTableSection: WORD, + pub Reserved2: WORD, + pub GuardRFVerifyStackPointerFunctionPointer: ULONGLONG, + pub HotPatchTableOffset: DWORD, + pub Reserved3: DWORD, + pub EnclaveConfigurationPointer: ULONGLONG, + pub VolatileMetadataPointer: ULONGLONG, + pub GuardEHContinuationTable: ULONGLONG, + pub GuardEHContinuationCount: ULONGLONG, + pub GuardXFGCheckFunctionPointer: ULONGLONG, + pub GuardXFGDispatchFunctionPointer: ULONGLONG, + pub GuardXFGTableDispatchFunctionPointer: ULONGLONG, + pub CastGuardOsDeterminedFailureMode: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_DIRECTORY64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY64>(), + 312usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_DIRECTORY64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsClear) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GlobalFlagsClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsSet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GlobalFlagsSet) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalSectionDefaultTimeout) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CriticalSectionDefaultTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitFreeBlockThreshold) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DeCommitFreeBlockThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitTotalFreeThreshold) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DeCommitTotalFreeThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockPrefixTable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(LockPrefixTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumAllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MaximumAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualMemoryThreshold) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(VirtualMemoryThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessAffinityMask) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(ProcessAffinityMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessHeapFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(ProcessHeapFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CSDVersion) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentLoadFlags) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DependentLoadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EditList) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(EditList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityCookie) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SecurityCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerTable) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SEHandlerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerCount) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SEHandlerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFCheckFunctionPointer) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardCFDispatchFunctionPointer) as usize - ptr as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionTable) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFFunctionTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionCount) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFFunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardFlags) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrity) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CodeIntegrity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryTable) as usize - ptr as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardAddressTakenIatEntryTable) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryCount) as usize - ptr as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardAddressTakenIatEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetTable) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardLongJumpTargetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetCount) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardLongJumpTargetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicValueRelocTable) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CHPEMetadataPointer) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CHPEMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutine) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFFailureRoutine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutineFunctionPointer) as usize + - ptr as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFFailureRoutineFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableOffset) as usize - ptr as usize + }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTableOffset) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableSection) as usize - ptr as usize + }, + 228usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTableSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 230usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFVerifyStackPointerFunctionPointer) as usize + - ptr as usize + }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFVerifyStackPointerFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HotPatchTableOffset) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(HotPatchTableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 244usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveConfigurationPointer) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(EnclaveConfigurationPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMetadataPointer) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(VolatileMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationTable) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardEHContinuationTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationCount) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardEHContinuationCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGCheckFunctionPointer) as usize - ptr as usize + }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardXFGCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGDispatchFunctionPointer) as usize - ptr as usize + }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardXFGDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardXFGTableDispatchFunctionPointer) as usize + - ptr as usize + }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardXFGTableDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CastGuardOsDeterminedFailureMode) as usize - ptr as usize + }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CastGuardOsDeterminedFailureMode) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_DIRECTORY64 = _IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY64 = *mut _IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SequenceNumber: DWORD, + pub BaseImageList: DWORD, + pub BaseImageCount: DWORD, + pub BufferOffset: DWORD, + pub ExtraPatchSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_INFO>(), + 28usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseImageList) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BaseImageList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseImageCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BaseImageCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraPatchSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(ExtraPatchSize) + ) + ); +} +pub type IMAGE_HOT_PATCH_INFO = _IMAGE_HOT_PATCH_INFO; +pub type PIMAGE_HOT_PATCH_INFO = *mut _IMAGE_HOT_PATCH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_BASE { + pub SequenceNumber: DWORD, + pub Flags: DWORD, + pub OriginalTimeDateStamp: DWORD, + pub OriginalCheckSum: DWORD, + pub CodeIntegrityInfo: DWORD, + pub CodeIntegritySize: DWORD, + pub PatchTable: DWORD, + pub BufferOffset: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_BASE() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_BASE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_BASE>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_BASE)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_BASE>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_BASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalTimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(OriginalTimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalCheckSum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(OriginalCheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrityInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(CodeIntegrityInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegritySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(CodeIntegritySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PatchTable) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(PatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(BufferOffset) + ) + ); +} +pub type IMAGE_HOT_PATCH_BASE = _IMAGE_HOT_PATCH_BASE; +pub type PIMAGE_HOT_PATCH_BASE = *mut _IMAGE_HOT_PATCH_BASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_HASHES { + pub SHA256: [BYTE; 32usize], + pub SHA1: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_HASHES() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_HASHES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_HASHES>(), + 52usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_HASHES)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_HASHES>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_HASHES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SHA256) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_HASHES), + "::", + stringify!(SHA256) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SHA1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_HASHES), + "::", + stringify!(SHA1) + ) + ); +} +pub type IMAGE_HOT_PATCH_HASHES = _IMAGE_HOT_PATCH_HASHES; +pub type PIMAGE_HOT_PATCH_HASHES = *mut _IMAGE_HOT_PATCH_HASHES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { + pub FuncStart: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_CE_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FuncStart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(FuncStart) + ) + ); +} +impl _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { + #[inline] + pub fn PrologLen(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_PrologLen(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn FuncLen(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 22u8) as u32) } + } + #[inline] + pub fn set_FuncLen(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 22u8, val as u64) + } + } + #[inline] + pub fn ThirtyTwoBit(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } + } + #[inline] + pub fn set_ThirtyTwoBit(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub fn ExceptionFlag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_ExceptionFlag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PrologLen: DWORD, + FuncLen: DWORD, + ThirtyTwoBit: DWORD, + ExceptionFlag: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let PrologLen: u32 = unsafe { ::std::mem::transmute(PrologLen) }; + PrologLen as u64 + }); + __bindgen_bitfield_unit.set(8usize, 22u8, { + let FuncLen: u32 = unsafe { ::std::mem::transmute(FuncLen) }; + FuncLen as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let ThirtyTwoBit: u32 = unsafe { ::std::mem::transmute(ThirtyTwoBit) }; + ThirtyTwoBit as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let ExceptionFlag: u32 = unsafe { ::std::mem::transmute(ExceptionFlag) }; + ExceptionFlag as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_CE_RUNTIME_FUNCTION_ENTRY = _IMAGE_CE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_CE_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindData: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Flag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_Flag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 11u8, val as u64) + } + } + #[inline] + pub fn Ret(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Ret(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn H(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_H(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reg(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 3u8) as u32) } + } + #[inline] + pub fn set_Reg(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 3u8, val as u64) + } + } + #[inline] + pub fn R(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_R(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn L(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_L(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn C(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_C(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn StackAdjust(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 10u8) as u32) } + } + #[inline] + pub fn set_StackAdjust(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 10u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Flag: DWORD, + FunctionLength: DWORD, + Ret: DWORD, + H: DWORD, + Reg: DWORD, + R: DWORD, + L: DWORD, + C: DWORD, + StackAdjust: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Flag: u32 = unsafe { ::std::mem::transmute(Flag) }; + Flag as u64 + }); + __bindgen_bitfield_unit.set(2usize, 11u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Ret: u32 = unsafe { ::std::mem::transmute(Ret) }; + Ret as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let H: u32 = unsafe { ::std::mem::transmute(H) }; + H as u64 + }); + __bindgen_bitfield_unit.set(16usize, 3u8, { + let Reg: u32 = unsafe { ::std::mem::transmute(Reg) }; + Reg as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let R: u32 = unsafe { ::std::mem::transmute(R) }; + R as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let L: u32 = unsafe { ::std::mem::transmute(L) }; + L as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let C: u32 = unsafe { ::std::mem::transmute(C) }; + C as u64 + }); + __bindgen_bitfield_unit.set(22usize, 10u8, { + let StackAdjust: u32 = unsafe { ::std::mem::transmute(StackAdjust) }; + StackAdjust as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); +} +pub type IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; +pub const ARM64_FNPDATA_FLAGS_PdataRefToFullXdata: ARM64_FNPDATA_FLAGS = 0; +pub const ARM64_FNPDATA_FLAGS_PdataPackedUnwindFunction: ARM64_FNPDATA_FLAGS = 1; +pub const ARM64_FNPDATA_FLAGS_PdataPackedUnwindFragment: ARM64_FNPDATA_FLAGS = 2; +pub type ARM64_FNPDATA_FLAGS = ::std::os::raw::c_int; +pub const ARM64_FNPDATA_CR_PdataCrUnchained: ARM64_FNPDATA_CR = 0; +pub const ARM64_FNPDATA_CR_PdataCrUnchainedSavedLr: ARM64_FNPDATA_CR = 1; +pub const ARM64_FNPDATA_CR_PdataCrChainedWithPac: ARM64_FNPDATA_CR = 2; +pub const ARM64_FNPDATA_CR_PdataCrChained: ARM64_FNPDATA_CR = 3; +pub type ARM64_FNPDATA_CR = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindData: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Flag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_Flag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 11u8, val as u64) + } + } + #[inline] + pub fn RegF(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u32) } + } + #[inline] + pub fn set_RegF(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 3u8, val as u64) + } + } + #[inline] + pub fn RegI(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_RegI(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn H(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_H(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn CR(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 2u8) as u32) } + } + #[inline] + pub fn set_CR(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 2u8, val as u64) + } + } + #[inline] + pub fn FrameSize(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 9u8) as u32) } + } + #[inline] + pub fn set_FrameSize(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 9u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Flag: DWORD, + FunctionLength: DWORD, + RegF: DWORD, + RegI: DWORD, + H: DWORD, + CR: DWORD, + FrameSize: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Flag: u32 = unsafe { ::std::mem::transmute(Flag) }; + Flag as u64 + }); + __bindgen_bitfield_unit.set(2usize, 11u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(13usize, 3u8, { + let RegF: u32 = unsafe { ::std::mem::transmute(RegF) }; + RegF as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let RegI: u32 = unsafe { ::std::mem::transmute(RegI) }; + RegI as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let H: u32 = unsafe { ::std::mem::transmute(H) }; + H as u64 + }); + __bindgen_bitfield_unit.set(21usize, 2u8, { + let CR: u32 = unsafe { ::std::mem::transmute(CR) }; + CR as u64 + }); + __bindgen_bitfield_unit.set(23usize, 9u8, { + let FrameSize: u32 = unsafe { ::std::mem::transmute(FrameSize) }; + FrameSize as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); +} +pub type IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA { + pub HeaderData: DWORD, + pub __bindgen_anon_1: IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1) + ) + ); +} +impl IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1 { + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 18u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 18u8, val as u64) + } + } + #[inline] + pub fn Version(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 2u8) as u32) } + } + #[inline] + pub fn set_Version(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(18usize, 2u8, val as u64) + } + } + #[inline] + pub fn ExceptionDataPresent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_ExceptionDataPresent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn EpilogInHeader(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_EpilogInHeader(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn EpilogCount(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 5u8) as u32) } + } + #[inline] + pub fn set_EpilogCount(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 5u8, val as u64) + } + } + #[inline] + pub fn CodeWords(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 5u8) as u32) } + } + #[inline] + pub fn set_CodeWords(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(27usize, 5u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + FunctionLength: DWORD, + Version: DWORD, + ExceptionDataPresent: DWORD, + EpilogInHeader: DWORD, + EpilogCount: DWORD, + CodeWords: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 18u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(18usize, 2u8, { + let Version: u32 = unsafe { ::std::mem::transmute(Version) }; + Version as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let ExceptionDataPresent: u32 = unsafe { ::std::mem::transmute(ExceptionDataPresent) }; + ExceptionDataPresent as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let EpilogInHeader: u32 = unsafe { ::std::mem::transmute(EpilogInHeader) }; + EpilogInHeader as u64 + }); + __bindgen_bitfield_unit.set(22usize, 5u8, { + let EpilogCount: u32 = unsafe { ::std::mem::transmute(EpilogCount) }; + EpilogCount as u64 + }); + __bindgen_bitfield_unit.set(27usize, 5u8, { + let CodeWords: u32 = unsafe { ::std::mem::transmute(CodeWords) }; + CodeWords as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA), + "::", + stringify!(HeaderData) + ) + ); +} +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: ULONGLONG, + pub EndAddress: ULONGLONG, + pub ExceptionHandler: ULONGLONG, + pub HandlerData: ULONGLONG, + pub PrologEndAddress: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>(), + 40usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionHandler) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(ExceptionHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologEndAddress) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(PrologEndAddress) + ) + ); +} +pub type IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub ExceptionHandler: DWORD, + pub HandlerData: DWORD, + pub PrologEndAddress: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionHandler) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(ExceptionHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologEndAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(PrologEndAddress) + ) + ); +} +pub type IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindInfoAddress: DWORD, + pub UnwindData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindInfoAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindInfoAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); +} +pub type _PIMAGE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; +pub type IMAGE_AMD64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_AMD64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; +pub type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_CONFIG32 { + pub Size: DWORD, + pub MinimumRequiredConfigSize: DWORD, + pub PolicyFlags: DWORD, + pub NumberOfImports: DWORD, + pub ImportList: DWORD, + pub ImportEntrySize: DWORD, + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImageVersion: DWORD, + pub SecurityVersion: DWORD, + pub EnclaveSize: DWORD, + pub NumberOfThreads: DWORD, + pub EnclaveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_CONFIG32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_CONFIG32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_CONFIG32>(), + 76usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_CONFIG32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_CONFIG32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_CONFIG32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumRequiredConfigSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(MinimumRequiredConfigSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(PolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfImports) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(NumberOfImports) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImportList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportEntrySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImportEntrySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(SecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfThreads) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(NumberOfThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(EnclaveFlags) + ) + ); +} +pub type IMAGE_ENCLAVE_CONFIG32 = _IMAGE_ENCLAVE_CONFIG32; +pub type PIMAGE_ENCLAVE_CONFIG32 = *mut _IMAGE_ENCLAVE_CONFIG32; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_CONFIG64 { + pub Size: DWORD, + pub MinimumRequiredConfigSize: DWORD, + pub PolicyFlags: DWORD, + pub NumberOfImports: DWORD, + pub ImportList: DWORD, + pub ImportEntrySize: DWORD, + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImageVersion: DWORD, + pub SecurityVersion: DWORD, + pub EnclaveSize: ULONGLONG, + pub NumberOfThreads: DWORD, + pub EnclaveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_CONFIG64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_CONFIG64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_CONFIG64>(), + 80usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_CONFIG64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_CONFIG64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_CONFIG64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumRequiredConfigSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(MinimumRequiredConfigSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(PolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfImports) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(NumberOfImports) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImportList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportEntrySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImportEntrySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(SecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfThreads) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(NumberOfThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveFlags) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(EnclaveFlags) + ) + ); +} +pub type IMAGE_ENCLAVE_CONFIG64 = _IMAGE_ENCLAVE_CONFIG64; +pub type PIMAGE_ENCLAVE_CONFIG64 = *mut _IMAGE_ENCLAVE_CONFIG64; +pub type IMAGE_ENCLAVE_CONFIG = IMAGE_ENCLAVE_CONFIG64; +pub type PIMAGE_ENCLAVE_CONFIG = PIMAGE_ENCLAVE_CONFIG64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_IMPORT { + pub MatchType: DWORD, + pub MinimumSecurityVersion: DWORD, + pub UniqueOrAuthorID: [BYTE; 32usize], + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImportName: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_IMPORT() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_IMPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_IMPORT>(), + 80usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_IMPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_IMPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_IMPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MatchType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(MatchType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumSecurityVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(MinimumSecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueOrAuthorID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(UniqueOrAuthorID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(ImportName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_ENCLAVE_IMPORT = _IMAGE_ENCLAVE_IMPORT; +pub type PIMAGE_ENCLAVE_IMPORT = *mut _IMAGE_ENCLAVE_IMPORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DEBUG_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub Type: DWORD, + pub SizeOfData: DWORD, + pub AddressOfRawData: DWORD, + pub PointerToRawData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DEBUG_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DEBUG_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DEBUG_DIRECTORY>(), + 28usize, + concat!("Size of: ", stringify!(_IMAGE_DEBUG_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DEBUG_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DEBUG_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfRawData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(AddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRawData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(PointerToRawData) + ) + ); +} +pub type IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY; +pub type PIMAGE_DEBUG_DIRECTORY = *mut _IMAGE_DEBUG_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_COFF_SYMBOLS_HEADER { + pub NumberOfSymbols: DWORD, + pub LvaToFirstSymbol: DWORD, + pub NumberOfLinenumbers: DWORD, + pub LvaToFirstLinenumber: DWORD, + pub RvaToFirstByteOfCode: DWORD, + pub RvaToLastByteOfCode: DWORD, + pub RvaToFirstByteOfData: DWORD, + pub RvaToLastByteOfData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_COFF_SYMBOLS_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_COFF_SYMBOLS_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_COFF_SYMBOLS_HEADER>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_COFF_SYMBOLS_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(NumberOfSymbols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LvaToFirstSymbol) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(LvaToFirstSymbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LvaToFirstLinenumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(LvaToFirstLinenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToFirstByteOfCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToFirstByteOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToLastByteOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToLastByteOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToFirstByteOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToFirstByteOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToLastByteOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToLastByteOfData) + ) + ); +} +pub type IMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER; +pub type PIMAGE_COFF_SYMBOLS_HEADER = *mut _IMAGE_COFF_SYMBOLS_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FPO_DATA { + pub ulOffStart: DWORD, + pub cbProcSize: DWORD, + pub cdwLocals: DWORD, + pub cdwParams: WORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__FPO_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_FPO_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FPO_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_FPO_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_FPO_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_FPO_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulOffStart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(ulOffStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbProcSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cbProcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdwLocals) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cdwLocals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdwParams) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cdwParams) + ) + ); +} +impl _FPO_DATA { + #[inline] + pub fn cbProlog(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } + } + #[inline] + pub fn set_cbProlog(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn cbRegs(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 3u8) as u16) } + } + #[inline] + pub fn set_cbRegs(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 3u8, val as u64) + } + } + #[inline] + pub fn fHasSEH(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u16) } + } + #[inline] + pub fn set_fHasSEH(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUseBP(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fUseBP(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn cbFrame(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u16) } + } + #[inline] + pub fn set_cbFrame(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 2u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + cbProlog: WORD, + cbRegs: WORD, + fHasSEH: WORD, + fUseBP: WORD, + reserved: WORD, + cbFrame: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let cbProlog: u16 = unsafe { ::std::mem::transmute(cbProlog) }; + cbProlog as u64 + }); + __bindgen_bitfield_unit.set(8usize, 3u8, { + let cbRegs: u16 = unsafe { ::std::mem::transmute(cbRegs) }; + cbRegs as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fHasSEH: u16 = unsafe { ::std::mem::transmute(fHasSEH) }; + fHasSEH as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fUseBP: u16 = unsafe { ::std::mem::transmute(fUseBP) }; + fUseBP as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 2u8, { + let cbFrame: u16 = unsafe { ::std::mem::transmute(cbFrame) }; + cbFrame as u64 + }); + __bindgen_bitfield_unit + } +} +pub type FPO_DATA = _FPO_DATA; +pub type PFPO_DATA = *mut _FPO_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DEBUG_MISC { + pub DataType: DWORD, + pub Length: DWORD, + pub Unicode: BOOLEAN, + pub Reserved: [BYTE; 3usize], + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_DEBUG_MISC() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DEBUG_MISC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DEBUG_MISC>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_DEBUG_MISC)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DEBUG_MISC>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DEBUG_MISC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unicode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Unicode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Data) + ) + ); +} +pub type IMAGE_DEBUG_MISC = _IMAGE_DEBUG_MISC; +pub type PIMAGE_DEBUG_MISC = *mut _IMAGE_DEBUG_MISC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_FUNCTION_ENTRY { + pub StartingAddress: DWORD, + pub EndingAddress: DWORD, + pub EndOfPrologue: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FUNCTION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(StartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(EndingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfPrologue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(EndOfPrologue) + ) + ); +} +pub type IMAGE_FUNCTION_ENTRY = _IMAGE_FUNCTION_ENTRY; +pub type PIMAGE_FUNCTION_ENTRY = *mut _IMAGE_FUNCTION_ENTRY; +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub struct _IMAGE_FUNCTION_ENTRY64 { + pub StartingAddress: ULONGLONG, + pub EndingAddress: ULONGLONG, + pub __bindgen_anon_1: _IMAGE_FUNCTION_ENTRY64__bindgen_ty_1, +} +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub union _IMAGE_FUNCTION_ENTRY64__bindgen_ty_1 { + pub EndOfPrologue: ULONGLONG, + pub UnwindInfoAddress: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfPrologue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), + "::", + stringify!(EndOfPrologue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindInfoAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), + "::", + stringify!(UnwindInfoAddress) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY64>(), + 24usize, + concat!("Size of: ", stringify!(_IMAGE_FUNCTION_ENTRY64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FUNCTION_ENTRY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64), + "::", + stringify!(StartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64), + "::", + stringify!(EndingAddress) + ) + ); +} +pub type IMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64; +pub type PIMAGE_FUNCTION_ENTRY64 = *mut _IMAGE_FUNCTION_ENTRY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SEPARATE_DEBUG_HEADER { + pub Signature: WORD, + pub Flags: WORD, + pub Machine: WORD, + pub Characteristics: WORD, + pub TimeDateStamp: DWORD, + pub CheckSum: DWORD, + pub ImageBase: DWORD, + pub SizeOfImage: DWORD, + pub NumberOfSections: DWORD, + pub ExportedNamesSize: DWORD, + pub DebugDirectorySize: DWORD, + pub SectionAlignment: DWORD, + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_SEPARATE_DEBUG_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SEPARATE_DEBUG_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SEPARATE_DEBUG_HEADER>(), + 48usize, + concat!("Size of: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SEPARATE_DEBUG_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExportedNamesSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(ExportedNamesSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugDirectorySize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(DebugDirectorySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_SEPARATE_DEBUG_HEADER = _IMAGE_SEPARATE_DEBUG_HEADER; +pub type PIMAGE_SEPARATE_DEBUG_HEADER = *mut _IMAGE_SEPARATE_DEBUG_HEADER; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _NON_PAGED_DEBUG_INFO { + pub Signature: WORD, + pub Flags: WORD, + pub Size: DWORD, + pub Machine: WORD, + pub Characteristics: WORD, + pub TimeDateStamp: DWORD, + pub CheckSum: DWORD, + pub SizeOfImage: DWORD, + pub ImageBase: ULONGLONG, +} +#[test] +fn bindgen_test_layout__NON_PAGED_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NON_PAGED_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NON_PAGED_DEBUG_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_NON_PAGED_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NON_PAGED_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_NON_PAGED_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(ImageBase) + ) + ); +} +pub type NON_PAGED_DEBUG_INFO = _NON_PAGED_DEBUG_INFO; +pub type PNON_PAGED_DEBUG_INFO = *mut _NON_PAGED_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ImageArchitectureHeader { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub FirstEntryRVA: DWORD, +} +#[test] +fn bindgen_test_layout__ImageArchitectureHeader() { + const UNINIT: ::std::mem::MaybeUninit<_ImageArchitectureHeader> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ImageArchitectureHeader>(), + 8usize, + concat!("Size of: ", stringify!(_ImageArchitectureHeader)) + ); + assert_eq!( + ::std::mem::align_of::<_ImageArchitectureHeader>(), + 4usize, + concat!("Alignment of ", stringify!(_ImageArchitectureHeader)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstEntryRVA) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureHeader), + "::", + stringify!(FirstEntryRVA) + ) + ); +} +impl _ImageArchitectureHeader { + #[inline] + pub fn AmaskValue(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AmaskValue(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AmaskShift(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_AmaskShift(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AmaskValue: ::std::os::raw::c_uint, + AmaskShift: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AmaskValue: u32 = unsafe { ::std::mem::transmute(AmaskValue) }; + AmaskValue as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let AmaskShift: u32 = unsafe { ::std::mem::transmute(AmaskShift) }; + AmaskShift as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_ARCHITECTURE_HEADER = _ImageArchitectureHeader; +pub type PIMAGE_ARCHITECTURE_HEADER = *mut _ImageArchitectureHeader; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ImageArchitectureEntry { + pub FixupInstRVA: DWORD, + pub NewInst: DWORD, +} +#[test] +fn bindgen_test_layout__ImageArchitectureEntry() { + const UNINIT: ::std::mem::MaybeUninit<_ImageArchitectureEntry> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ImageArchitectureEntry>(), + 8usize, + concat!("Size of: ", stringify!(_ImageArchitectureEntry)) + ); + assert_eq!( + ::std::mem::align_of::<_ImageArchitectureEntry>(), + 4usize, + concat!("Alignment of ", stringify!(_ImageArchitectureEntry)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInstRVA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureEntry), + "::", + stringify!(FixupInstRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewInst) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureEntry), + "::", + stringify!(NewInst) + ) + ); +} +pub type IMAGE_ARCHITECTURE_ENTRY = _ImageArchitectureEntry; +pub type PIMAGE_ARCHITECTURE_ENTRY = *mut _ImageArchitectureEntry; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct IMPORT_OBJECT_HEADER { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub SizeOfData: DWORD, + pub __bindgen_anon_1: IMPORT_OBJECT_HEADER__bindgen_ty_1, + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMPORT_OBJECT_HEADER__bindgen_ty_1 { + pub Ordinal: WORD, + pub Hint: WORD, +} +#[test] +fn bindgen_test_layout_IMPORT_OBJECT_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), + "::", + stringify!(Hint) + ) + ); +} +#[test] +fn bindgen_test_layout_IMPORT_OBJECT_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(IMPORT_OBJECT_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(IMPORT_OBJECT_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(SizeOfData) + ) + ); +} +impl IMPORT_OBJECT_HEADER { + #[inline] + pub fn Type(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u16) } + } + #[inline] + pub fn set_Type(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn NameType(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u16) } + } + #[inline] + pub fn set_NameType(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 3u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 11u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 11u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Type: WORD, + NameType: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Type: u16 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(2usize, 3u8, { + let NameType: u16 = unsafe { ::std::mem::transmute(NameType) }; + NameType as u64 + }); + __bindgen_bitfield_unit.set(5usize, 11u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_CODE: IMPORT_OBJECT_TYPE = 0; +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_DATA: IMPORT_OBJECT_TYPE = 1; +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_CONST: IMPORT_OBJECT_TYPE = 2; +pub type IMPORT_OBJECT_TYPE = ::std::os::raw::c_int; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_ORDINAL: IMPORT_OBJECT_NAME_TYPE = 0; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME: IMPORT_OBJECT_NAME_TYPE = 1; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_NO_PREFIX: IMPORT_OBJECT_NAME_TYPE = 2; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_UNDECORATE: IMPORT_OBJECT_NAME_TYPE = 3; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_EXPORTAS: IMPORT_OBJECT_NAME_TYPE = 4; +pub type IMPORT_OBJECT_NAME_TYPE = ::std::os::raw::c_int; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_ILONLY: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_32BITREQUIRED: ReplacesCorHdrNumericDefines = + 2; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_IL_LIBRARY: ReplacesCorHdrNumericDefines = 4; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_STRONGNAMESIGNED: + ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_NATIVE_ENTRYPOINT: + ReplacesCorHdrNumericDefines = 16; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_TRACKDEBUGDATA: ReplacesCorHdrNumericDefines = + 65536; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_32BITPREFERRED: ReplacesCorHdrNumericDefines = + 131072; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MAJOR_V2: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MAJOR: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MINOR: ReplacesCorHdrNumericDefines = 5; +pub const ReplacesCorHdrNumericDefines_COR_DELETED_NAME_LENGTH: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLEGAP_NAME_LENGTH: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_NATIVE_TYPE_MAX_CB: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE: + ReplacesCorHdrNumericDefines = 255; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_METHODRVA: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_EHRVA: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_BASICBLOCK: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_32BIT: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_64BIT: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_FROM_UNMANAGED: ReplacesCorHdrNumericDefines = 4; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN: + ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_CALL_MOST_DERIVED: ReplacesCorHdrNumericDefines = + 16; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_EATJ_THUNK_SIZE: ReplacesCorHdrNumericDefines = 32; +pub const ReplacesCorHdrNumericDefines_MAX_CLASS_NAME: ReplacesCorHdrNumericDefines = 1024; +pub const ReplacesCorHdrNumericDefines_MAX_PACKAGE_NAME: ReplacesCorHdrNumericDefines = 1024; +pub type ReplacesCorHdrNumericDefines = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct IMAGE_COR20_HEADER { + pub cb: DWORD, + pub MajorRuntimeVersion: WORD, + pub MinorRuntimeVersion: WORD, + pub MetaData: IMAGE_DATA_DIRECTORY, + pub Flags: DWORD, + pub __bindgen_anon_1: IMAGE_COR20_HEADER__bindgen_ty_1, + pub Resources: IMAGE_DATA_DIRECTORY, + pub StrongNameSignature: IMAGE_DATA_DIRECTORY, + pub CodeManagerTable: IMAGE_DATA_DIRECTORY, + pub VTableFixups: IMAGE_DATA_DIRECTORY, + pub ExportAddressTableJumps: IMAGE_DATA_DIRECTORY, + pub ManagedNativeHeader: IMAGE_DATA_DIRECTORY, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMAGE_COR20_HEADER__bindgen_ty_1 { + pub EntryPointToken: DWORD, + pub EntryPointRVA: DWORD, +} +#[test] +fn bindgen_test_layout_IMAGE_COR20_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(IMAGE_COR20_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryPointToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), + "::", + stringify!(EntryPointToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryPointRVA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), + "::", + stringify!(EntryPointRVA) + ) + ); +} +#[test] +fn bindgen_test_layout_IMAGE_COR20_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMAGE_COR20_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(IMAGE_COR20_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorRuntimeVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MajorRuntimeVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorRuntimeVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MinorRuntimeVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MetaData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resources) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(Resources) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StrongNameSignature) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(StrongNameSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeManagerTable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(CodeManagerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VTableFixups) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(VTableFixups) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExportAddressTableJumps) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(ExportAddressTableJumps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManagedNativeHeader) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(ManagedNativeHeader) + ) + ); +} +pub type PIMAGE_COR20_HEADER = *mut IMAGE_COR20_HEADER; +extern "C" { + pub fn RtlCaptureStackBackTrace( + FramesToSkip: DWORD, + FramesToCapture: DWORD, + BackTrace: *mut PVOID, + BackTraceHash: PDWORD, + ) -> WORD; +} +extern "C" { + pub fn RtlCaptureContext(ContextRecord: PCONTEXT); +} +extern "C" { + pub fn RtlCaptureContext2(ContextRecord: PCONTEXT); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNWIND_HISTORY_TABLE_ENTRY { + pub ImageBase: ULONG_PTR, + pub FunctionEntry: PRUNTIME_FUNCTION, +} +#[test] +fn bindgen_test_layout__UNWIND_HISTORY_TABLE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_UNWIND_HISTORY_TABLE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNWIND_HISTORY_TABLE_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_UNWIND_HISTORY_TABLE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE_ENTRY), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE_ENTRY), + "::", + stringify!(FunctionEntry) + ) + ); +} +pub type UNWIND_HISTORY_TABLE_ENTRY = _UNWIND_HISTORY_TABLE_ENTRY; +pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut _UNWIND_HISTORY_TABLE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNWIND_HISTORY_TABLE { + pub Count: DWORD, + pub LocalHint: BYTE, + pub GlobalHint: BYTE, + pub Search: BYTE, + pub Once: BYTE, + pub LowAddress: ULONG_PTR, + pub HighAddress: ULONG_PTR, + pub Entry: [UNWIND_HISTORY_TABLE_ENTRY; 12usize], +} +#[test] +fn bindgen_test_layout__UNWIND_HISTORY_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_UNWIND_HISTORY_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNWIND_HISTORY_TABLE>(), + 216usize, + concat!("Size of: ", stringify!(_UNWIND_HISTORY_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_UNWIND_HISTORY_TABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_UNWIND_HISTORY_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalHint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(LocalHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalHint) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(GlobalHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Search) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Search) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Once) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Once) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(LowAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(HighAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Entry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Entry) + ) + ); +} +pub type UNWIND_HISTORY_TABLE = _UNWIND_HISTORY_TABLE; +pub type PUNWIND_HISTORY_TABLE = *mut _UNWIND_HISTORY_TABLE; +extern "C" { + pub fn RtlUnwind( + TargetFrame: PVOID, + TargetIp: PVOID, + ExceptionRecord: PEXCEPTION_RECORD, + ReturnValue: PVOID, + ); +} +extern "C" { + pub fn RtlAddFunctionTable( + FunctionTable: PRUNTIME_FUNCTION, + EntryCount: DWORD, + BaseAddress: DWORD64, + ) -> BOOLEAN; +} +extern "C" { + pub fn RtlDeleteFunctionTable(FunctionTable: PRUNTIME_FUNCTION) -> BOOLEAN; +} +extern "C" { + pub fn RtlInstallFunctionTableCallback( + TableIdentifier: DWORD64, + BaseAddress: DWORD64, + Length: DWORD, + Callback: PGET_RUNTIME_FUNCTION_CALLBACK, + Context: PVOID, + OutOfProcessCallbackDll: PCWSTR, + ) -> BOOLEAN; +} +extern "C" { + pub fn RtlAddGrowableFunctionTable( + DynamicTable: *mut PVOID, + FunctionTable: PRUNTIME_FUNCTION, + EntryCount: DWORD, + MaximumEntryCount: DWORD, + RangeBase: ULONG_PTR, + RangeEnd: ULONG_PTR, + ) -> DWORD; +} +extern "C" { + pub fn RtlGrowFunctionTable(DynamicTable: PVOID, NewEntryCount: DWORD); +} +extern "C" { + pub fn RtlDeleteGrowableFunctionTable(DynamicTable: PVOID); +} +extern "C" { + pub fn RtlLookupFunctionEntry( + ControlPc: DWORD64, + ImageBase: PDWORD64, + HistoryTable: PUNWIND_HISTORY_TABLE, + ) -> PRUNTIME_FUNCTION; +} +extern "C" { + pub fn RtlRestoreContext(ContextRecord: PCONTEXT, ExceptionRecord: *mut _EXCEPTION_RECORD); +} +extern "C" { + pub fn RtlUnwindEx( + TargetFrame: PVOID, + TargetIp: PVOID, + ExceptionRecord: PEXCEPTION_RECORD, + ReturnValue: PVOID, + ContextRecord: PCONTEXT, + HistoryTable: PUNWIND_HISTORY_TABLE, + ); +} +extern "C" { + pub fn RtlVirtualUnwind( + HandlerType: DWORD, + ImageBase: DWORD64, + ControlPc: DWORD64, + FunctionEntry: PRUNTIME_FUNCTION, + ContextRecord: PCONTEXT, + HandlerData: *mut PVOID, + EstablisherFrame: PDWORD64, + ContextPointers: PKNONVOLATILE_CONTEXT_POINTERS, + ) -> PEXCEPTION_ROUTINE; +} +extern "C" { + pub fn RtlRaiseException(ExceptionRecord: PEXCEPTION_RECORD); +} +extern "C" { + pub fn RtlPcToFileHeader(PcValue: PVOID, BaseOfImage: *mut PVOID) -> PVOID; +} +extern "C" { + pub fn RtlCompareMemory( + Source1: *const ::std::os::raw::c_void, + Source2: *const ::std::os::raw::c_void, + Length: SIZE_T, + ) -> SIZE_T; +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_ENTRY { + pub Next: *mut _SLIST_ENTRY, +} +#[test] +fn bindgen_test_layout__SLIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_ENTRY>(), + 16usize, + concat!("Alignment of ", stringify!(_SLIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_ENTRY), + "::", + stringify!(Next) + ) + ); +} +pub type SLIST_ENTRY = _SLIST_ENTRY; +pub type PSLIST_ENTRY = *mut _SLIST_ENTRY; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union _SLIST_HEADER { + pub __bindgen_anon_1: _SLIST_HEADER__bindgen_ty_1, + pub HeaderX64: _SLIST_HEADER__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_HEADER__bindgen_ty_1 { + pub Alignment: ULONGLONG, + pub Region: ULONGLONG, +} +#[test] +fn bindgen_test_layout__SLIST_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_HEADER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER__bindgen_ty_1), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER__bindgen_ty_1), + "::", + stringify!(Region) + ) + ); +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_HEADER__bindgen_ty_2 { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[test] +fn bindgen_test_layout__SLIST_HEADER__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER__bindgen_ty_2>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER__bindgen_ty_2)) + ); +} +impl _SLIST_HEADER__bindgen_ty_2 { + #[inline] + pub fn Depth(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) } + } + #[inline] + pub fn set_Depth(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn Sequence(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 48u8) as u64) } + } + #[inline] + pub fn set_Sequence(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 48u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(64usize, 4u8) as u64) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(64usize, 4u8, val as u64) + } + } + #[inline] + pub fn NextEntry(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(68usize, 60u8) as u64) } + } + #[inline] + pub fn set_NextEntry(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(68usize, 60u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Depth: ULONGLONG, + Sequence: ULONGLONG, + Reserved: ULONGLONG, + NextEntry: ULONGLONG, + ) -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let Depth: u64 = unsafe { ::std::mem::transmute(Depth) }; + Depth as u64 + }); + __bindgen_bitfield_unit.set(16usize, 48u8, { + let Sequence: u64 = unsafe { ::std::mem::transmute(Sequence) }; + Sequence as u64 + }); + __bindgen_bitfield_unit.set(64usize, 4u8, { + let Reserved: u64 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit.set(68usize, 60u8, { + let NextEntry: u64 = unsafe { ::std::mem::transmute(NextEntry) }; + NextEntry as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SLIST_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER>(), + 16usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderX64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER), + "::", + stringify!(HeaderX64) + ) + ); +} +pub type SLIST_HEADER = _SLIST_HEADER; +pub type PSLIST_HEADER = *mut _SLIST_HEADER; +extern "C" { + pub fn RtlInitializeSListHead(ListHead: PSLIST_HEADER); +} +extern "C" { + pub fn RtlFirstEntrySList(ListHead: *const SLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPopEntrySList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPushEntrySList( + ListHead: PSLIST_HEADER, + ListEntry: PSLIST_ENTRY, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPushListSListEx( + ListHead: PSLIST_HEADER, + List: PSLIST_ENTRY, + ListEnd: PSLIST_ENTRY, + Count: DWORD, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedFlushSList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlQueryDepthSList(ListHead: PSLIST_HEADER) -> WORD; +} +extern "C" { + pub fn RtlGetReturnAddressHijackTarget() -> ULONG_PTR; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RTL_RUN_ONCE { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_RUN_ONCE() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_RUN_ONCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_RUN_ONCE>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_RUN_ONCE)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_RUN_ONCE>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_RUN_ONCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_RUN_ONCE), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_RUN_ONCE = _RTL_RUN_ONCE; +pub type PRTL_RUN_ONCE = *mut _RTL_RUN_ONCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_BARRIER { + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: [ULONG_PTR; 2usize], + pub Reserved4: DWORD, + pub Reserved5: DWORD, +} +#[test] +fn bindgen_test_layout__RTL_BARRIER() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_BARRIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_BARRIER>(), + 32usize, + concat!("Size of: ", stringify!(_RTL_BARRIER)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_BARRIER>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_BARRIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved5) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved5) + ) + ); +} +pub type RTL_BARRIER = _RTL_BARRIER; +pub type PRTL_BARRIER = *mut _RTL_BARRIER; +extern "C" { + pub fn __fastfail(Code: ::std::os::raw::c_uint) -> !; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_ENTRY { + pub Length: WORD, + pub Flags: WORD, + pub Text: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_ENTRY>(), + 6usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_ENTRY>(), + 2usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Text) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Text) + ) + ); +} +pub type MESSAGE_RESOURCE_ENTRY = _MESSAGE_RESOURCE_ENTRY; +pub type PMESSAGE_RESOURCE_ENTRY = *mut _MESSAGE_RESOURCE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_BLOCK { + pub LowId: DWORD, + pub HighId: DWORD, + pub OffsetToEntries: DWORD, +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_BLOCK> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_BLOCK>(), + 12usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_BLOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(LowId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(HighId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToEntries) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(OffsetToEntries) + ) + ); +} +pub type MESSAGE_RESOURCE_BLOCK = _MESSAGE_RESOURCE_BLOCK; +pub type PMESSAGE_RESOURCE_BLOCK = *mut _MESSAGE_RESOURCE_BLOCK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_DATA { + pub NumberOfBlocks: DWORD, + pub Blocks: [MESSAGE_RESOURCE_BLOCK; 1usize], +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBlocks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_DATA), + "::", + stringify!(NumberOfBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blocks) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_DATA), + "::", + stringify!(Blocks) + ) + ); +} +pub type MESSAGE_RESOURCE_DATA = _MESSAGE_RESOURCE_DATA; +pub type PMESSAGE_RESOURCE_DATA = *mut _MESSAGE_RESOURCE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOA { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOA>(), + 148usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOA>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(szCSDVersion) + ) + ); +} +pub type OSVERSIONINFOA = _OSVERSIONINFOA; +pub type POSVERSIONINFOA = *mut _OSVERSIONINFOA; +pub type LPOSVERSIONINFOA = *mut _OSVERSIONINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOW { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOW>(), + 276usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOW>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(szCSDVersion) + ) + ); +} +pub type OSVERSIONINFOW = _OSVERSIONINFOW; +pub type POSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type LPOSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type RTL_OSVERSIONINFOW = _OSVERSIONINFOW; +pub type PRTL_OSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type OSVERSIONINFO = OSVERSIONINFOA; +pub type POSVERSIONINFO = POSVERSIONINFOA; +pub type LPOSVERSIONINFO = LPOSVERSIONINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOEXA { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [CHAR; 128usize], + pub wServicePackMajor: WORD, + pub wServicePackMinor: WORD, + pub wSuiteMask: WORD, + pub wProductType: BYTE, + pub wReserved: BYTE, +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOEXA>(), + 156usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOEXA>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(szCSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMajor) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wServicePackMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMinor) as usize - ptr as usize }, + 150usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wServicePackMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSuiteMask) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wSuiteMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProductType) as usize - ptr as usize }, + 154usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wProductType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 155usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wReserved) + ) + ); +} +pub type OSVERSIONINFOEXA = _OSVERSIONINFOEXA; +pub type POSVERSIONINFOEXA = *mut _OSVERSIONINFOEXA; +pub type LPOSVERSIONINFOEXA = *mut _OSVERSIONINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOEXW { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [WCHAR; 128usize], + pub wServicePackMajor: WORD, + pub wServicePackMinor: WORD, + pub wSuiteMask: WORD, + pub wProductType: BYTE, + pub wReserved: BYTE, +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOEXW>(), + 284usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOEXW>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(szCSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMajor) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wServicePackMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMinor) as usize - ptr as usize }, + 278usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wServicePackMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSuiteMask) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wSuiteMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProductType) as usize - ptr as usize }, + 282usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wProductType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 283usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wReserved) + ) + ); +} +pub type OSVERSIONINFOEXW = _OSVERSIONINFOEXW; +pub type POSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type LPOSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW; +pub type PRTL_OSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type OSVERSIONINFOEX = OSVERSIONINFOEXA; +pub type POSVERSIONINFOEX = POSVERSIONINFOEXA; +pub type LPOSVERSIONINFOEX = LPOSVERSIONINFOEXA; +extern "C" { + pub fn VerSetConditionMask( + ConditionMask: ULONGLONG, + TypeMask: DWORD, + Condition: BYTE, + ) -> ULONGLONG; +} +extern "C" { + pub fn RtlGetProductInfo( + OSMajorVersion: DWORD, + OSMinorVersion: DWORD, + SpMajorVersion: DWORD, + SpMinorVersion: DWORD, + ReturnedProductType: PDWORD, + ) -> BOOLEAN; +} +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadInvalidInfoClass: _RTL_UMS_THREAD_INFO_CLASS = 0; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadUserContext: _RTL_UMS_THREAD_INFO_CLASS = 1; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadPriority: _RTL_UMS_THREAD_INFO_CLASS = 2; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadAffinity: _RTL_UMS_THREAD_INFO_CLASS = 3; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadTeb: _RTL_UMS_THREAD_INFO_CLASS = 4; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadIsSuspended: _RTL_UMS_THREAD_INFO_CLASS = 5; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadIsTerminated: _RTL_UMS_THREAD_INFO_CLASS = 6; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadMaxInfoClass: _RTL_UMS_THREAD_INFO_CLASS = 7; +pub type _RTL_UMS_THREAD_INFO_CLASS = ::std::os::raw::c_int; +pub use self::_RTL_UMS_THREAD_INFO_CLASS as RTL_UMS_THREAD_INFO_CLASS; +pub type PRTL_UMS_THREAD_INFO_CLASS = *mut _RTL_UMS_THREAD_INFO_CLASS; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerStartup: _RTL_UMS_SCHEDULER_REASON = 0; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerThreadBlocked: _RTL_UMS_SCHEDULER_REASON = 1; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerThreadYield: _RTL_UMS_SCHEDULER_REASON = 2; +pub type _RTL_UMS_SCHEDULER_REASON = ::std::os::raw::c_int; +pub use self::_RTL_UMS_SCHEDULER_REASON as RTL_UMS_SCHEDULER_REASON; +pub type PRTL_UMS_SCHEDULER_REASON = *mut _RTL_UMS_SCHEDULER_REASON; +pub type PRTL_UMS_SCHEDULER_ENTRY_POINT = ::std::option::Option< + unsafe extern "C" fn(arg1: RTL_UMS_SCHEDULER_REASON, arg2: ULONG_PTR, arg3: PVOID), +>; +extern "C" { + pub fn RtlCrc32(Buffer: *const ::std::os::raw::c_void, Size: usize, InitialCrc: DWORD) + -> DWORD; +} +extern "C" { + pub fn RtlCrc64( + Buffer: *const ::std::os::raw::c_void, + Size: usize, + InitialCrc: ULONGLONG, + ) -> ULONGLONG; +} +pub const _OS_DEPLOYEMENT_STATE_VALUES_OS_DEPLOYMENT_STANDARD: _OS_DEPLOYEMENT_STATE_VALUES = 1; +pub const _OS_DEPLOYEMENT_STATE_VALUES_OS_DEPLOYMENT_COMPACT: _OS_DEPLOYEMENT_STATE_VALUES = 2; +pub type _OS_DEPLOYEMENT_STATE_VALUES = ::std::os::raw::c_int; +pub use self::_OS_DEPLOYEMENT_STATE_VALUES as OS_DEPLOYEMENT_STATE_VALUES; +extern "C" { + pub fn RtlOsDeploymentState(Flags: DWORD) -> OS_DEPLOYEMENT_STATE_VALUES; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NV_MEMORY_RANGE { + pub BaseAddress: *mut ::std::os::raw::c_void, + pub Length: SIZE_T, +} +#[test] +fn bindgen_test_layout__NV_MEMORY_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_NV_MEMORY_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NV_MEMORY_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_NV_MEMORY_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_NV_MEMORY_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_NV_MEMORY_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NV_MEMORY_RANGE), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NV_MEMORY_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type NV_MEMORY_RANGE = _NV_MEMORY_RANGE; +pub type PNV_MEMORY_RANGE = *mut _NV_MEMORY_RANGE; +extern "C" { + pub fn RtlGetNonVolatileToken(NvBuffer: PVOID, Size: SIZE_T, NvToken: *mut PVOID) -> DWORD; +} +extern "C" { + pub fn RtlFreeNonVolatileToken(NvToken: PVOID) -> DWORD; +} +extern "C" { + pub fn RtlFlushNonVolatileMemory( + NvToken: PVOID, + NvBuffer: PVOID, + Size: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlDrainNonVolatileFlush(NvToken: PVOID) -> DWORD; +} +extern "C" { + pub fn RtlWriteNonVolatileMemory( + NvToken: PVOID, + NvDestination: *mut ::std::os::raw::c_void, + Source: *const ::std::os::raw::c_void, + Size: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlFillNonVolatileMemory( + NvToken: PVOID, + NvDestination: *mut ::std::os::raw::c_void, + Size: SIZE_T, + Value: BYTE, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlFlushNonVolatileMemoryRanges( + NvToken: PVOID, + NvRanges: PNV_MEMORY_RANGE, + NumRanges: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CORRELATION_VECTOR { + pub Version: CHAR, + pub Vector: [CHAR; 129usize], +} +#[test] +fn bindgen_test_layout_CORRELATION_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 130usize, + concat!("Size of: ", stringify!(CORRELATION_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(CORRELATION_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CORRELATION_VECTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vector) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(CORRELATION_VECTOR), + "::", + stringify!(Vector) + ) + ); +} +pub type PCORRELATION_VECTOR = *mut CORRELATION_VECTOR; +extern "C" { + pub fn RtlInitializeCorrelationVector( + CorrelationVector: PCORRELATION_VECTOR, + Version: ::std::os::raw::c_int, + Guid: *const GUID, + ) -> DWORD; +} +extern "C" { + pub fn RtlIncrementCorrelationVector(CorrelationVector: PCORRELATION_VECTOR) -> DWORD; +} +extern "C" { + pub fn RtlExtendCorrelationVector(CorrelationVector: PCORRELATION_VECTOR) -> DWORD; +} +extern "C" { + pub fn RtlValidateCorrelationVector(Vector: PCORRELATION_VECTOR) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG { + pub Size: DWORD, + pub TriggerId: PCWSTR, +} +#[test] +fn bindgen_test_layout__CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>(), + 16usize, + concat!("Size of: ", stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TriggerId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG), + "::", + stringify!(TriggerId) + ) + ); +} +pub type CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG = _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; +pub type PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG = *mut _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; +extern "C" { + pub fn RtlRaiseCustomSystemEventTrigger( + TriggerConfig: PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, + ) -> DWORD; +} +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeNone: _IMAGE_POLICY_ENTRY_TYPE = 0; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeBool: _IMAGE_POLICY_ENTRY_TYPE = 1; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt8: _IMAGE_POLICY_ENTRY_TYPE = 2; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt8: _IMAGE_POLICY_ENTRY_TYPE = 3; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt16: _IMAGE_POLICY_ENTRY_TYPE = 4; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt16: _IMAGE_POLICY_ENTRY_TYPE = 5; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt32: _IMAGE_POLICY_ENTRY_TYPE = 6; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt32: _IMAGE_POLICY_ENTRY_TYPE = 7; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt64: _IMAGE_POLICY_ENTRY_TYPE = 8; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt64: _IMAGE_POLICY_ENTRY_TYPE = 9; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeAnsiString: _IMAGE_POLICY_ENTRY_TYPE = 10; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUnicodeString: _IMAGE_POLICY_ENTRY_TYPE = 11; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeOverride: _IMAGE_POLICY_ENTRY_TYPE = 12; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeMaximum: _IMAGE_POLICY_ENTRY_TYPE = 13; +pub type _IMAGE_POLICY_ENTRY_TYPE = ::std::os::raw::c_int; +pub use self::_IMAGE_POLICY_ENTRY_TYPE as IMAGE_POLICY_ENTRY_TYPE; +pub const _IMAGE_POLICY_ID_ImagePolicyIdNone: _IMAGE_POLICY_ID = 0; +pub const _IMAGE_POLICY_ID_ImagePolicyIdEtw: _IMAGE_POLICY_ID = 1; +pub const _IMAGE_POLICY_ID_ImagePolicyIdDebug: _IMAGE_POLICY_ID = 2; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDump: _IMAGE_POLICY_ID = 3; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDumpKey: _IMAGE_POLICY_ID = 4; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDumpKeyGuid: _IMAGE_POLICY_ID = 5; +pub const _IMAGE_POLICY_ID_ImagePolicyIdParentSd: _IMAGE_POLICY_ID = 6; +pub const _IMAGE_POLICY_ID_ImagePolicyIdParentSdRev: _IMAGE_POLICY_ID = 7; +pub const _IMAGE_POLICY_ID_ImagePolicyIdSvn: _IMAGE_POLICY_ID = 8; +pub const _IMAGE_POLICY_ID_ImagePolicyIdDeviceId: _IMAGE_POLICY_ID = 9; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCapability: _IMAGE_POLICY_ID = 10; +pub const _IMAGE_POLICY_ID_ImagePolicyIdScenarioId: _IMAGE_POLICY_ID = 11; +pub const _IMAGE_POLICY_ID_ImagePolicyIdMaximum: _IMAGE_POLICY_ID = 12; +pub type _IMAGE_POLICY_ID = ::std::os::raw::c_int; +pub use self::_IMAGE_POLICY_ID as IMAGE_POLICY_ID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_POLICY_ENTRY { + pub Type: IMAGE_POLICY_ENTRY_TYPE, + pub PolicyId: IMAGE_POLICY_ID, + pub u: _IMAGE_POLICY_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_POLICY_ENTRY__bindgen_ty_1 { + pub None: *const ::std::os::raw::c_void, + pub BoolValue: BOOLEAN, + pub Int8Value: INT8, + pub UInt8Value: UINT8, + pub Int16Value: INT16, + pub UInt16Value: UINT16, + pub Int32Value: INT32, + pub UInt32Value: UINT32, + pub Int64Value: INT64, + pub UInt64Value: UINT64, + pub AnsiStringValue: PCSTR, + pub UnicodeStringValue: PCWSTR, +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).None) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(None) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BoolValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(BoolValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int8Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int8Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt8Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt8Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int16Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int16Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt16Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt16Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int32Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int32Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt32Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt32Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int64Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int64Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt64Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt64Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AnsiStringValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(AnsiStringValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeStringValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UnicodeStringValue) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_POLICY_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(PolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(u) + ) + ); +} +pub type IMAGE_POLICY_ENTRY = _IMAGE_POLICY_ENTRY; +pub type PCIMAGE_POLICY_ENTRY = *const IMAGE_POLICY_ENTRY; +#[repr(C)] +pub struct _IMAGE_POLICY_METADATA { + pub Version: BYTE, + pub Reserved0: [BYTE; 7usize], + pub ApplicationId: ULONGLONG, + pub Policies: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_METADATA() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_METADATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_METADATA>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_METADATA)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_METADATA>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_POLICY_METADATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(ApplicationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policies) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Policies) + ) + ); +} +pub type IMAGE_POLICY_METADATA = _IMAGE_POLICY_METADATA; +pub type PCIMAGE_POLICY_METADATA = *const IMAGE_POLICY_METADATA; +extern "C" { + pub fn RtlIsZeroMemory(Buffer: PVOID, Length: SIZE_T) -> BOOLEAN; +} +extern "C" { + pub fn RtlNormalizeSecurityDescriptor( + SecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + SecurityDescriptorLength: DWORD, + NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + NewSecurityDescriptorLength: PDWORD, + CheckOnly: BOOLEAN, + ) -> BOOLEAN; +} +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdUnknown: _RTL_SYSTEM_GLOBAL_DATA_ID = 0; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdRngSeedVersion: _RTL_SYSTEM_GLOBAL_DATA_ID = 1; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdInterruptTime: _RTL_SYSTEM_GLOBAL_DATA_ID = 2; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdTimeZoneBias: _RTL_SYSTEM_GLOBAL_DATA_ID = 3; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdImageNumberLow: _RTL_SYSTEM_GLOBAL_DATA_ID = 4; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdImageNumberHigh: _RTL_SYSTEM_GLOBAL_DATA_ID = 5; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdTimeZoneId: _RTL_SYSTEM_GLOBAL_DATA_ID = 6; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdNtMajorVersion: _RTL_SYSTEM_GLOBAL_DATA_ID = 7; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdNtMinorVersion: _RTL_SYSTEM_GLOBAL_DATA_ID = 8; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdSystemExpirationDate: _RTL_SYSTEM_GLOBAL_DATA_ID = + 9; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdKdDebuggerEnabled: _RTL_SYSTEM_GLOBAL_DATA_ID = 10; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdCyclesPerYield: _RTL_SYSTEM_GLOBAL_DATA_ID = 11; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdSafeBootMode: _RTL_SYSTEM_GLOBAL_DATA_ID = 12; +pub const _RTL_SYSTEM_GLOBAL_DATA_ID_GlobalDataIdLastSystemRITEventTickCount: + _RTL_SYSTEM_GLOBAL_DATA_ID = 13; +pub type _RTL_SYSTEM_GLOBAL_DATA_ID = ::std::os::raw::c_int; +pub use self::_RTL_SYSTEM_GLOBAL_DATA_ID as RTL_SYSTEM_GLOBAL_DATA_ID; +pub type PRTL_SYSTEM_GLOBAL_DATA_ID = *mut _RTL_SYSTEM_GLOBAL_DATA_ID; +extern "C" { + pub fn RtlGetSystemGlobalData( + DataId: RTL_SYSTEM_GLOBAL_DATA_ID, + Buffer: PVOID, + Size: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlSetSystemGlobalData( + DataId: RTL_SYSTEM_GLOBAL_DATA_ID, + Buffer: PVOID, + Size: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CRITICAL_SECTION_DEBUG { + pub Type: WORD, + pub CreatorBackTraceIndex: WORD, + pub CriticalSection: *mut _RTL_CRITICAL_SECTION, + pub ProcessLocksList: LIST_ENTRY, + pub EntryCount: DWORD, + pub ContentionCount: DWORD, + pub Flags: DWORD, + pub CreatorBackTraceIndexHigh: WORD, + pub SpareWORD: WORD, +} +#[test] +fn bindgen_test_layout__RTL_CRITICAL_SECTION_DEBUG() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CRITICAL_SECTION_DEBUG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CRITICAL_SECTION_DEBUG>(), + 48usize, + concat!("Size of: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CRITICAL_SECTION_DEBUG>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CRITICAL_SECTION_DEBUG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreatorBackTraceIndex) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CreatorBackTraceIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalSection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CriticalSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessLocksList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(ProcessLocksList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(EntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentionCount) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(ContentionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreatorBackTraceIndexHigh) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CreatorBackTraceIndexHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpareWORD) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(SpareWORD) + ) + ); +} +pub type RTL_CRITICAL_SECTION_DEBUG = _RTL_CRITICAL_SECTION_DEBUG; +pub type PRTL_CRITICAL_SECTION_DEBUG = *mut _RTL_CRITICAL_SECTION_DEBUG; +pub type RTL_RESOURCE_DEBUG = _RTL_CRITICAL_SECTION_DEBUG; +pub type PRTL_RESOURCE_DEBUG = *mut _RTL_CRITICAL_SECTION_DEBUG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CRITICAL_SECTION { + pub DebugInfo: PRTL_CRITICAL_SECTION_DEBUG, + pub LockCount: LONG, + pub RecursionCount: LONG, + pub OwningThread: HANDLE, + pub LockSemaphore: HANDLE, + pub SpinCount: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__RTL_CRITICAL_SECTION() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CRITICAL_SECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CRITICAL_SECTION>(), + 40usize, + concat!("Size of: ", stringify!(_RTL_CRITICAL_SECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CRITICAL_SECTION>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CRITICAL_SECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(DebugInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(LockCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecursionCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(RecursionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwningThread) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(OwningThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockSemaphore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(LockSemaphore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpinCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(SpinCount) + ) + ); +} +pub type RTL_CRITICAL_SECTION = _RTL_CRITICAL_SECTION; +pub type PRTL_CRITICAL_SECTION = *mut _RTL_CRITICAL_SECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_SRWLOCK { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_SRWLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_SRWLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_SRWLOCK>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_SRWLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_SRWLOCK>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_SRWLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_SRWLOCK), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_SRWLOCK = _RTL_SRWLOCK; +pub type PRTL_SRWLOCK = *mut _RTL_SRWLOCK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CONDITION_VARIABLE { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_CONDITION_VARIABLE() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CONDITION_VARIABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CONDITION_VARIABLE>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_CONDITION_VARIABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CONDITION_VARIABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CONDITION_VARIABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CONDITION_VARIABLE), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE; +pub type PRTL_CONDITION_VARIABLE = *mut _RTL_CONDITION_VARIABLE; +pub type PAPCFUNC = ::std::option::Option; +pub type PVECTORED_EXCEPTION_HANDLER = + ::std::option::Option LONG>; +pub const _HEAP_INFORMATION_CLASS_HeapCompatibilityInformation: _HEAP_INFORMATION_CLASS = 0; +pub const _HEAP_INFORMATION_CLASS_HeapEnableTerminationOnCorruption: _HEAP_INFORMATION_CLASS = 1; +pub const _HEAP_INFORMATION_CLASS_HeapOptimizeResources: _HEAP_INFORMATION_CLASS = 3; +pub const _HEAP_INFORMATION_CLASS_HeapTag: _HEAP_INFORMATION_CLASS = 7; +pub type _HEAP_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_HEAP_INFORMATION_CLASS as HEAP_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION { + pub Version: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__HEAP_OPTIMIZE_RESOURCES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_HEAP_OPTIMIZE_RESOURCES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type HEAP_OPTIMIZE_RESOURCES_INFORMATION = _HEAP_OPTIMIZE_RESOURCES_INFORMATION; +pub type PHEAP_OPTIMIZE_RESOURCES_INFORMATION = *mut _HEAP_OPTIMIZE_RESOURCES_INFORMATION; +pub type WAITORTIMERCALLBACKFUNC = + ::std::option::Option; +pub type WORKERCALLBACKFUNC = ::std::option::Option; +pub type APC_CALLBACK_FUNCTION = + ::std::option::Option; +pub type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC; +pub type PFLS_CALLBACK_FUNCTION = ::std::option::Option; +pub type PSECURE_MEMORY_CACHE_CALLBACK = + ::std::option::Option BOOLEAN>; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextBasicInformation: + _ACTIVATION_CONTEXT_INFO_CLASS = 1; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextDetailedInformation: + _ACTIVATION_CONTEXT_INFO_CLASS = 2; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_AssemblyDetailedInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 3; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_FileInformationInAssemblyOfAssemblyInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 4; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_RunlevelInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 5; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_CompatibilityInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 6; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextManifestResourceName: + _ACTIVATION_CONTEXT_INFO_CLASS = 7; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_MaxActivationContextInfoClass: + _ACTIVATION_CONTEXT_INFO_CLASS = 8; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_AssemblyDetailedInformationInActivationContxt: + _ACTIVATION_CONTEXT_INFO_CLASS = 3; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_FileInformationInAssemblyOfAssemblyInActivationContxt: + _ACTIVATION_CONTEXT_INFO_CLASS = 4; +pub type _ACTIVATION_CONTEXT_INFO_CLASS = ::std::os::raw::c_int; +pub use self::_ACTIVATION_CONTEXT_INFO_CLASS as ACTIVATION_CONTEXT_INFO_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_QUERY_INDEX { + pub ulAssemblyIndex: DWORD, + pub ulFileIndexInAssembly: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_QUERY_INDEX() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_QUERY_INDEX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_QUERY_INDEX>(), + 8usize, + concat!("Size of: ", stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX)) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_QUERY_INDEX>(), + 4usize, + concat!("Alignment of ", stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX), + "::", + stringify!(ulAssemblyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFileIndexInAssembly) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX), + "::", + stringify!(ulFileIndexInAssembly) + ) + ); +} +pub type ACTIVATION_CONTEXT_QUERY_INDEX = _ACTIVATION_CONTEXT_QUERY_INDEX; +pub type PACTIVATION_CONTEXT_QUERY_INDEX = *mut _ACTIVATION_CONTEXT_QUERY_INDEX; +pub type PCACTIVATION_CONTEXT_QUERY_INDEX = *const _ACTIVATION_CONTEXT_QUERY_INDEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ASSEMBLY_FILE_DETAILED_INFORMATION { + pub ulFlags: DWORD, + pub ulFilenameLength: DWORD, + pub ulPathLength: DWORD, + pub lpFileName: PCWSTR, + pub lpFilePath: PCWSTR, +} +#[test] +fn bindgen_test_layout__ASSEMBLY_FILE_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ASSEMBLY_FILE_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ASSEMBLY_FILE_DETAILED_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ASSEMBLY_FILE_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFilenameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulFilenameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPathLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(lpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFilePath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(lpFilePath) + ) + ); +} +pub type ASSEMBLY_FILE_DETAILED_INFORMATION = _ASSEMBLY_FILE_DETAILED_INFORMATION; +pub type PASSEMBLY_FILE_DETAILED_INFORMATION = *mut _ASSEMBLY_FILE_DETAILED_INFORMATION; +pub type PCASSEMBLY_FILE_DETAILED_INFORMATION = *const ASSEMBLY_FILE_DETAILED_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { + pub ulFlags: DWORD, + pub ulEncodedAssemblyIdentityLength: DWORD, + pub ulManifestPathType: DWORD, + pub ulManifestPathLength: DWORD, + pub liManifestLastWriteTime: LARGE_INTEGER, + pub ulPolicyPathType: DWORD, + pub ulPolicyPathLength: DWORD, + pub liPolicyLastWriteTime: LARGE_INTEGER, + pub ulMetadataSatelliteRosterIndex: DWORD, + pub ulManifestVersionMajor: DWORD, + pub ulManifestVersionMinor: DWORD, + pub ulPolicyVersionMajor: DWORD, + pub ulPolicyVersionMinor: DWORD, + pub ulAssemblyDirectoryNameLength: DWORD, + pub lpAssemblyEncodedAssemblyIdentity: PCWSTR, + pub lpAssemblyManifestPath: PCWSTR, + pub lpAssemblyPolicyPath: PCWSTR, + pub lpAssemblyDirectoryName: PCWSTR, + pub ulFileCount: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>(), + 104usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulEncodedAssemblyIdentityLength) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulEncodedAssemblyIdentityLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestPathType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestPathLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liManifestLastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(liManifestLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyPathType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyPathLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liPolicyLastWriteTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(liPolicyLastWriteTime) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulMetadataSatelliteRosterIndex) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulMetadataSatelliteRosterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestVersionMajor) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestVersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestVersionMinor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestVersionMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyVersionMajor) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyVersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyVersionMinor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyVersionMinor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulAssemblyDirectoryNameLength) as usize - ptr as usize + }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulAssemblyDirectoryNameLength) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).lpAssemblyEncodedAssemblyIdentity) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyEncodedAssemblyIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyManifestPath) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyManifestPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyPolicyPath) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyPolicyPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectoryName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyDirectoryName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFileCount) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulFileCount) + ) + ); +} +pub type ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + *mut _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + *const _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_UNSPECIFIED: ACTCTX_REQUESTED_RUN_LEVEL = 0; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_AS_INVOKER: ACTCTX_REQUESTED_RUN_LEVEL = 1; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE: + ACTCTX_REQUESTED_RUN_LEVEL = 2; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_REQUIRE_ADMIN: ACTCTX_REQUESTED_RUN_LEVEL = 3; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_NUMBERS: ACTCTX_REQUESTED_RUN_LEVEL = 4; +pub type ACTCTX_REQUESTED_RUN_LEVEL = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION { + pub ulFlags: DWORD, + pub RunLevel: ACTCTX_REQUESTED_RUN_LEVEL, + pub UiAccess: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>(), + 12usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(RunLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UiAccess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(UiAccess) + ) + ); +} +pub type ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = *mut _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = + *const _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 0; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 1; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 2; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 3; +pub type ACTCTX_COMPATIBILITY_ELEMENT_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMPATIBILITY_CONTEXT_ELEMENT { + pub Id: GUID, + pub Type: ACTCTX_COMPATIBILITY_ELEMENT_TYPE, + pub MaxVersionTested: ULONGLONG, +} +#[test] +fn bindgen_test_layout__COMPATIBILITY_CONTEXT_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_COMPATIBILITY_CONTEXT_ELEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMPATIBILITY_CONTEXT_ELEMENT>(), + 32usize, + concat!("Size of: ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_COMPATIBILITY_CONTEXT_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVersionTested) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(MaxVersionTested) + ) + ); +} +pub type COMPATIBILITY_CONTEXT_ELEMENT = _COMPATIBILITY_CONTEXT_ELEMENT; +pub type PCOMPATIBILITY_CONTEXT_ELEMENT = *mut _COMPATIBILITY_CONTEXT_ELEMENT; +pub type PCCOMPATIBILITY_CONTEXT_ELEMENT = *const _COMPATIBILITY_CONTEXT_ELEMENT; +#[repr(C)] +#[derive(Debug)] +pub struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION { + pub ElementCount: DWORD, + pub Elements: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION), + "::", + stringify!(ElementCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Elements) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION), + "::", + stringify!(Elements) + ) + ); +} +pub type ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +pub type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + *mut _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +pub type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + *const _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SUPPORTED_OS_INFO { + pub MajorVersion: WORD, + pub MinorVersion: WORD, +} +#[test] +fn bindgen_test_layout__SUPPORTED_OS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SUPPORTED_OS_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SUPPORTED_OS_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SUPPORTED_OS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SUPPORTED_OS_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_SUPPORTED_OS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SUPPORTED_OS_INFO), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SUPPORTED_OS_INFO), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type SUPPORTED_OS_INFO = _SUPPORTED_OS_INFO; +pub type PSUPPORTED_OS_INFO = *mut _SUPPORTED_OS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MAXVERSIONTESTED_INFO { + pub MaxVersionTested: ULONGLONG, +} +#[test] +fn bindgen_test_layout__MAXVERSIONTESTED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MAXVERSIONTESTED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MAXVERSIONTESTED_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_MAXVERSIONTESTED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MAXVERSIONTESTED_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MAXVERSIONTESTED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVersionTested) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MAXVERSIONTESTED_INFO), + "::", + stringify!(MaxVersionTested) + ) + ); +} +pub type MAXVERSIONTESTED_INFO = _MAXVERSIONTESTED_INFO; +pub type PMAXVERSIONTESTED_INFO = *mut _MAXVERSIONTESTED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { + pub dwFlags: DWORD, + pub ulFormatVersion: DWORD, + pub ulAssemblyCount: DWORD, + pub ulRootManifestPathType: DWORD, + pub ulRootManifestPathChars: DWORD, + pub ulRootConfigurationPathType: DWORD, + pub ulRootConfigurationPathChars: DWORD, + pub ulAppDirPathType: DWORD, + pub ulAppDirPathChars: DWORD, + pub lpRootManifestPath: PCWSTR, + pub lpRootConfigurationPath: PCWSTR, + pub lpAppDirPath: PCWSTR, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>(), + 64usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAssemblyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootManifestPathType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootManifestPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootManifestPathChars) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootManifestPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootConfigurationPathType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootConfigurationPathType) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulRootConfigurationPathChars) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootConfigurationPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAppDirPathType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAppDirPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAppDirPathChars) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAppDirPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRootManifestPath) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpRootManifestPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRootConfigurationPath) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpRootConfigurationPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAppDirPath) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpAppDirPath) + ) + ); +} +pub type ACTIVATION_CONTEXT_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +pub type PACTIVATION_CONTEXT_DETAILED_INFORMATION = *mut _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +pub type PCACTIVATION_CONTEXT_DETAILED_INFORMATION = + *const _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HARDWARE_COUNTER_DATA { + pub Type: HARDWARE_COUNTER_TYPE, + pub Reserved: DWORD, + pub Value: DWORD64, +} +#[test] +fn bindgen_test_layout__HARDWARE_COUNTER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_HARDWARE_COUNTER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HARDWARE_COUNTER_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_HARDWARE_COUNTER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_HARDWARE_COUNTER_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_HARDWARE_COUNTER_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Value) + ) + ); +} +pub type HARDWARE_COUNTER_DATA = _HARDWARE_COUNTER_DATA; +pub type PHARDWARE_COUNTER_DATA = *mut _HARDWARE_COUNTER_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERFORMANCE_DATA { + pub Size: WORD, + pub Version: BYTE, + pub HwCountersCount: BYTE, + pub ContextSwitchCount: DWORD, + pub WaitReasonBitMap: DWORD64, + pub CycleTime: DWORD64, + pub RetryCount: DWORD, + pub Reserved: DWORD, + pub HwCounters: [HARDWARE_COUNTER_DATA; 16usize], +} +#[test] +fn bindgen_test_layout__PERFORMANCE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_PERFORMANCE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERFORMANCE_DATA>(), + 288usize, + concat!("Size of: ", stringify!(_PERFORMANCE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PERFORMANCE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_PERFORMANCE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HwCountersCount) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(HwCountersCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSwitchCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(ContextSwitchCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitReasonBitMap) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(WaitReasonBitMap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(CycleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(RetryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HwCounters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(HwCounters) + ) + ); +} +pub type PERFORMANCE_DATA = _PERFORMANCE_DATA; +pub type PPERFORMANCE_DATA = *mut _PERFORMANCE_DATA; +extern "C" { + pub fn RtlGetDeviceFamilyInfoEnum( + pullUAPInfo: *mut ULONGLONG, + pulDeviceFamily: *mut DWORD, + pulDeviceForm: *mut DWORD, + ); +} +extern "C" { + pub fn RtlConvertDeviceFamilyInfoToString( + pulDeviceFamilyBufferSize: PDWORD, + pulDeviceFormBufferSize: PDWORD, + DeviceFamily: PWSTR, + DeviceForm: PWSTR, + ) -> DWORD; +} +extern "C" { + pub fn RtlSwitchedVVI( + VersionInfo: PRTL_OSVERSIONINFOEXW, + TypeMask: DWORD, + ConditionMask: ULONGLONG, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EVENTLOGRECORD { + pub Length: DWORD, + pub Reserved: DWORD, + pub RecordNumber: DWORD, + pub TimeGenerated: DWORD, + pub TimeWritten: DWORD, + pub EventID: DWORD, + pub EventType: WORD, + pub NumStrings: WORD, + pub EventCategory: WORD, + pub ReservedFlags: WORD, + pub ClosingRecordNumber: DWORD, + pub StringOffset: DWORD, + pub UserSidLength: DWORD, + pub UserSidOffset: DWORD, + pub DataLength: DWORD, + pub DataOffset: DWORD, +} +#[test] +fn bindgen_test_layout__EVENTLOGRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTLOGRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTLOGRECORD>(), + 56usize, + concat!("Size of: ", stringify!(_EVENTLOGRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTLOGRECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTLOGRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(RecordNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeGenerated) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(TimeGenerated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeWritten) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(TimeWritten) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventID) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumStrings) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(NumStrings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventCategory) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventCategory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedFlags) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(ReservedFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClosingRecordNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(ClosingRecordNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(StringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserSidLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(UserSidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserSidOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(UserSidOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(DataOffset) + ) + ); +} +pub type EVENTLOGRECORD = _EVENTLOGRECORD; +pub type PEVENTLOGRECORD = *mut _EVENTLOGRECORD; +pub type EVENTSFORLOGFILE = _EVENTSFORLOGFILE; +pub type PEVENTSFORLOGFILE = *mut _EVENTSFORLOGFILE; +pub type PACKEDEVENTINFO = _PACKEDEVENTINFO; +pub type PPACKEDEVENTINFO = *mut _PACKEDEVENTINFO; +#[repr(C)] +#[derive(Debug)] +pub struct _EVENTSFORLOGFILE { + pub ulSize: DWORD, + pub szLogicalLogFile: [WCHAR; 256usize], + pub ulNumRecords: DWORD, + pub pEventLogRecords: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__EVENTSFORLOGFILE() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTSFORLOGFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTSFORLOGFILE>(), + 520usize, + concat!("Size of: ", stringify!(_EVENTSFORLOGFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTSFORLOGFILE>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTSFORLOGFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(ulSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szLogicalLogFile) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(szLogicalLogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulNumRecords) as usize - ptr as usize }, + 516usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(ulNumRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEventLogRecords) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(pEventLogRecords) + ) + ); +} +#[repr(C)] +#[derive(Debug)] +pub struct _PACKEDEVENTINFO { + pub ulSize: DWORD, + pub ulNumEventsForLogFile: DWORD, + pub ulOffsets: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__PACKEDEVENTINFO() { + const UNINIT: ::std::mem::MaybeUninit<_PACKEDEVENTINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PACKEDEVENTINFO>(), + 8usize, + concat!("Size of: ", stringify!(_PACKEDEVENTINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PACKEDEVENTINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PACKEDEVENTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulNumEventsForLogFile) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulNumEventsForLogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulOffsets) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulOffsets) + ) + ); +} +pub const _CM_SERVICE_NODE_TYPE_DriverType: _CM_SERVICE_NODE_TYPE = 1; +pub const _CM_SERVICE_NODE_TYPE_FileSystemType: _CM_SERVICE_NODE_TYPE = 2; +pub const _CM_SERVICE_NODE_TYPE_Win32ServiceOwnProcess: _CM_SERVICE_NODE_TYPE = 16; +pub const _CM_SERVICE_NODE_TYPE_Win32ServiceShareProcess: _CM_SERVICE_NODE_TYPE = 32; +pub const _CM_SERVICE_NODE_TYPE_AdapterType: _CM_SERVICE_NODE_TYPE = 4; +pub const _CM_SERVICE_NODE_TYPE_RecognizerType: _CM_SERVICE_NODE_TYPE = 8; +pub type _CM_SERVICE_NODE_TYPE = ::std::os::raw::c_int; +pub use self::_CM_SERVICE_NODE_TYPE as SERVICE_NODE_TYPE; +pub const _CM_SERVICE_LOAD_TYPE_BootLoad: _CM_SERVICE_LOAD_TYPE = 0; +pub const _CM_SERVICE_LOAD_TYPE_SystemLoad: _CM_SERVICE_LOAD_TYPE = 1; +pub const _CM_SERVICE_LOAD_TYPE_AutoLoad: _CM_SERVICE_LOAD_TYPE = 2; +pub const _CM_SERVICE_LOAD_TYPE_DemandLoad: _CM_SERVICE_LOAD_TYPE = 3; +pub const _CM_SERVICE_LOAD_TYPE_DisableLoad: _CM_SERVICE_LOAD_TYPE = 4; +pub type _CM_SERVICE_LOAD_TYPE = ::std::os::raw::c_int; +pub use self::_CM_SERVICE_LOAD_TYPE as SERVICE_LOAD_TYPE; +pub const _CM_ERROR_CONTROL_TYPE_IgnoreError: _CM_ERROR_CONTROL_TYPE = 0; +pub const _CM_ERROR_CONTROL_TYPE_NormalError: _CM_ERROR_CONTROL_TYPE = 1; +pub const _CM_ERROR_CONTROL_TYPE_SevereError: _CM_ERROR_CONTROL_TYPE = 2; +pub const _CM_ERROR_CONTROL_TYPE_CriticalError: _CM_ERROR_CONTROL_TYPE = 3; +pub type _CM_ERROR_CONTROL_TYPE = ::std::os::raw::c_int; +pub use self::_CM_ERROR_CONTROL_TYPE as SERVICE_ERROR_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_ERASE { + pub Type: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_ERASE() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_ERASE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_ERASE>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_ERASE)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_ERASE>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_ERASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_ERASE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_ERASE), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_ERASE = _TAPE_ERASE; +pub type PTAPE_ERASE = *mut _TAPE_ERASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_PREPARE { + pub Operation: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_PREPARE() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_PREPARE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_PREPARE>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_PREPARE)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_PREPARE>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_PREPARE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_PREPARE), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_PREPARE), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_PREPARE = _TAPE_PREPARE; +pub type PTAPE_PREPARE = *mut _TAPE_PREPARE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_WRITE_MARKS { + pub Type: DWORD, + pub Count: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_WRITE_MARKS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_WRITE_MARKS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_WRITE_MARKS>(), + 12usize, + concat!("Size of: ", stringify!(_TAPE_WRITE_MARKS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_WRITE_MARKS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_WRITE_MARKS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_WRITE_MARKS = _TAPE_WRITE_MARKS; +pub type PTAPE_WRITE_MARKS = *mut _TAPE_WRITE_MARKS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_GET_POSITION { + pub Type: DWORD, + pub Partition: DWORD, + pub Offset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__TAPE_GET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_POSITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_POSITION>(), + 16usize, + concat!("Size of: ", stringify!(_TAPE_GET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_POSITION>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_GET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Partition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Offset) + ) + ); +} +pub type TAPE_GET_POSITION = _TAPE_GET_POSITION; +pub type PTAPE_GET_POSITION = *mut _TAPE_GET_POSITION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_SET_POSITION { + pub Method: DWORD, + pub Partition: DWORD, + pub Offset: LARGE_INTEGER, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_SET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_POSITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_POSITION>(), + 24usize, + concat!("Size of: ", stringify!(_TAPE_SET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_POSITION>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_SET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Partition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_SET_POSITION = _TAPE_SET_POSITION; +pub type PTAPE_SET_POSITION = *mut _TAPE_SET_POSITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_GET_DRIVE_PARAMETERS { + pub ECC: BOOLEAN, + pub Compression: BOOLEAN, + pub DataPadding: BOOLEAN, + pub ReportSetmarks: BOOLEAN, + pub DefaultBlockSize: DWORD, + pub MaximumBlockSize: DWORD, + pub MinimumBlockSize: DWORD, + pub MaximumPartitionCount: DWORD, + pub FeaturesLow: DWORD, + pub FeaturesHigh: DWORD, + pub EOTWarningZoneSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_GET_DRIVE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_DRIVE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_DRIVE_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_DRIVE_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_GET_DRIVE_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ECC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(ECC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataPadding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(DataPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportSetmarks) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(ReportSetmarks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultBlockSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(DefaultBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumBlockSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MaximumBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumBlockSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MinimumBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumPartitionCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MaximumPartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeaturesLow) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(FeaturesLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeaturesHigh) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(FeaturesHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EOTWarningZoneSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(EOTWarningZoneSize) + ) + ); +} +pub type TAPE_GET_DRIVE_PARAMETERS = _TAPE_GET_DRIVE_PARAMETERS; +pub type PTAPE_GET_DRIVE_PARAMETERS = *mut _TAPE_GET_DRIVE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_SET_DRIVE_PARAMETERS { + pub ECC: BOOLEAN, + pub Compression: BOOLEAN, + pub DataPadding: BOOLEAN, + pub ReportSetmarks: BOOLEAN, + pub EOTWarningZoneSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_SET_DRIVE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_DRIVE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_DRIVE_PARAMETERS>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_DRIVE_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_SET_DRIVE_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ECC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(ECC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataPadding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(DataPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportSetmarks) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(ReportSetmarks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EOTWarningZoneSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(EOTWarningZoneSize) + ) + ); +} +pub type TAPE_SET_DRIVE_PARAMETERS = _TAPE_SET_DRIVE_PARAMETERS; +pub type PTAPE_SET_DRIVE_PARAMETERS = *mut _TAPE_SET_DRIVE_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_GET_MEDIA_PARAMETERS { + pub Capacity: LARGE_INTEGER, + pub Remaining: LARGE_INTEGER, + pub BlockSize: DWORD, + pub PartitionCount: DWORD, + pub WriteProtected: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_GET_MEDIA_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_MEDIA_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_MEDIA_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_MEDIA_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_GET_MEDIA_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(Capacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remaining) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(Remaining) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(BlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteProtected) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(WriteProtected) + ) + ); +} +pub type TAPE_GET_MEDIA_PARAMETERS = _TAPE_GET_MEDIA_PARAMETERS; +pub type PTAPE_GET_MEDIA_PARAMETERS = *mut _TAPE_GET_MEDIA_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_SET_MEDIA_PARAMETERS { + pub BlockSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_SET_MEDIA_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_MEDIA_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_MEDIA_PARAMETERS>(), + 4usize, + concat!("Size of: ", stringify!(_TAPE_SET_MEDIA_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_MEDIA_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_SET_MEDIA_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_MEDIA_PARAMETERS), + "::", + stringify!(BlockSize) + ) + ); +} +pub type TAPE_SET_MEDIA_PARAMETERS = _TAPE_SET_MEDIA_PARAMETERS; +pub type PTAPE_SET_MEDIA_PARAMETERS = *mut _TAPE_SET_MEDIA_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_CREATE_PARTITION { + pub Method: DWORD, + pub Count: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_CREATE_PARTITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_CREATE_PARTITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_CREATE_PARTITION>(), + 12usize, + concat!("Size of: ", stringify!(_TAPE_CREATE_PARTITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_CREATE_PARTITION>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_CREATE_PARTITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Size) + ) + ); +} +pub type TAPE_CREATE_PARTITION = _TAPE_CREATE_PARTITION; +pub type PTAPE_CREATE_PARTITION = *mut _TAPE_CREATE_PARTITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_WMI_OPERATIONS { + pub Method: DWORD, + pub DataBufferSize: DWORD, + pub DataBuffer: PVOID, +} +#[test] +fn bindgen_test_layout__TAPE_WMI_OPERATIONS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_WMI_OPERATIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_WMI_OPERATIONS>(), + 16usize, + concat!("Size of: ", stringify!(_TAPE_WMI_OPERATIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_WMI_OPERATIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_WMI_OPERATIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBufferSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(DataBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(DataBuffer) + ) + ); +} +pub type TAPE_WMI_OPERATIONS = _TAPE_WMI_OPERATIONS; +pub type PTAPE_WMI_OPERATIONS = *mut _TAPE_WMI_OPERATIONS; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveProblemNone: _TAPE_DRIVE_PROBLEM_TYPE = 0; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWriteWarning: _TAPE_DRIVE_PROBLEM_TYPE = 1; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWriteError: _TAPE_DRIVE_PROBLEM_TYPE = 2; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWarning: _TAPE_DRIVE_PROBLEM_TYPE = 3; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveWriteWarning: _TAPE_DRIVE_PROBLEM_TYPE = 4; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadError: _TAPE_DRIVE_PROBLEM_TYPE = 5; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveWriteError: _TAPE_DRIVE_PROBLEM_TYPE = 6; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveHardwareError: _TAPE_DRIVE_PROBLEM_TYPE = 7; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveUnsupportedMedia: _TAPE_DRIVE_PROBLEM_TYPE = 8; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveScsiConnectionError: _TAPE_DRIVE_PROBLEM_TYPE = 9; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveTimetoClean: _TAPE_DRIVE_PROBLEM_TYPE = 10; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveCleanDriveNow: _TAPE_DRIVE_PROBLEM_TYPE = 11; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveMediaLifeExpired: _TAPE_DRIVE_PROBLEM_TYPE = 12; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveSnappedTape: _TAPE_DRIVE_PROBLEM_TYPE = 13; +pub type _TAPE_DRIVE_PROBLEM_TYPE = ::std::os::raw::c_int; +pub use self::_TAPE_DRIVE_PROBLEM_TYPE as TAPE_DRIVE_PROBLEM_TYPE; +pub type UOW = GUID; +pub type PUOW = *mut GUID; +pub type CRM_PROTOCOL_ID = GUID; +pub type PCRM_PROTOCOL_ID = *mut GUID; +pub type NOTIFICATION_MASK = ULONG; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION { + pub TransactionKey: PVOID, + pub TransactionNotification: ULONG, + pub TmVirtualClock: LARGE_INTEGER, + pub ArgumentLength: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TRANSACTION_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TransactionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionNotification) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TransactionNotification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmVirtualClock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TmVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArgumentLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(ArgumentLength) + ) + ); +} +pub type TRANSACTION_NOTIFICATION = _TRANSACTION_NOTIFICATION; +pub type PTRANSACTION_NOTIFICATION = *mut _TRANSACTION_NOTIFICATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT { + pub EnlistmentId: GUID, + pub UOW: UOW, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>(), + 32usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT { + pub TmIdentity: GUID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT), + "::", + stringify!(Flags) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; +pub type SAVEPOINT_ID = ULONG; +pub type PSAVEPOINT_ID = *mut ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT { + pub SavepointId: SAVEPOINT_ID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavepointId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT), + "::", + stringify!(SavepointId) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT { + pub PropagationCookie: ULONG, + pub UOW: GUID, + pub TmIdentity: GUID, + pub BufferLength: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>(), + 40usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropagationCookie) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(PropagationCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(UOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(BufferLength) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT { + pub MarshalCookie: ULONG, + pub UOW: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalCookie) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT), + "::", + stringify!(MarshalCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; +pub type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = + *mut TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_MARSHAL_HEADER { + pub VersionMajor: ULONG, + pub VersionMinor: ULONG, + pub NumProtocols: ULONG, + pub Unused: ULONG, +} +#[test] +fn bindgen_test_layout__KCRM_MARSHAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_MARSHAL_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_MARSHAL_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_KCRM_MARSHAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_MARSHAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_MARSHAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersionMajor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(VersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersionMinor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(VersionMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumProtocols) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(NumProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(Unused) + ) + ); +} +pub type KCRM_MARSHAL_HEADER = _KCRM_MARSHAL_HEADER; +pub type PKCRM_MARSHAL_HEADER = *mut _KCRM_MARSHAL_HEADER; +pub type PRKCRM_MARSHAL_HEADER = *mut _KCRM_MARSHAL_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_TRANSACTION_BLOB { + pub UOW: UOW, + pub TmIdentity: GUID, + pub IsolationLevel: ULONG, + pub IsolationFlags: ULONG, + pub Timeout: ULONG, + pub Description: [WCHAR; 64usize], +} +#[test] +fn bindgen_test_layout__KCRM_TRANSACTION_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_TRANSACTION_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_TRANSACTION_BLOB>(), + 172usize, + concat!("Size of: ", stringify!(_KCRM_TRANSACTION_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_TRANSACTION_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_TRANSACTION_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(UOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationLevel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(IsolationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(IsolationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(Description) + ) + ); +} +pub type KCRM_TRANSACTION_BLOB = _KCRM_TRANSACTION_BLOB; +pub type PKCRM_TRANSACTION_BLOB = *mut _KCRM_TRANSACTION_BLOB; +pub type PRKCRM_TRANSACTION_BLOB = *mut _KCRM_TRANSACTION_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_PROTOCOL_BLOB { + pub ProtocolId: CRM_PROTOCOL_ID, + pub StaticInfoLength: ULONG, + pub TransactionIdInfoLength: ULONG, + pub Unused1: ULONG, + pub Unused2: ULONG, +} +#[test] +fn bindgen_test_layout__KCRM_PROTOCOL_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_PROTOCOL_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_PROTOCOL_BLOB>(), + 32usize, + concat!("Size of: ", stringify!(_KCRM_PROTOCOL_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_PROTOCOL_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_PROTOCOL_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(ProtocolId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StaticInfoLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(StaticInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionIdInfoLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(TransactionIdInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(Unused1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(Unused2) + ) + ); +} +pub type KCRM_PROTOCOL_BLOB = _KCRM_PROTOCOL_BLOB; +pub type PKCRM_PROTOCOL_BLOB = *mut _KCRM_PROTOCOL_BLOB; +pub type PRKCRM_PROTOCOL_BLOB = *mut _KCRM_PROTOCOL_BLOB; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeUndetermined: _TRANSACTION_OUTCOME = 1; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeCommitted: _TRANSACTION_OUTCOME = 2; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeAborted: _TRANSACTION_OUTCOME = 3; +pub type _TRANSACTION_OUTCOME = ::std::os::raw::c_int; +pub use self::_TRANSACTION_OUTCOME as TRANSACTION_OUTCOME; +pub const _TRANSACTION_STATE_TransactionStateNormal: _TRANSACTION_STATE = 1; +pub const _TRANSACTION_STATE_TransactionStateIndoubt: _TRANSACTION_STATE = 2; +pub const _TRANSACTION_STATE_TransactionStateCommittedNotify: _TRANSACTION_STATE = 3; +pub type _TRANSACTION_STATE = ::std::os::raw::c_int; +pub use self::_TRANSACTION_STATE as TRANSACTION_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_BASIC_INFORMATION { + pub TransactionId: GUID, + pub State: DWORD, + pub Outcome: DWORD, +} +#[test] +fn bindgen_test_layout__TRANSACTION_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_BASIC_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_TRANSACTION_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Outcome) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(Outcome) + ) + ); +} +pub type TRANSACTION_BASIC_INFORMATION = _TRANSACTION_BASIC_INFORMATION; +pub type PTRANSACTION_BASIC_INFORMATION = *mut _TRANSACTION_BASIC_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTIONMANAGER_BASIC_INFORMATION { + pub TmIdentity: GUID, + pub VirtualClock: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_BASIC_INFORMATION>(), + 24usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_BASIC_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualClock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION), + "::", + stringify!(VirtualClock) + ) + ); +} +pub type TRANSACTIONMANAGER_BASIC_INFORMATION = _TRANSACTIONMANAGER_BASIC_INFORMATION; +pub type PTRANSACTIONMANAGER_BASIC_INFORMATION = *mut _TRANSACTIONMANAGER_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_LOG_INFORMATION { + pub LogIdentity: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_LOG_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_LOG_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_LOG_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_LOG_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION), + "::", + stringify!(LogIdentity) + ) + ); +} +pub type TRANSACTIONMANAGER_LOG_INFORMATION = _TRANSACTIONMANAGER_LOG_INFORMATION; +pub type PTRANSACTIONMANAGER_LOG_INFORMATION = *mut _TRANSACTIONMANAGER_LOG_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION { + pub LogPathLength: DWORD, + pub LogPath: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_LOGPATH_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_LOGPATH_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPathLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION), + "::", + stringify!(LogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPath) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION), + "::", + stringify!(LogPath) + ) + ); +} +pub type TRANSACTIONMANAGER_LOGPATH_INFORMATION = _TRANSACTIONMANAGER_LOGPATH_INFORMATION; +pub type PTRANSACTIONMANAGER_LOGPATH_INFORMATION = *mut _TRANSACTIONMANAGER_LOGPATH_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION { + pub LastRecoveredLsn: ULONGLONG, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_RECOVERY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_RECOVERY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_RECOVERY_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_RECOVERY_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastRecoveredLsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION), + "::", + stringify!(LastRecoveredLsn) + ) + ); +} +pub type TRANSACTIONMANAGER_RECOVERY_INFORMATION = _TRANSACTIONMANAGER_RECOVERY_INFORMATION; +pub type PTRANSACTIONMANAGER_RECOVERY_INFORMATION = *mut _TRANSACTIONMANAGER_RECOVERY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_OLDEST_INFORMATION { + pub OldestTransactionGuid: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_OLDEST_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_OLDEST_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_OLDEST_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_OLDEST_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldestTransactionGuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION), + "::", + stringify!(OldestTransactionGuid) + ) + ); +} +pub type TRANSACTIONMANAGER_OLDEST_INFORMATION = _TRANSACTIONMANAGER_OLDEST_INFORMATION; +pub type PTRANSACTIONMANAGER_OLDEST_INFORMATION = *mut _TRANSACTIONMANAGER_OLDEST_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTION_PROPERTIES_INFORMATION { + pub IsolationLevel: DWORD, + pub IsolationFlags: DWORD, + pub Timeout: LARGE_INTEGER, + pub Outcome: DWORD, + pub DescriptionLength: DWORD, + pub Description: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_PROPERTIES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_PROPERTIES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_PROPERTIES_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_PROPERTIES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(IsolationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(IsolationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Outcome) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Outcome) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptionLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(DescriptionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Description) + ) + ); +} +pub type TRANSACTION_PROPERTIES_INFORMATION = _TRANSACTION_PROPERTIES_INFORMATION; +pub type PTRANSACTION_PROPERTIES_INFORMATION = *mut _TRANSACTION_PROPERTIES_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_BIND_INFORMATION { + pub TmHandle: HANDLE, +} +#[test] +fn bindgen_test_layout__TRANSACTION_BIND_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_BIND_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_BIND_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TRANSACTION_BIND_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_BIND_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TRANSACTION_BIND_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BIND_INFORMATION), + "::", + stringify!(TmHandle) + ) + ); +} +pub type TRANSACTION_BIND_INFORMATION = _TRANSACTION_BIND_INFORMATION; +pub type PTRANSACTION_BIND_INFORMATION = *mut _TRANSACTION_BIND_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_ENLISTMENT_PAIR { + pub EnlistmentId: GUID, + pub ResourceManagerId: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_ENLISTMENT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_ENLISTMENT_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_ENLISTMENT_PAIR>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_ENLISTMENT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_ENLISTMENT_PAIR>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_ENLISTMENT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENT_PAIR), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENT_PAIR), + "::", + stringify!(ResourceManagerId) + ) + ); +} +pub type TRANSACTION_ENLISTMENT_PAIR = _TRANSACTION_ENLISTMENT_PAIR; +pub type PTRANSACTION_ENLISTMENT_PAIR = *mut _TRANSACTION_ENLISTMENT_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_ENLISTMENTS_INFORMATION { + pub NumberOfEnlistments: DWORD, + pub EnlistmentPair: [TRANSACTION_ENLISTMENT_PAIR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_ENLISTMENTS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_ENLISTMENTS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_ENLISTMENTS_INFORMATION>(), + 36usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_ENLISTMENTS_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfEnlistments) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION), + "::", + stringify!(NumberOfEnlistments) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentPair) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION), + "::", + stringify!(EnlistmentPair) + ) + ); +} +pub type TRANSACTION_ENLISTMENTS_INFORMATION = _TRANSACTION_ENLISTMENTS_INFORMATION; +pub type PTRANSACTION_ENLISTMENTS_INFORMATION = *mut _TRANSACTION_ENLISTMENTS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION { + pub SuperiorEnlistmentPair: TRANSACTION_ENLISTMENT_PAIR, +} +#[test] +fn bindgen_test_layout__TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION>(), + 32usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuperiorEnlistmentPair) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION), + "::", + stringify!(SuperiorEnlistmentPair) + ) + ); +} +pub type TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; +pub type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = + *mut _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESOURCEMANAGER_BASIC_INFORMATION { + pub ResourceManagerId: GUID, + pub DescriptionLength: DWORD, + pub Description: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__RESOURCEMANAGER_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_RESOURCEMANAGER_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESOURCEMANAGER_BASIC_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_RESOURCEMANAGER_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_RESOURCEMANAGER_BASIC_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(ResourceManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(DescriptionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(Description) + ) + ); +} +pub type RESOURCEMANAGER_BASIC_INFORMATION = _RESOURCEMANAGER_BASIC_INFORMATION; +pub type PRESOURCEMANAGER_BASIC_INFORMATION = *mut _RESOURCEMANAGER_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESOURCEMANAGER_COMPLETION_INFORMATION { + pub IoCompletionPortHandle: HANDLE, + pub CompletionKey: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__RESOURCEMANAGER_COMPLETION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_RESOURCEMANAGER_COMPLETION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESOURCEMANAGER_COMPLETION_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RESOURCEMANAGER_COMPLETION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoCompletionPortHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION), + "::", + stringify!(IoCompletionPortHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION), + "::", + stringify!(CompletionKey) + ) + ); +} +pub type RESOURCEMANAGER_COMPLETION_INFORMATION = _RESOURCEMANAGER_COMPLETION_INFORMATION; +pub type PRESOURCEMANAGER_COMPLETION_INFORMATION = *mut _RESOURCEMANAGER_COMPLETION_INFORMATION; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionBasicInformation: + _TRANSACTION_INFORMATION_CLASS = 0; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionPropertiesInformation: + _TRANSACTION_INFORMATION_CLASS = 1; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionEnlistmentInformation: + _TRANSACTION_INFORMATION_CLASS = 2; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionSuperiorEnlistmentInformation: + _TRANSACTION_INFORMATION_CLASS = 3; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionBindInformation: + _TRANSACTION_INFORMATION_CLASS = 4; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionDTCPrivateInformation: + _TRANSACTION_INFORMATION_CLASS = 5; +pub type _TRANSACTION_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TRANSACTION_INFORMATION_CLASS as TRANSACTION_INFORMATION_CLASS; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerBasicInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 0; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerLogInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 1; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerLogPathInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 2; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerRecoveryInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 4; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerOnlineProbeInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 3; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerOldestTransactionInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 5; +pub type _TRANSACTIONMANAGER_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TRANSACTIONMANAGER_INFORMATION_CLASS as TRANSACTIONMANAGER_INFORMATION_CLASS; +pub const _RESOURCEMANAGER_INFORMATION_CLASS_ResourceManagerBasicInformation: + _RESOURCEMANAGER_INFORMATION_CLASS = 0; +pub const _RESOURCEMANAGER_INFORMATION_CLASS_ResourceManagerCompletionInformation: + _RESOURCEMANAGER_INFORMATION_CLASS = 1; +pub type _RESOURCEMANAGER_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_RESOURCEMANAGER_INFORMATION_CLASS as RESOURCEMANAGER_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENLISTMENT_BASIC_INFORMATION { + pub EnlistmentId: GUID, + pub TransactionId: GUID, + pub ResourceManagerId: GUID, +} +#[test] +fn bindgen_test_layout__ENLISTMENT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ENLISTMENT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENLISTMENT_BASIC_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_ENLISTMENT_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ENLISTMENT_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ENLISTMENT_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(ResourceManagerId) + ) + ); +} +pub type ENLISTMENT_BASIC_INFORMATION = _ENLISTMENT_BASIC_INFORMATION; +pub type PENLISTMENT_BASIC_INFORMATION = *mut _ENLISTMENT_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENLISTMENT_CRM_INFORMATION { + pub CrmTransactionManagerId: GUID, + pub CrmResourceManagerId: GUID, + pub CrmEnlistmentId: GUID, +} +#[test] +fn bindgen_test_layout__ENLISTMENT_CRM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ENLISTMENT_CRM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENLISTMENT_CRM_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_ENLISTMENT_CRM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ENLISTMENT_CRM_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ENLISTMENT_CRM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmTransactionManagerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmTransactionManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmResourceManagerId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmResourceManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmEnlistmentId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmEnlistmentId) + ) + ); +} +pub type ENLISTMENT_CRM_INFORMATION = _ENLISTMENT_CRM_INFORMATION; +pub type PENLISTMENT_CRM_INFORMATION = *mut _ENLISTMENT_CRM_INFORMATION; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentBasicInformation: _ENLISTMENT_INFORMATION_CLASS = + 0; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentRecoveryInformation: + _ENLISTMENT_INFORMATION_CLASS = 1; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentCrmInformation: _ENLISTMENT_INFORMATION_CLASS = 2; +pub type _ENLISTMENT_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_ENLISTMENT_INFORMATION_CLASS as ENLISTMENT_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_LIST_ENTRY { + pub UOW: UOW, +} +#[test] +fn bindgen_test_layout__TRANSACTION_LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_LIST_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_LIST_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_TRANSACTION_LIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_LIST_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_LIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_ENTRY), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_LIST_ENTRY = _TRANSACTION_LIST_ENTRY; +pub type PTRANSACTION_LIST_ENTRY = *mut _TRANSACTION_LIST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_LIST_INFORMATION { + pub NumberOfTransactions: DWORD, + pub TransactionInformation: [TRANSACTION_LIST_ENTRY; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_LIST_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_LIST_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_LIST_INFORMATION>(), + 20usize, + concat!("Size of: ", stringify!(_TRANSACTION_LIST_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_LIST_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_LIST_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTransactions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_INFORMATION), + "::", + stringify!(NumberOfTransactions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionInformation) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_INFORMATION), + "::", + stringify!(TransactionInformation) + ) + ); +} +pub type TRANSACTION_LIST_INFORMATION = _TRANSACTION_LIST_INFORMATION; +pub type PTRANSACTION_LIST_INFORMATION = *mut _TRANSACTION_LIST_INFORMATION; +pub const _KTMOBJECT_TYPE_KTMOBJECT_TRANSACTION: _KTMOBJECT_TYPE = 0; +pub const _KTMOBJECT_TYPE_KTMOBJECT_TRANSACTION_MANAGER: _KTMOBJECT_TYPE = 1; +pub const _KTMOBJECT_TYPE_KTMOBJECT_RESOURCE_MANAGER: _KTMOBJECT_TYPE = 2; +pub const _KTMOBJECT_TYPE_KTMOBJECT_ENLISTMENT: _KTMOBJECT_TYPE = 3; +pub const _KTMOBJECT_TYPE_KTMOBJECT_INVALID: _KTMOBJECT_TYPE = 4; +pub type _KTMOBJECT_TYPE = ::std::os::raw::c_int; +pub use self::_KTMOBJECT_TYPE as KTMOBJECT_TYPE; +pub type PKTMOBJECT_TYPE = *mut _KTMOBJECT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KTMOBJECT_CURSOR { + pub LastQuery: GUID, + pub ObjectIdCount: DWORD, + pub ObjectIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__KTMOBJECT_CURSOR() { + const UNINIT: ::std::mem::MaybeUninit<_KTMOBJECT_CURSOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KTMOBJECT_CURSOR>(), + 36usize, + concat!("Size of: ", stringify!(_KTMOBJECT_CURSOR)) + ); + assert_eq!( + ::std::mem::align_of::<_KTMOBJECT_CURSOR>(), + 4usize, + concat!("Alignment of ", stringify!(_KTMOBJECT_CURSOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastQuery) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(LastQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectIdCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(ObjectIdCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectIds) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(ObjectIds) + ) + ); +} +pub type KTMOBJECT_CURSOR = _KTMOBJECT_CURSOR; +pub type PKTMOBJECT_CURSOR = *mut _KTMOBJECT_CURSOR; +pub type TP_VERSION = DWORD; +pub type PTP_VERSION = *mut DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CALLBACK_INSTANCE { + _unused: [u8; 0], +} +pub type TP_CALLBACK_INSTANCE = _TP_CALLBACK_INSTANCE; +pub type PTP_CALLBACK_INSTANCE = *mut _TP_CALLBACK_INSTANCE; +pub type PTP_SIMPLE_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_POOL { + _unused: [u8; 0], +} +pub type TP_POOL = _TP_POOL; +pub type PTP_POOL = *mut _TP_POOL; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_HIGH: _TP_CALLBACK_PRIORITY = 0; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_NORMAL: _TP_CALLBACK_PRIORITY = 1; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_LOW: _TP_CALLBACK_PRIORITY = 2; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_INVALID: _TP_CALLBACK_PRIORITY = 3; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_COUNT: _TP_CALLBACK_PRIORITY = 3; +pub type _TP_CALLBACK_PRIORITY = ::std::os::raw::c_int; +pub use self::_TP_CALLBACK_PRIORITY as TP_CALLBACK_PRIORITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_POOL_STACK_INFORMATION { + pub StackReserve: SIZE_T, + pub StackCommit: SIZE_T, +} +#[test] +fn bindgen_test_layout__TP_POOL_STACK_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TP_POOL_STACK_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_POOL_STACK_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TP_POOL_STACK_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TP_POOL_STACK_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TP_POOL_STACK_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackReserve) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_POOL_STACK_INFORMATION), + "::", + stringify!(StackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackCommit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TP_POOL_STACK_INFORMATION), + "::", + stringify!(StackCommit) + ) + ); +} +pub type TP_POOL_STACK_INFORMATION = _TP_POOL_STACK_INFORMATION; +pub type PTP_POOL_STACK_INFORMATION = *mut _TP_POOL_STACK_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CLEANUP_GROUP { + _unused: [u8; 0], +} +pub type TP_CLEANUP_GROUP = _TP_CLEANUP_GROUP; +pub type PTP_CLEANUP_GROUP = *mut _TP_CLEANUP_GROUP; +pub type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TP_CALLBACK_ENVIRON_V3 { + pub Version: TP_VERSION, + pub Pool: PTP_POOL, + pub CleanupGroup: PTP_CLEANUP_GROUP, + pub CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK, + pub RaceDll: PVOID, + pub ActivationContext: *mut _ACTIVATION_CONTEXT, + pub FinalizationCallback: PTP_SIMPLE_CALLBACK, + pub u: _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1, + pub CallbackPriority: TP_CALLBACK_PRIORITY, + pub Size: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1 { + pub Flags: DWORD, + pub s: _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn LongFunction(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_LongFunction(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Persistent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_Persistent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Private(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Private(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + LongFunction: DWORD, + Persistent: DWORD, + Private: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let LongFunction: u32 = unsafe { ::std::mem::transmute(LongFunction) }; + LongFunction as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Persistent: u32 = unsafe { ::std::mem::transmute(Persistent) }; + Persistent as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Private: u32 = unsafe { ::std::mem::transmute(Private) }; + Private as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1), + "::", + stringify!(s) + ) + ); +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3() { + const UNINIT: ::std::mem::MaybeUninit<_TP_CALLBACK_ENVIRON_V3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3>(), + 72usize, + concat!("Size of: ", stringify!(_TP_CALLBACK_ENVIRON_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_TP_CALLBACK_ENVIRON_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pool) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Pool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CleanupGroup) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CleanupGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CleanupGroupCancelCallback) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CleanupGroupCancelCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RaceDll) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(RaceDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActivationContext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(ActivationContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FinalizationCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(FinalizationCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallbackPriority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CallbackPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Size) + ) + ); +} +pub type TP_CALLBACK_ENVIRON_V3 = _TP_CALLBACK_ENVIRON_V3; +pub type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V3; +pub type PTP_CALLBACK_ENVIRON = *mut TP_CALLBACK_ENVIRON_V3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_WORK { + _unused: [u8; 0], +} +pub type TP_WORK = _TP_WORK; +pub type PTP_WORK = *mut _TP_WORK; +pub type PTP_WORK_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(Instance: PTP_CALLBACK_INSTANCE, Context: PVOID, Work: PTP_WORK), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_TIMER { + _unused: [u8; 0], +} +pub type TP_TIMER = _TP_TIMER; +pub type PTP_TIMER = *mut _TP_TIMER; +pub type PTP_TIMER_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(Instance: PTP_CALLBACK_INSTANCE, Context: PVOID, Timer: PTP_TIMER), +>; +pub type TP_WAIT_RESULT = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_WAIT { + _unused: [u8; 0], +} +pub type TP_WAIT = _TP_WAIT; +pub type PTP_WAIT = *mut _TP_WAIT; +pub type PTP_WAIT_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Instance: PTP_CALLBACK_INSTANCE, + Context: PVOID, + Wait: PTP_WAIT, + WaitResult: TP_WAIT_RESULT, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_IO { + _unused: [u8; 0], +} +pub type TP_IO = _TP_IO; +pub type PTP_IO = *mut _TP_IO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TEB { + _unused: [u8; 0], +} +pub type WPARAM = UINT_PTR; +pub type LPARAM = LONG_PTR; +pub type LRESULT = LONG_PTR; +pub type SPHANDLE = *mut HANDLE; +pub type LPHANDLE = *mut HANDLE; +pub type HGLOBAL = HANDLE; +pub type HLOCAL = HANDLE; +pub type GLOBALHANDLE = HANDLE; +pub type LOCALHANDLE = HANDLE; +pub type FARPROC = ::std::option::Option INT_PTR>; +pub type NEARPROC = ::std::option::Option INT_PTR>; +pub type PROC = ::std::option::Option INT_PTR>; +pub type ATOM = WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HKEY__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HKEY__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HKEY__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HKEY__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HKEY__), + "::", + stringify!(unused) + ) + ); +} +pub type HKEY = *mut HKEY__; +pub type PHKEY = *mut HKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMETAFILE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMETAFILE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMETAFILE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMETAFILE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMETAFILE__), + "::", + stringify!(unused) + ) + ); +} +pub type HMETAFILE = *mut HMETAFILE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HINSTANCE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HINSTANCE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HINSTANCE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HINSTANCE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HINSTANCE__), + "::", + stringify!(unused) + ) + ); +} +pub type HINSTANCE = *mut HINSTANCE__; +pub type HMODULE = HINSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRGN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRGN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRGN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRGN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRGN__), + "::", + stringify!(unused) + ) + ); +} +pub type HRGN = *mut HRGN__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRSRC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRSRC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRSRC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRSRC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRSRC__), + "::", + stringify!(unused) + ) + ); +} +pub type HRSRC = *mut HRSRC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSPRITE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSPRITE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSPRITE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSPRITE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSPRITE__), + "::", + stringify!(unused) + ) + ); +} +pub type HSPRITE = *mut HSPRITE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HLSURF__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HLSURF__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HLSURF__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HLSURF__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HLSURF__), + "::", + stringify!(unused) + ) + ); +} +pub type HLSURF = *mut HLSURF__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSTR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSTR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSTR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSTR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSTR__), + "::", + stringify!(unused) + ) + ); +} +pub type HSTR = *mut HSTR__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HTASK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HTASK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HTASK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HTASK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HTASK__), + "::", + stringify!(unused) + ) + ); +} +pub type HTASK = *mut HTASK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWINSTA__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWINSTA__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWINSTA__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWINSTA__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWINSTA__), + "::", + stringify!(unused) + ) + ); +} +pub type HWINSTA = *mut HWINSTA__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HKL__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HKL__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HKL__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HKL__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HKL__), + "::", + stringify!(unused) + ) + ); +} +pub type HKL = *mut HKL__; +pub type HFILE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILETIME { + pub dwLowDateTime: DWORD, + pub dwHighDateTime: DWORD, +} +#[test] +fn bindgen_test_layout__FILETIME() { + const UNINIT: ::std::mem::MaybeUninit<_FILETIME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILETIME>(), + 8usize, + concat!("Size of: ", stringify!(_FILETIME)) + ); + assert_eq!( + ::std::mem::align_of::<_FILETIME>(), + 4usize, + concat!("Alignment of ", stringify!(_FILETIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLowDateTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILETIME), + "::", + stringify!(dwLowDateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHighDateTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILETIME), + "::", + stringify!(dwHighDateTime) + ) + ); +} +pub type FILETIME = _FILETIME; +pub type PFILETIME = *mut _FILETIME; +pub type LPFILETIME = *mut _FILETIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWND__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWND__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWND__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWND__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWND__), + "::", + stringify!(unused) + ) + ); +} +pub type HWND = *mut HWND__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HHOOK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HHOOK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HHOOK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HHOOK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HHOOK__), + "::", + stringify!(unused) + ) + ); +} +pub type HHOOK = *mut HHOOK__; +pub type HGDIOBJ = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HACCEL__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HACCEL__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HACCEL__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HACCEL__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HACCEL__), + "::", + stringify!(unused) + ) + ); +} +pub type HACCEL = *mut HACCEL__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HBITMAP__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HBITMAP__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HBITMAP__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HBITMAP__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HBITMAP__), + "::", + stringify!(unused) + ) + ); +} +pub type HBITMAP = *mut HBITMAP__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HBRUSH__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HBRUSH__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HBRUSH__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HBRUSH__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HBRUSH__), + "::", + stringify!(unused) + ) + ); +} +pub type HBRUSH = *mut HBRUSH__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCOLORSPACE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCOLORSPACE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCOLORSPACE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCOLORSPACE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCOLORSPACE__), + "::", + stringify!(unused) + ) + ); +} +pub type HCOLORSPACE = *mut HCOLORSPACE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDC__), + "::", + stringify!(unused) + ) + ); +} +pub type HDC = *mut HDC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HGLRC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HGLRC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HGLRC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HGLRC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HGLRC__), + "::", + stringify!(unused) + ) + ); +} +pub type HGLRC = *mut HGLRC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDESK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDESK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDESK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDESK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDESK__), + "::", + stringify!(unused) + ) + ); +} +pub type HDESK = *mut HDESK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HENHMETAFILE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HENHMETAFILE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HENHMETAFILE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HENHMETAFILE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HENHMETAFILE__), + "::", + stringify!(unused) + ) + ); +} +pub type HENHMETAFILE = *mut HENHMETAFILE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HFONT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HFONT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HFONT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HFONT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HFONT__), + "::", + stringify!(unused) + ) + ); +} +pub type HFONT = *mut HFONT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HICON__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HICON__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HICON__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HICON__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HICON__), + "::", + stringify!(unused) + ) + ); +} +pub type HICON = *mut HICON__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMENU__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMENU__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMENU__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMENU__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMENU__), + "::", + stringify!(unused) + ) + ); +} +pub type HMENU = *mut HMENU__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HPALETTE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HPALETTE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HPALETTE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HPALETTE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HPALETTE__), + "::", + stringify!(unused) + ) + ); +} +pub type HPALETTE = *mut HPALETTE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HPEN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HPEN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HPEN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HPEN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HPEN__), + "::", + stringify!(unused) + ) + ); +} +pub type HPEN = *mut HPEN__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWINEVENTHOOK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWINEVENTHOOK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWINEVENTHOOK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWINEVENTHOOK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWINEVENTHOOK__), + "::", + stringify!(unused) + ) + ); +} +pub type HWINEVENTHOOK = *mut HWINEVENTHOOK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMONITOR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMONITOR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMONITOR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMONITOR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMONITOR__), + "::", + stringify!(unused) + ) + ); +} +pub type HMONITOR = *mut HMONITOR__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HUMPD__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HUMPD__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HUMPD__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HUMPD__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HUMPD__), + "::", + stringify!(unused) + ) + ); +} +pub type HUMPD = *mut HUMPD__; +pub type HCURSOR = HICON; +pub type COLORREF = DWORD; +pub type LPCOLORREF = *mut DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRECT { + pub left: LONG, + pub top: LONG, + pub right: LONG, + pub bottom: LONG, +} +#[test] +fn bindgen_test_layout_tagRECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(bottom) + ) + ); +} +pub type RECT = tagRECT; +pub type PRECT = *mut tagRECT; +pub type NPRECT = *mut tagRECT; +pub type LPRECT = *mut tagRECT; +pub type LPCRECT = *const RECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RECTL { + pub left: LONG, + pub top: LONG, + pub right: LONG, + pub bottom: LONG, +} +#[test] +fn bindgen_test_layout__RECTL() { + const UNINIT: ::std::mem::MaybeUninit<_RECTL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RECTL>(), + 16usize, + concat!("Size of: ", stringify!(_RECTL)) + ); + assert_eq!( + ::std::mem::align_of::<_RECTL>(), + 4usize, + concat!("Alignment of ", stringify!(_RECTL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(bottom) + ) + ); +} +pub type RECTL = _RECTL; +pub type PRECTL = *mut _RECTL; +pub type LPRECTL = *mut _RECTL; +pub type LPCRECTL = *const RECTL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINT { + pub x: LONG, + pub y: LONG, +} +#[test] +fn bindgen_test_layout_tagPOINT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINT), + "::", + stringify!(y) + ) + ); +} +pub type POINT = tagPOINT; +pub type PPOINT = *mut tagPOINT; +pub type NPPOINT = *mut tagPOINT; +pub type LPPOINT = *mut tagPOINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POINTL { + pub x: LONG, + pub y: LONG, +} +#[test] +fn bindgen_test_layout__POINTL() { + const UNINIT: ::std::mem::MaybeUninit<_POINTL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POINTL>(), + 8usize, + concat!("Size of: ", stringify!(_POINTL)) + ); + assert_eq!( + ::std::mem::align_of::<_POINTL>(), + 4usize, + concat!("Alignment of ", stringify!(_POINTL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POINTL), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POINTL), + "::", + stringify!(y) + ) + ); +} +pub type POINTL = _POINTL; +pub type PPOINTL = *mut _POINTL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSIZE { + pub cx: LONG, + pub cy: LONG, +} +#[test] +fn bindgen_test_layout_tagSIZE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSIZE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSIZE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSIZE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSIZE), + "::", + stringify!(cy) + ) + ); +} +pub type SIZE = tagSIZE; +pub type PSIZE = *mut tagSIZE; +pub type LPSIZE = *mut tagSIZE; +pub type SIZEL = SIZE; +pub type PSIZEL = *mut SIZE; +pub type LPSIZEL = *mut SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTS { + pub x: SHORT, + pub y: SHORT, +} +#[test] +fn bindgen_test_layout_tagPOINTS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagPOINTS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagPOINTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTS), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTS), + "::", + stringify!(y) + ) + ); +} +pub type POINTS = tagPOINTS; +pub type PPOINTS = *mut tagPOINTS; +pub type LPPOINTS = *mut tagPOINTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct APP_LOCAL_DEVICE_ID { + pub value: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_APP_LOCAL_DEVICE_ID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(APP_LOCAL_DEVICE_ID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(APP_LOCAL_DEVICE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(APP_LOCAL_DEVICE_ID), + "::", + stringify!(value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DPI_AWARENESS_CONTEXT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_DPI_AWARENESS_CONTEXT__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DPI_AWARENESS_CONTEXT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DPI_AWARENESS_CONTEXT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DPI_AWARENESS_CONTEXT__), + "::", + stringify!(unused) + ) + ); +} +pub type DPI_AWARENESS_CONTEXT = *mut DPI_AWARENESS_CONTEXT__; +pub const DPI_AWARENESS_DPI_AWARENESS_INVALID: DPI_AWARENESS = -1; +pub const DPI_AWARENESS_DPI_AWARENESS_UNAWARE: DPI_AWARENESS = 0; +pub const DPI_AWARENESS_DPI_AWARENESS_SYSTEM_AWARE: DPI_AWARENESS = 1; +pub const DPI_AWARENESS_DPI_AWARENESS_PER_MONITOR_AWARE: DPI_AWARENESS = 2; +pub type DPI_AWARENESS = ::std::os::raw::c_int; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_INVALID: DPI_HOSTING_BEHAVIOR = -1; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_DEFAULT: DPI_HOSTING_BEHAVIOR = 0; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_MIXED: DPI_HOSTING_BEHAVIOR = 1; +pub type DPI_HOSTING_BEHAVIOR = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_ATTRIBUTES { + pub nLength: DWORD, + pub lpSecurityDescriptor: LPVOID, + pub bInheritHandle: BOOL, +} +#[test] +fn bindgen_test_layout__SECURITY_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_ATTRIBUTES>(), + 24usize, + concat!("Size of: ", stringify!(_SECURITY_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(lpSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(bInheritHandle) + ) + ); +} +pub type SECURITY_ATTRIBUTES = _SECURITY_ATTRIBUTES; +pub type PSECURITY_ATTRIBUTES = *mut _SECURITY_ATTRIBUTES; +pub type LPSECURITY_ATTRIBUTES = *mut _SECURITY_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OVERLAPPED { + pub Internal: ULONG_PTR, + pub InternalHigh: ULONG_PTR, + pub __bindgen_anon_1: _OVERLAPPED__bindgen_ty_1, + pub hEvent: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OVERLAPPED__bindgen_ty_1 { + pub __bindgen_anon_1: _OVERLAPPED__bindgen_ty_1__bindgen_ty_1, + pub Pointer: PVOID, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OVERLAPPED__bindgen_ty_1__bindgen_ty_1 { + pub Offset: DWORD, + pub OffsetHigh: DWORD, +} +#[test] +fn bindgen_test_layout__OVERLAPPED__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetHigh) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(OffsetHigh) + ) + ); +} +#[test] +fn bindgen_test_layout__OVERLAPPED__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_OVERLAPPED__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1), + "::", + stringify!(Pointer) + ) + ); +} +#[test] +fn bindgen_test_layout__OVERLAPPED() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED>(), + 32usize, + concat!("Size of: ", stringify!(_OVERLAPPED)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Internal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(Internal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InternalHigh) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(InternalHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEvent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(hEvent) + ) + ); +} +pub type OVERLAPPED = _OVERLAPPED; +pub type LPOVERLAPPED = *mut _OVERLAPPED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OVERLAPPED_ENTRY { + pub lpCompletionKey: ULONG_PTR, + pub lpOverlapped: LPOVERLAPPED, + pub Internal: ULONG_PTR, + pub dwNumberOfBytesTransferred: DWORD, +} +#[test] +fn bindgen_test_layout__OVERLAPPED_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_OVERLAPPED_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCompletionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(lpCompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(lpOverlapped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Internal) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(Internal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfBytesTransferred) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(dwNumberOfBytesTransferred) + ) + ); +} +pub type OVERLAPPED_ENTRY = _OVERLAPPED_ENTRY; +pub type LPOVERLAPPED_ENTRY = *mut _OVERLAPPED_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEMTIME { + pub wYear: WORD, + pub wMonth: WORD, + pub wDayOfWeek: WORD, + pub wDay: WORD, + pub wHour: WORD, + pub wMinute: WORD, + pub wSecond: WORD, + pub wMilliseconds: WORD, +} +#[test] +fn bindgen_test_layout__SYSTEMTIME() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEMTIME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEMTIME>(), + 16usize, + concat!("Size of: ", stringify!(_SYSTEMTIME)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEMTIME>(), + 2usize, + concat!("Alignment of ", stringify!(_SYSTEMTIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYear) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wYear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMonth) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMonth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDayOfWeek) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wDayOfWeek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDay) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wDay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHour) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wHour) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinute) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMinute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSecond) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wSecond) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMilliseconds) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMilliseconds) + ) + ); +} +pub type SYSTEMTIME = _SYSTEMTIME; +pub type PSYSTEMTIME = *mut _SYSTEMTIME; +pub type LPSYSTEMTIME = *mut _SYSTEMTIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FIND_DATAA { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub dwReserved0: DWORD, + pub dwReserved1: DWORD, + pub cFileName: [CHAR; 260usize], + pub cAlternateFileName: [CHAR; 14usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_DATAA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_DATAA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_DATAA>(), + 320usize, + concat!("Size of: ", stringify!(_WIN32_FIND_DATAA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_DATAA>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_DATAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFileName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(cFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlternateFileName) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(cAlternateFileName) + ) + ); +} +pub type WIN32_FIND_DATAA = _WIN32_FIND_DATAA; +pub type PWIN32_FIND_DATAA = *mut _WIN32_FIND_DATAA; +pub type LPWIN32_FIND_DATAA = *mut _WIN32_FIND_DATAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FIND_DATAW { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub dwReserved0: DWORD, + pub dwReserved1: DWORD, + pub cFileName: [WCHAR; 260usize], + pub cAlternateFileName: [WCHAR; 14usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_DATAW() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_DATAW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_DATAW>(), + 592usize, + concat!("Size of: ", stringify!(_WIN32_FIND_DATAW)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_DATAW>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_DATAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFileName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(cFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlternateFileName) as usize - ptr as usize }, + 564usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(cAlternateFileName) + ) + ); +} +pub type WIN32_FIND_DATAW = _WIN32_FIND_DATAW; +pub type PWIN32_FIND_DATAW = *mut _WIN32_FIND_DATAW; +pub type LPWIN32_FIND_DATAW = *mut _WIN32_FIND_DATAW; +pub type WIN32_FIND_DATA = WIN32_FIND_DATAA; +pub type PWIN32_FIND_DATA = PWIN32_FIND_DATAA; +pub type LPWIN32_FIND_DATA = LPWIN32_FIND_DATAA; +pub const _FINDEX_INFO_LEVELS_FindExInfoStandard: _FINDEX_INFO_LEVELS = 0; +pub const _FINDEX_INFO_LEVELS_FindExInfoBasic: _FINDEX_INFO_LEVELS = 1; +pub const _FINDEX_INFO_LEVELS_FindExInfoMaxInfoLevel: _FINDEX_INFO_LEVELS = 2; +pub type _FINDEX_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_FINDEX_INFO_LEVELS as FINDEX_INFO_LEVELS; +pub const _FINDEX_SEARCH_OPS_FindExSearchNameMatch: _FINDEX_SEARCH_OPS = 0; +pub const _FINDEX_SEARCH_OPS_FindExSearchLimitToDirectories: _FINDEX_SEARCH_OPS = 1; +pub const _FINDEX_SEARCH_OPS_FindExSearchLimitToDevices: _FINDEX_SEARCH_OPS = 2; +pub const _FINDEX_SEARCH_OPS_FindExSearchMaxSearchOp: _FINDEX_SEARCH_OPS = 3; +pub type _FINDEX_SEARCH_OPS = ::std::os::raw::c_int; +pub use self::_FINDEX_SEARCH_OPS as FINDEX_SEARCH_OPS; +pub const _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS_ReadDirectoryNotifyInformation: + _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = 1; +pub const _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS_ReadDirectoryNotifyExtendedInformation: + _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = 2; +pub type _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS as READ_DIRECTORY_NOTIFY_INFORMATION_CLASS; +pub type PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS = *mut _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS; +pub const _GET_FILEEX_INFO_LEVELS_GetFileExInfoStandard: _GET_FILEEX_INFO_LEVELS = 0; +pub const _GET_FILEEX_INFO_LEVELS_GetFileExMaxInfoLevel: _GET_FILEEX_INFO_LEVELS = 1; +pub type _GET_FILEEX_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_GET_FILEEX_INFO_LEVELS as GET_FILEEX_INFO_LEVELS; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileBasicInfo: _FILE_INFO_BY_HANDLE_CLASS = 0; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStandardInfo: _FILE_INFO_BY_HANDLE_CLASS = 1; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileNameInfo: _FILE_INFO_BY_HANDLE_CLASS = 2; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRenameInfo: _FILE_INFO_BY_HANDLE_CLASS = 3; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileDispositionInfo: _FILE_INFO_BY_HANDLE_CLASS = 4; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAllocationInfo: _FILE_INFO_BY_HANDLE_CLASS = 5; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileEndOfFileInfo: _FILE_INFO_BY_HANDLE_CLASS = 6; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStreamInfo: _FILE_INFO_BY_HANDLE_CLASS = 7; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileCompressionInfo: _FILE_INFO_BY_HANDLE_CLASS = 8; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAttributeTagInfo: _FILE_INFO_BY_HANDLE_CLASS = 9; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdBothDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 10; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdBothDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = + 11; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIoPriorityHintInfo: _FILE_INFO_BY_HANDLE_CLASS = 12; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRemoteProtocolInfo: _FILE_INFO_BY_HANDLE_CLASS = 13; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileFullDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 14; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileFullDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = 15; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStorageInfo: _FILE_INFO_BY_HANDLE_CLASS = 16; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAlignmentInfo: _FILE_INFO_BY_HANDLE_CLASS = 17; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdInfo: _FILE_INFO_BY_HANDLE_CLASS = 18; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdExtdDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 19; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdExtdDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = + 20; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileDispositionInfoEx: _FILE_INFO_BY_HANDLE_CLASS = 21; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRenameInfoEx: _FILE_INFO_BY_HANDLE_CLASS = 22; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileCaseSensitiveInfo: _FILE_INFO_BY_HANDLE_CLASS = 23; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileNormalizedNameInfo: _FILE_INFO_BY_HANDLE_CLASS = 24; +pub const _FILE_INFO_BY_HANDLE_CLASS_MaximumFileInfoByHandleClass: _FILE_INFO_BY_HANDLE_CLASS = 25; +pub type _FILE_INFO_BY_HANDLE_CLASS = ::std::os::raw::c_int; +pub use self::_FILE_INFO_BY_HANDLE_CLASS as FILE_INFO_BY_HANDLE_CLASS; +pub type PFILE_INFO_BY_HANDLE_CLASS = *mut _FILE_INFO_BY_HANDLE_CLASS; +pub type CRITICAL_SECTION = RTL_CRITICAL_SECTION; +pub type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION; +pub type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION; +pub type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG; +pub type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; +pub type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; +pub type LPOVERLAPPED_COMPLETION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + dwErrorCode: DWORD, + dwNumberOfBytesTransfered: DWORD, + lpOverlapped: LPOVERLAPPED, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY { + pub lpData: PVOID, + pub cbData: DWORD, + pub cbOverhead: BYTE, + pub iRegionIndex: BYTE, + pub wFlags: WORD, + pub __bindgen_anon_1: _PROCESS_HEAP_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_HEAP_ENTRY__bindgen_ty_1 { + pub Block: _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Region: _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub hMem: HANDLE, + pub dwReserved: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hMem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub dwCommittedSize: DWORD, + pub dwUnCommittedSize: DWORD, + pub lpFirstBlock: LPVOID, + pub lpLastBlock: LPVOID, +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommittedSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwCommittedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUnCommittedSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwUnCommittedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFirstBlock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(lpFirstBlock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLastBlock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(lpLastBlock) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>(), + 24usize, + concat!("Size of: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Block) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), + "::", + stringify!(Block) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), + "::", + stringify!(Region) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_PROCESS_HEAP_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_HEAP_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOverhead) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(cbOverhead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRegionIndex) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(iRegionIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(wFlags) + ) + ); +} +pub type PROCESS_HEAP_ENTRY = _PROCESS_HEAP_ENTRY; +pub type LPPROCESS_HEAP_ENTRY = *mut _PROCESS_HEAP_ENTRY; +pub type PPROCESS_HEAP_ENTRY = *mut _PROCESS_HEAP_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REASON_CONTEXT { + pub Version: ULONG, + pub Flags: DWORD, + pub Reason: _REASON_CONTEXT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _REASON_CONTEXT__bindgen_ty_1 { + pub Detailed: _REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1, + pub SimpleReasonString: LPWSTR, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub LocalizedReasonModule: HMODULE, + pub LocalizedReasonId: ULONG, + pub ReasonStringCount: ULONG, + pub ReasonStrings: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalizedReasonModule) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LocalizedReasonModule) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalizedReasonId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LocalizedReasonId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonStringCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ReasonStringCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonStrings) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ReasonStrings) + ) + ); +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT__bindgen_ty_1>(), + 24usize, + concat!("Size of: ", stringify!(_REASON_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_REASON_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Detailed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1), + "::", + stringify!(Detailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SimpleReasonString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1), + "::", + stringify!(SimpleReasonString) + ) + ); +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT>(), + 32usize, + concat!("Size of: ", stringify!(_REASON_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_REASON_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Reason) + ) + ); +} +pub type REASON_CONTEXT = _REASON_CONTEXT; +pub type PREASON_CONTEXT = *mut _REASON_CONTEXT; +pub type PTHREAD_START_ROUTINE = + ::std::option::Option DWORD>; +pub type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE; +pub type PENCLAVE_ROUTINE = + ::std::option::Option LPVOID>; +pub type LPENCLAVE_ROUTINE = PENCLAVE_ROUTINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_DEBUG_INFO { + pub ExceptionRecord: EXCEPTION_RECORD, + pub dwFirstChance: DWORD, +} +#[test] +fn bindgen_test_layout__EXCEPTION_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_DEBUG_INFO>(), + 160usize, + concat!("Size of: ", stringify!(_EXCEPTION_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_DEBUG_INFO), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirstChance) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_DEBUG_INFO), + "::", + stringify!(dwFirstChance) + ) + ); +} +pub type EXCEPTION_DEBUG_INFO = _EXCEPTION_DEBUG_INFO; +pub type LPEXCEPTION_DEBUG_INFO = *mut _EXCEPTION_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_THREAD_DEBUG_INFO { + pub hThread: HANDLE, + pub lpThreadLocalBase: LPVOID, + pub lpStartAddress: LPTHREAD_START_ROUTINE, +} +#[test] +fn bindgen_test_layout__CREATE_THREAD_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_THREAD_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_THREAD_DEBUG_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CREATE_THREAD_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_THREAD_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CREATE_THREAD_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadLocalBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(lpThreadLocalBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(lpStartAddress) + ) + ); +} +pub type CREATE_THREAD_DEBUG_INFO = _CREATE_THREAD_DEBUG_INFO; +pub type LPCREATE_THREAD_DEBUG_INFO = *mut _CREATE_THREAD_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_PROCESS_DEBUG_INFO { + pub hFile: HANDLE, + pub hProcess: HANDLE, + pub hThread: HANDLE, + pub lpBaseOfImage: LPVOID, + pub dwDebugInfoFileOffset: DWORD, + pub nDebugInfoSize: DWORD, + pub lpThreadLocalBase: LPVOID, + pub lpStartAddress: LPTHREAD_START_ROUTINE, + pub lpImageName: LPVOID, + pub fUnicode: WORD, +} +#[test] +fn bindgen_test_layout__CREATE_PROCESS_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_PROCESS_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_PROCESS_DEBUG_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_CREATE_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_PROCESS_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CREATE_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfImage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpBaseOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugInfoFileOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(dwDebugInfoFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugInfoSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(nDebugInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadLocalBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpThreadLocalBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartAddress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpStartAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpImageName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpImageName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(fUnicode) + ) + ); +} +pub type CREATE_PROCESS_DEBUG_INFO = _CREATE_PROCESS_DEBUG_INFO; +pub type LPCREATE_PROCESS_DEBUG_INFO = *mut _CREATE_PROCESS_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXIT_THREAD_DEBUG_INFO { + pub dwExitCode: DWORD, +} +#[test] +fn bindgen_test_layout__EXIT_THREAD_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXIT_THREAD_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXIT_THREAD_DEBUG_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EXIT_THREAD_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXIT_THREAD_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXIT_THREAD_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExitCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXIT_THREAD_DEBUG_INFO), + "::", + stringify!(dwExitCode) + ) + ); +} +pub type EXIT_THREAD_DEBUG_INFO = _EXIT_THREAD_DEBUG_INFO; +pub type LPEXIT_THREAD_DEBUG_INFO = *mut _EXIT_THREAD_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXIT_PROCESS_DEBUG_INFO { + pub dwExitCode: DWORD, +} +#[test] +fn bindgen_test_layout__EXIT_PROCESS_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXIT_PROCESS_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXIT_PROCESS_DEBUG_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EXIT_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXIT_PROCESS_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXIT_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExitCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXIT_PROCESS_DEBUG_INFO), + "::", + stringify!(dwExitCode) + ) + ); +} +pub type EXIT_PROCESS_DEBUG_INFO = _EXIT_PROCESS_DEBUG_INFO; +pub type LPEXIT_PROCESS_DEBUG_INFO = *mut _EXIT_PROCESS_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LOAD_DLL_DEBUG_INFO { + pub hFile: HANDLE, + pub lpBaseOfDll: LPVOID, + pub dwDebugInfoFileOffset: DWORD, + pub nDebugInfoSize: DWORD, + pub lpImageName: LPVOID, + pub fUnicode: WORD, +} +#[test] +fn bindgen_test_layout__LOAD_DLL_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_LOAD_DLL_DEBUG_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOAD_DLL_DEBUG_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_LOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_LOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_LOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(hFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfDll) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpBaseOfDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugInfoFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(dwDebugInfoFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugInfoSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(nDebugInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpImageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpImageName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(fUnicode) + ) + ); +} +pub type LOAD_DLL_DEBUG_INFO = _LOAD_DLL_DEBUG_INFO; +pub type LPLOAD_DLL_DEBUG_INFO = *mut _LOAD_DLL_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNLOAD_DLL_DEBUG_INFO { + pub lpBaseOfDll: LPVOID, +} +#[test] +fn bindgen_test_layout__UNLOAD_DLL_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_UNLOAD_DLL_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNLOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_UNLOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_UNLOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_UNLOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNLOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpBaseOfDll) + ) + ); +} +pub type UNLOAD_DLL_DEBUG_INFO = _UNLOAD_DLL_DEBUG_INFO; +pub type LPUNLOAD_DLL_DEBUG_INFO = *mut _UNLOAD_DLL_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTPUT_DEBUG_STRING_INFO { + pub lpDebugStringData: LPSTR, + pub fUnicode: WORD, + pub nDebugStringLength: WORD, +} +#[test] +fn bindgen_test_layout__OUTPUT_DEBUG_STRING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OUTPUT_DEBUG_STRING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTPUT_DEBUG_STRING_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_OUTPUT_DEBUG_STRING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTPUT_DEBUG_STRING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTPUT_DEBUG_STRING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDebugStringData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(lpDebugStringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(fUnicode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugStringLength) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(nDebugStringLength) + ) + ); +} +pub type OUTPUT_DEBUG_STRING_INFO = _OUTPUT_DEBUG_STRING_INFO; +pub type LPOUTPUT_DEBUG_STRING_INFO = *mut _OUTPUT_DEBUG_STRING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RIP_INFO { + pub dwError: DWORD, + pub dwType: DWORD, +} +#[test] +fn bindgen_test_layout__RIP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RIP_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RIP_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_RIP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RIP_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_RIP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RIP_INFO), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RIP_INFO), + "::", + stringify!(dwType) + ) + ); +} +pub type RIP_INFO = _RIP_INFO; +pub type LPRIP_INFO = *mut _RIP_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEBUG_EVENT { + pub dwDebugEventCode: DWORD, + pub dwProcessId: DWORD, + pub dwThreadId: DWORD, + pub u: _DEBUG_EVENT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEBUG_EVENT__bindgen_ty_1 { + pub Exception: EXCEPTION_DEBUG_INFO, + pub CreateThread: CREATE_THREAD_DEBUG_INFO, + pub CreateProcessInfo: CREATE_PROCESS_DEBUG_INFO, + pub ExitThread: EXIT_THREAD_DEBUG_INFO, + pub ExitProcess: EXIT_PROCESS_DEBUG_INFO, + pub LoadDll: LOAD_DLL_DEBUG_INFO, + pub UnloadDll: UNLOAD_DLL_DEBUG_INFO, + pub DebugString: OUTPUT_DEBUG_STRING_INFO, + pub RipInfo: RIP_INFO, +} +#[test] +fn bindgen_test_layout__DEBUG_EVENT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEBUG_EVENT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEBUG_EVENT__bindgen_ty_1>(), + 160usize, + concat!("Size of: ", stringify!(_DEBUG_EVENT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEBUG_EVENT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_DEBUG_EVENT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Exception) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(Exception) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(CreateThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateProcessInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(CreateProcessInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(ExitThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitProcess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(ExitProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoadDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(LoadDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnloadDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(UnloadDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(DebugString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RipInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(RipInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__DEBUG_EVENT() { + const UNINIT: ::std::mem::MaybeUninit<_DEBUG_EVENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEBUG_EVENT>(), + 176usize, + concat!("Size of: ", stringify!(_DEBUG_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEBUG_EVENT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEBUG_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugEventCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwDebugEventCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwThreadId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(u) + ) + ); +} +pub type DEBUG_EVENT = _DEBUG_EVENT; +pub type LPDEBUG_EVENT = *mut _DEBUG_EVENT; +pub type LPCONTEXT = PCONTEXT; +extern "C" { + pub fn IsApiSetImplemented(Contract: PCSTR) -> BOOL; +} +extern "C" { + pub fn SetEnvironmentStringsW(NewEnvironment: LPWCH) -> BOOL; +} +extern "C" { + pub fn GetStdHandle(nStdHandle: DWORD) -> HANDLE; +} +extern "C" { + pub fn SetStdHandle(nStdHandle: DWORD, hHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetStdHandleEx(nStdHandle: DWORD, hHandle: HANDLE, phPrevValue: PHANDLE) -> BOOL; +} +extern "C" { + pub fn GetCommandLineA() -> LPSTR; +} +extern "C" { + pub fn GetCommandLineW() -> LPWSTR; +} +extern "C" { + pub fn GetEnvironmentStrings() -> LPCH; +} +extern "C" { + pub fn GetEnvironmentStringsW() -> LPWCH; +} +extern "C" { + pub fn FreeEnvironmentStringsA(penv: LPCH) -> BOOL; +} +extern "C" { + pub fn FreeEnvironmentStringsW(penv: LPWCH) -> BOOL; +} +extern "C" { + pub fn GetEnvironmentVariableA(lpName: LPCSTR, lpBuffer: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetEnvironmentVariableW(lpName: LPCWSTR, lpBuffer: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetEnvironmentVariableA(lpName: LPCSTR, lpValue: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetEnvironmentVariableW(lpName: LPCWSTR, lpValue: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ExpandEnvironmentStringsA(lpSrc: LPCSTR, lpDst: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn ExpandEnvironmentStringsW(lpSrc: LPCWSTR, lpDst: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetCurrentDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetCurrentDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetCurrentDirectoryA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetCurrentDirectoryW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn SearchPathW( + lpPath: LPCWSTR, + lpFileName: LPCWSTR, + lpExtension: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn SearchPathA( + lpPath: LPCSTR, + lpFileName: LPCSTR, + lpExtension: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn NeedCurrentDirectoryForExePathA(ExeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn NeedCurrentDirectoryForExePathW(ExeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CompareFileTime(lpFileTime1: *const FILETIME, lpFileTime2: *const FILETIME) -> LONG; +} +extern "C" { + pub fn CreateDirectoryA( + lpPathName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryW( + lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileA( + lpFileName: LPCSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn DefineDosDeviceW(dwFlags: DWORD, lpDeviceName: LPCWSTR, lpTargetPath: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFileA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFileW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteVolumeMountPointW(lpszVolumeMountPoint: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn FileTimeToLocalFileTime( + lpFileTime: *const FILETIME, + lpLocalFileTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn FindClose(hFindFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindCloseChangeNotification(hChangeHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindFirstChangeNotificationA( + lpPathName: LPCSTR, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstChangeNotificationW( + lpPathName: LPCWSTR, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileA(lpFileName: LPCSTR, lpFindFileData: LPWIN32_FIND_DATAA) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileW(lpFileName: LPCWSTR, lpFindFileData: LPWIN32_FIND_DATAW) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileExA( + lpFileName: LPCSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileExW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstVolumeW(lpszVolumeName: LPWSTR, cchBufferLength: DWORD) -> HANDLE; +} +extern "C" { + pub fn FindNextChangeNotification(hChangeHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindNextFileA(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATAA) -> BOOL; +} +extern "C" { + pub fn FindNextFileW(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATAW) -> BOOL; +} +extern "C" { + pub fn FindNextVolumeW( + hFindVolume: HANDLE, + lpszVolumeName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindVolumeClose(hFindVolume: HANDLE) -> BOOL; +} +extern "C" { + pub fn FlushFileBuffers(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceA( + lpRootPathName: LPCSTR, + lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceW( + lpRootPathName: LPCWSTR, + lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceExA( + lpDirectoryName: LPCSTR, + lpFreeBytesAvailableToCaller: PULARGE_INTEGER, + lpTotalNumberOfBytes: PULARGE_INTEGER, + lpTotalNumberOfFreeBytes: PULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceExW( + lpDirectoryName: LPCWSTR, + lpFreeBytesAvailableToCaller: PULARGE_INTEGER, + lpTotalNumberOfBytes: PULARGE_INTEGER, + lpTotalNumberOfFreeBytes: PULARGE_INTEGER, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISK_SPACE_INFORMATION { + pub ActualTotalAllocationUnits: ULONGLONG, + pub ActualAvailableAllocationUnits: ULONGLONG, + pub ActualPoolUnavailableAllocationUnits: ULONGLONG, + pub CallerTotalAllocationUnits: ULONGLONG, + pub CallerAvailableAllocationUnits: ULONGLONG, + pub CallerPoolUnavailableAllocationUnits: ULONGLONG, + pub UsedAllocationUnits: ULONGLONG, + pub TotalReservedAllocationUnits: ULONGLONG, + pub VolumeStorageReserveAllocationUnits: ULONGLONG, + pub AvailableCommittedAllocationUnits: ULONGLONG, + pub PoolAvailableAllocationUnits: ULONGLONG, + pub SectorsPerAllocationUnit: DWORD, + pub BytesPerSector: DWORD, +} +#[test] +fn bindgen_test_layout_DISK_SPACE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(DISK_SPACE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISK_SPACE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualTotalAllocationUnits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualTotalAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ActualAvailableAllocationUnits) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ActualPoolUnavailableAllocationUnits) as usize + - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualPoolUnavailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallerTotalAllocationUnits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerTotalAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CallerAvailableAllocationUnits) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CallerPoolUnavailableAllocationUnits) as usize + - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerPoolUnavailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsedAllocationUnits) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(UsedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalReservedAllocationUnits) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(TotalReservedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).VolumeStorageReserveAllocationUnits) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(VolumeStorageReserveAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AvailableCommittedAllocationUnits) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(AvailableCommittedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PoolAvailableAllocationUnits) as usize - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(PoolAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerAllocationUnit) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(SectorsPerAllocationUnit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(BytesPerSector) + ) + ); +} +extern "C" { + pub fn GetDiskSpaceInformationA( + rootPath: LPCSTR, + diskSpaceInfo: *mut DISK_SPACE_INFORMATION, + ) -> HRESULT; +} +extern "C" { + pub fn GetDiskSpaceInformationW( + rootPath: LPCWSTR, + diskSpaceInfo: *mut DISK_SPACE_INFORMATION, + ) -> HRESULT; +} +extern "C" { + pub fn GetDriveTypeA(lpRootPathName: LPCSTR) -> UINT; +} +extern "C" { + pub fn GetDriveTypeW(lpRootPathName: LPCWSTR) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FILE_ATTRIBUTE_DATA { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, +} +#[test] +fn bindgen_test_layout__WIN32_FILE_ATTRIBUTE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FILE_ATTRIBUTE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FILE_ATTRIBUTE_DATA>(), + 36usize, + concat!("Size of: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FILE_ATTRIBUTE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(nFileSizeLow) + ) + ); +} +pub type WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA; +pub type LPWIN32_FILE_ATTRIBUTE_DATA = *mut _WIN32_FILE_ATTRIBUTE_DATA; +extern "C" { + pub fn GetFileAttributesA(lpFileName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn GetFileAttributesW(lpFileName: LPCWSTR) -> DWORD; +} +extern "C" { + pub fn GetFileAttributesExA( + lpFileName: LPCSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesExW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BY_HANDLE_FILE_INFORMATION { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub dwVolumeSerialNumber: DWORD, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub nNumberOfLinks: DWORD, + pub nFileIndexHigh: DWORD, + pub nFileIndexLow: DWORD, +} +#[test] +fn bindgen_test_layout__BY_HANDLE_FILE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_BY_HANDLE_FILE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BY_HANDLE_FILE_INFORMATION>(), + 52usize, + concat!("Size of: ", stringify!(_BY_HANDLE_FILE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_BY_HANDLE_FILE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_BY_HANDLE_FILE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVolumeSerialNumber) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(dwVolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nNumberOfLinks) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nNumberOfLinks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileIndexHigh) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileIndexHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileIndexLow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileIndexLow) + ) + ); +} +pub type BY_HANDLE_FILE_INFORMATION = _BY_HANDLE_FILE_INFORMATION; +pub type PBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; +pub type LPBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; +extern "C" { + pub fn GetFileInformationByHandle( + hFile: HANDLE, + lpFileInformation: LPBY_HANDLE_FILE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSize(hFile: HANDLE, lpFileSizeHigh: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileSizeEx(hFile: HANDLE, lpFileSize: PLARGE_INTEGER) -> BOOL; +} +extern "C" { + pub fn GetFileType(hFile: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetFinalPathNameByHandleA( + hFile: HANDLE, + lpszFilePath: LPSTR, + cchFilePath: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFinalPathNameByHandleW( + hFile: HANDLE, + lpszFilePath: LPWSTR, + cchFilePath: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileTime( + hFile: HANDLE, + lpCreationTime: LPFILETIME, + lpLastAccessTime: LPFILETIME, + lpLastWriteTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn GetFullPathNameW( + lpFileName: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetFullPathNameA( + lpFileName: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetLogicalDrives() -> DWORD; +} +extern "C" { + pub fn GetLogicalDriveStringsW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameA(lpszShortPath: LPCSTR, lpszLongPath: LPSTR, cchBuffer: DWORD) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameW( + lpszShortPath: LPCWSTR, + lpszLongPath: LPWSTR, + cchBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn AreShortNamesEnabled(Handle: HANDLE, Enabled: *mut BOOL) -> BOOL; +} +extern "C" { + pub fn GetShortPathNameW( + lpszLongPath: LPCWSTR, + lpszShortPath: LPWSTR, + cchBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetTempFileNameW( + lpPathName: LPCWSTR, + lpPrefixString: LPCWSTR, + uUnique: UINT, + lpTempFileName: LPWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetVolumeInformationByHandleW( + hFile: HANDLE, + lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumeInformationW( + lpRootPathName: LPCWSTR, + lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNameW( + lpszFileName: LPCWSTR, + lpszVolumePathName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn LocalFileTimeToFileTime( + lpLocalFileTime: *const FILETIME, + lpFileTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn LockFile( + hFile: HANDLE, + dwFileOffsetLow: DWORD, + dwFileOffsetHigh: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn LockFileEx( + hFile: HANDLE, + dwFlags: DWORD, + dwReserved: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn QueryDosDeviceW(lpDeviceName: LPCWSTR, lpTargetPath: LPWSTR, ucchMax: DWORD) -> DWORD; +} +extern "C" { + pub fn ReadFile( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn ReadFileEx( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn ReadFileScatter( + hFile: HANDLE, + aSegmentArray: *mut FILE_SEGMENT_ELEMENT, + nNumberOfBytesToRead: DWORD, + lpReserved: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetEndOfFile(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesA(lpFileName: LPCSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn SetFileInformationByHandle( + hFile: HANDLE, + FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFilePointer( + hFile: HANDLE, + lDistanceToMove: LONG, + lpDistanceToMoveHigh: PLONG, + dwMoveMethod: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetFilePointerEx( + hFile: HANDLE, + liDistanceToMove: LARGE_INTEGER, + lpNewFilePointer: PLARGE_INTEGER, + dwMoveMethod: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFileTime( + hFile: HANDLE, + lpCreationTime: *const FILETIME, + lpLastAccessTime: *const FILETIME, + lpLastWriteTime: *const FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn SetFileValidData(hFile: HANDLE, ValidDataLength: LONGLONG) -> BOOL; +} +extern "C" { + pub fn UnlockFile( + hFile: HANDLE, + dwFileOffsetLow: DWORD, + dwFileOffsetHigh: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn UnlockFileEx( + hFile: HANDLE, + dwReserved: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WriteFile( + hFile: HANDLE, + lpBuffer: LPCVOID, + nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WriteFileEx( + hFile: HANDLE, + lpBuffer: LPCVOID, + nNumberOfBytesToWrite: DWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn WriteFileGather( + hFile: HANDLE, + aSegmentArray: *mut FILE_SEGMENT_ELEMENT, + nNumberOfBytesToWrite: DWORD, + lpReserved: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn GetTempPathW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetVolumeNameForVolumeMountPointW( + lpszVolumeMountPoint: LPCWSTR, + lpszVolumeName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNamesForVolumeNameW( + lpszVolumeName: LPCWSTR, + lpszVolumePathNames: LPWCH, + cchBufferLength: DWORD, + lpcchReturnLength: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATEFILE2_EXTENDED_PARAMETERS { + pub dwSize: DWORD, + pub dwFileAttributes: DWORD, + pub dwFileFlags: DWORD, + pub dwSecurityQosFlags: DWORD, + pub lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + pub hTemplateFile: HANDLE, +} +#[test] +fn bindgen_test_layout__CREATEFILE2_EXTENDED_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CREATEFILE2_EXTENDED_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATEFILE2_EXTENDED_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATEFILE2_EXTENDED_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwFileFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSecurityQosFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSecurityQosFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(lpSecurityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTemplateFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(hTemplateFile) + ) + ); +} +pub type CREATEFILE2_EXTENDED_PARAMETERS = _CREATEFILE2_EXTENDED_PARAMETERS; +pub type PCREATEFILE2_EXTENDED_PARAMETERS = *mut _CREATEFILE2_EXTENDED_PARAMETERS; +pub type LPCREATEFILE2_EXTENDED_PARAMETERS = *mut _CREATEFILE2_EXTENDED_PARAMETERS; +extern "C" { + pub fn CreateFile2( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwCreationDisposition: DWORD, + pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, + ) -> HANDLE; +} +extern "C" { + pub fn SetFileIoOverlappedRange( + FileHandle: HANDLE, + OverlappedRangeStart: PUCHAR, + Length: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetCompressedFileSizeA(lpFileName: LPCSTR, lpFileSizeHigh: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetCompressedFileSizeW(lpFileName: LPCWSTR, lpFileSizeHigh: LPDWORD) -> DWORD; +} +pub const _STREAM_INFO_LEVELS_FindStreamInfoStandard: _STREAM_INFO_LEVELS = 0; +pub const _STREAM_INFO_LEVELS_FindStreamInfoMaxInfoLevel: _STREAM_INFO_LEVELS = 1; +pub type _STREAM_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_STREAM_INFO_LEVELS as STREAM_INFO_LEVELS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIN32_FIND_STREAM_DATA { + pub StreamSize: LARGE_INTEGER, + pub cStreamName: [WCHAR; 296usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_STREAM_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_STREAM_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_STREAM_DATA>(), + 600usize, + concat!("Size of: ", stringify!(_WIN32_FIND_STREAM_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_STREAM_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_STREAM_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_STREAM_DATA), + "::", + stringify!(StreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStreamName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_STREAM_DATA), + "::", + stringify!(cStreamName) + ) + ); +} +pub type WIN32_FIND_STREAM_DATA = _WIN32_FIND_STREAM_DATA; +pub type PWIN32_FIND_STREAM_DATA = *mut _WIN32_FIND_STREAM_DATA; +extern "C" { + pub fn FindFirstStreamW( + lpFileName: LPCWSTR, + InfoLevel: STREAM_INFO_LEVELS, + lpFindStreamData: LPVOID, + dwFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextStreamW(hFindStream: HANDLE, lpFindStreamData: LPVOID) -> BOOL; +} +extern "C" { + pub fn AreFileApisANSI() -> BOOL; +} +extern "C" { + pub fn GetTempPathA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn FindFirstFileNameW( + lpFileName: LPCWSTR, + dwFlags: DWORD, + StringLength: LPDWORD, + LinkName: PWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextFileNameW(hFindStream: HANDLE, StringLength: LPDWORD, LinkName: PWSTR) -> BOOL; +} +extern "C" { + pub fn GetVolumeInformationA( + lpRootPathName: LPCSTR, + lpVolumeNameBuffer: LPSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetTempFileNameA( + lpPathName: LPCSTR, + lpPrefixString: LPCSTR, + uUnique: UINT, + lpTempFileName: LPSTR, + ) -> UINT; +} +extern "C" { + pub fn SetFileApisToOEM(); +} +extern "C" { + pub fn SetFileApisToANSI(); +} +extern "C" { + pub fn GetTempPath2W(BufferLength: DWORD, Buffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetTempPath2A(BufferLength: DWORD, Buffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn CopyFileFromAppW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryFromAppW( + lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileFromAppW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFile2FromAppW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwCreationDisposition: DWORD, + pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, + ) -> HANDLE; +} +extern "C" { + pub fn DeleteFileFromAppW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn FindFirstFileExFromAppW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetFileAttributesExFromAppW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileFromAppW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryFromAppW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ReplaceFileFromAppW( + lpReplacedFileName: LPCWSTR, + lpReplacementFileName: LPCWSTR, + lpBackupFileName: LPCWSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesFromAppW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn IsDebuggerPresent() -> BOOL; +} +extern "C" { + pub fn DebugBreak(); +} +extern "C" { + pub fn OutputDebugStringA(lpOutputString: LPCSTR); +} +extern "C" { + pub fn OutputDebugStringW(lpOutputString: LPCWSTR); +} +extern "C" { + pub fn ContinueDebugEvent( + dwProcessId: DWORD, + dwThreadId: DWORD, + dwContinueStatus: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WaitForDebugEvent(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; +} +extern "C" { + pub fn DebugActiveProcess(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn DebugActiveProcessStop(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn CheckRemoteDebuggerPresent(hProcess: HANDLE, pbDebuggerPresent: PBOOL) -> BOOL; +} +extern "C" { + pub fn WaitForDebugEventEx(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; +} +extern "C" { + pub fn EncodePointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn DecodePointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn EncodeSystemPointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn DecodeSystemPointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn EncodeRemotePointer( + ProcessHandle: HANDLE, + Ptr: PVOID, + EncodedPtr: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn DecodeRemotePointer( + ProcessHandle: HANDLE, + Ptr: PVOID, + DecodedPtr: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn Beep(dwFreq: DWORD, dwDuration: DWORD) -> BOOL; +} +extern "C" { + pub fn CloseHandle(hObject: HANDLE) -> BOOL; +} +extern "C" { + pub fn DuplicateHandle( + hSourceProcessHandle: HANDLE, + hSourceHandle: HANDLE, + hTargetProcessHandle: HANDLE, + lpTargetHandle: LPHANDLE, + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + dwOptions: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CompareObjectHandles(hFirstObjectHandle: HANDLE, hSecondObjectHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetHandleInformation(hObject: HANDLE, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetHandleInformation(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD) -> BOOL; +} +pub type PTOP_LEVEL_EXCEPTION_FILTER = + ::std::option::Option LONG>; +pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER; +extern "C" { + pub fn RaiseException( + dwExceptionCode: DWORD, + dwExceptionFlags: DWORD, + nNumberOfArguments: DWORD, + lpArguments: *const ULONG_PTR, + ); +} +extern "C" { + pub fn UnhandledExceptionFilter(ExceptionInfo: *mut _EXCEPTION_POINTERS) -> LONG; +} +extern "C" { + pub fn SetUnhandledExceptionFilter( + lpTopLevelExceptionFilter: LPTOP_LEVEL_EXCEPTION_FILTER, + ) -> LPTOP_LEVEL_EXCEPTION_FILTER; +} +extern "C" { + pub fn GetLastError() -> DWORD; +} +extern "C" { + pub fn SetLastError(dwErrCode: DWORD); +} +extern "C" { + pub fn GetErrorMode() -> UINT; +} +extern "C" { + pub fn SetErrorMode(uMode: UINT) -> UINT; +} +extern "C" { + pub fn AddVectoredExceptionHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) + -> PVOID; +} +extern "C" { + pub fn RemoveVectoredExceptionHandler(Handle: PVOID) -> ULONG; +} +extern "C" { + pub fn AddVectoredContinueHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) -> PVOID; +} +extern "C" { + pub fn RemoveVectoredContinueHandler(Handle: PVOID) -> ULONG; +} +extern "C" { + pub fn RaiseFailFastException( + pExceptionRecord: PEXCEPTION_RECORD, + pContextRecord: PCONTEXT, + dwFlags: DWORD, + ); +} +extern "C" { + pub fn FatalAppExitA(uAction: UINT, lpMessageText: LPCSTR); +} +extern "C" { + pub fn FatalAppExitW(uAction: UINT, lpMessageText: LPCWSTR); +} +extern "C" { + pub fn GetThreadErrorMode() -> DWORD; +} +extern "C" { + pub fn SetThreadErrorMode(dwNewMode: DWORD, lpOldMode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn TerminateProcessOnMemoryExhaustion(FailedAllocationSize: SIZE_T); +} +extern "C" { + pub fn FlsAlloc(lpCallback: PFLS_CALLBACK_FUNCTION) -> DWORD; +} +extern "C" { + pub fn FlsGetValue(dwFlsIndex: DWORD) -> PVOID; +} +extern "C" { + pub fn FlsSetValue(dwFlsIndex: DWORD, lpFlsData: PVOID) -> BOOL; +} +extern "C" { + pub fn FlsFree(dwFlsIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn IsThreadAFiber() -> BOOL; +} +extern "C" { + pub fn CreatePipe( + hReadPipe: PHANDLE, + hWritePipe: PHANDLE, + lpPipeAttributes: LPSECURITY_ATTRIBUTES, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ConnectNamedPipe(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn DisconnectNamedPipe(hNamedPipe: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetNamedPipeHandleState( + hNamedPipe: HANDLE, + lpMode: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekNamedPipe( + hNamedPipe: HANDLE, + lpBuffer: LPVOID, + nBufferSize: DWORD, + lpBytesRead: LPDWORD, + lpTotalBytesAvail: LPDWORD, + lpBytesLeftThisMessage: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn TransactNamedPipe( + hNamedPipe: HANDLE, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn CreateNamedPipeW( + lpName: LPCWSTR, + dwOpenMode: DWORD, + dwPipeMode: DWORD, + nMaxInstances: DWORD, + nOutBufferSize: DWORD, + nInBufferSize: DWORD, + nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn WaitNamedPipeW(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientComputerNameW( + Pipe: HANDLE, + ClientComputerName: LPWSTR, + ClientComputerNameLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateNamedPipeClient(hNamedPipe: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeInfo( + hNamedPipe: HANDLE, + lpFlags: LPDWORD, + lpOutBufferSize: LPDWORD, + lpInBufferSize: LPDWORD, + lpMaxInstances: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeHandleStateW( + hNamedPipe: HANDLE, + lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPWSTR, + nMaxUserNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CallNamedPipeW( + lpNamedPipeName: LPCWSTR, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + nTimeOut: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryPerformanceCounter(lpPerformanceCount: *mut LARGE_INTEGER) -> BOOL; +} +extern "C" { + pub fn QueryPerformanceFrequency(lpFrequency: *mut LARGE_INTEGER) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HEAP_SUMMARY { + pub cb: DWORD, + pub cbAllocated: SIZE_T, + pub cbCommitted: SIZE_T, + pub cbReserved: SIZE_T, + pub cbMaxReserve: SIZE_T, +} +#[test] +fn bindgen_test_layout__HEAP_SUMMARY() { + const UNINIT: ::std::mem::MaybeUninit<_HEAP_SUMMARY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HEAP_SUMMARY>(), + 40usize, + concat!("Size of: ", stringify!(_HEAP_SUMMARY)) + ); + assert_eq!( + ::std::mem::align_of::<_HEAP_SUMMARY>(), + 8usize, + concat!("Alignment of ", stringify!(_HEAP_SUMMARY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAllocated) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbAllocated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCommitted) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbCommitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMaxReserve) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbMaxReserve) + ) + ); +} +pub type HEAP_SUMMARY = _HEAP_SUMMARY; +pub type PHEAP_SUMMARY = *mut _HEAP_SUMMARY; +pub type LPHEAP_SUMMARY = PHEAP_SUMMARY; +extern "C" { + pub fn HeapCreate(flOptions: DWORD, dwInitialSize: SIZE_T, dwMaximumSize: SIZE_T) -> HANDLE; +} +extern "C" { + pub fn HeapDestroy(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn HeapReAlloc(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL; +} +extern "C" { + pub fn HeapSize(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID) -> SIZE_T; +} +extern "C" { + pub fn GetProcessHeap() -> HANDLE; +} +extern "C" { + pub fn HeapCompact(hHeap: HANDLE, dwFlags: DWORD) -> SIZE_T; +} +extern "C" { + pub fn HeapSetInformation( + HeapHandle: HANDLE, + HeapInformationClass: HEAP_INFORMATION_CLASS, + HeapInformation: PVOID, + HeapInformationLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn HeapValidate(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID) -> BOOL; +} +extern "C" { + pub fn HeapSummary(hHeap: HANDLE, dwFlags: DWORD, lpSummary: LPHEAP_SUMMARY) -> BOOL; +} +extern "C" { + pub fn GetProcessHeaps(NumberOfHeaps: DWORD, ProcessHeaps: PHANDLE) -> DWORD; +} +extern "C" { + pub fn HeapLock(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapUnlock(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapWalk(hHeap: HANDLE, lpEntry: LPPROCESS_HEAP_ENTRY) -> BOOL; +} +extern "C" { + pub fn HeapQueryInformation( + HeapHandle: HANDLE, + HeapInformationClass: HEAP_INFORMATION_CLASS, + HeapInformation: PVOID, + HeapInformationLength: SIZE_T, + ReturnLength: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateIoCompletionPort( + FileHandle: HANDLE, + ExistingCompletionPort: HANDLE, + CompletionKey: ULONG_PTR, + NumberOfConcurrentThreads: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetQueuedCompletionStatus( + CompletionPort: HANDLE, + lpNumberOfBytesTransferred: LPDWORD, + lpCompletionKey: PULONG_PTR, + lpOverlapped: *mut LPOVERLAPPED, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetQueuedCompletionStatusEx( + CompletionPort: HANDLE, + lpCompletionPortEntries: LPOVERLAPPED_ENTRY, + ulCount: ULONG, + ulNumEntriesRemoved: PULONG, + dwMilliseconds: DWORD, + fAlertable: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PostQueuedCompletionStatus( + CompletionPort: HANDLE, + dwNumberOfBytesTransferred: DWORD, + dwCompletionKey: ULONG_PTR, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn DeviceIoControl( + hDevice: HANDLE, + dwIoControlCode: DWORD, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn GetOverlappedResult( + hFile: HANDLE, + lpOverlapped: LPOVERLAPPED, + lpNumberOfBytesTransferred: LPDWORD, + bWait: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelIoEx(hFile: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn CancelIo(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetOverlappedResultEx( + hFile: HANDLE, + lpOverlapped: LPOVERLAPPED, + lpNumberOfBytesTransferred: LPDWORD, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelSynchronousIo(hThread: HANDLE) -> BOOL; +} +pub type SRWLOCK = RTL_SRWLOCK; +pub type PSRWLOCK = *mut RTL_SRWLOCK; +extern "C" { + pub fn InitializeSRWLock(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn ReleaseSRWLockExclusive(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn ReleaseSRWLockShared(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn AcquireSRWLockExclusive(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn AcquireSRWLockShared(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn TryAcquireSRWLockExclusive(SRWLock: PSRWLOCK) -> BOOLEAN; +} +extern "C" { + pub fn TryAcquireSRWLockShared(SRWLock: PSRWLOCK) -> BOOLEAN; +} +extern "C" { + pub fn InitializeCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn EnterCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn LeaveCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn InitializeCriticalSectionAndSpinCount( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeCriticalSectionEx( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetCriticalSectionSpinCount( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn TryEnterCriticalSection(lpCriticalSection: LPCRITICAL_SECTION) -> BOOL; +} +extern "C" { + pub fn DeleteCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +pub type INIT_ONCE = RTL_RUN_ONCE; +pub type PINIT_ONCE = PRTL_RUN_ONCE; +pub type LPINIT_ONCE = PRTL_RUN_ONCE; +pub type PINIT_ONCE_FN = ::std::option::Option< + unsafe extern "C" fn(InitOnce: PINIT_ONCE, Parameter: PVOID, Context: *mut PVOID) -> BOOL, +>; +extern "C" { + pub fn InitOnceInitialize(InitOnce: PINIT_ONCE); +} +extern "C" { + pub fn InitOnceExecuteOnce( + InitOnce: PINIT_ONCE, + InitFn: PINIT_ONCE_FN, + Parameter: PVOID, + Context: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn InitOnceBeginInitialize( + lpInitOnce: LPINIT_ONCE, + dwFlags: DWORD, + fPending: PBOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn InitOnceComplete(lpInitOnce: LPINIT_ONCE, dwFlags: DWORD, lpContext: LPVOID) -> BOOL; +} +pub type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE; +pub type PCONDITION_VARIABLE = *mut RTL_CONDITION_VARIABLE; +extern "C" { + pub fn InitializeConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn WakeConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn WakeAllConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn SleepConditionVariableCS( + ConditionVariable: PCONDITION_VARIABLE, + CriticalSection: PCRITICAL_SECTION, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SleepConditionVariableSRW( + ConditionVariable: PCONDITION_VARIABLE, + SRWLock: PSRWLOCK, + dwMilliseconds: DWORD, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn ResetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn ReleaseSemaphore( + hSemaphore: HANDLE, + lReleaseCount: LONG, + lpPreviousCount: LPLONG, + ) -> BOOL; +} +extern "C" { + pub fn ReleaseMutex(hMutex: HANDLE) -> BOOL; +} +extern "C" { + pub fn WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: DWORD) -> DWORD; +} +extern "C" { + pub fn SleepEx(dwMilliseconds: DWORD, bAlertable: BOOL) -> DWORD; +} +extern "C" { + pub fn WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: DWORD, bAlertable: BOOL) + -> DWORD; +} +extern "C" { + pub fn WaitForMultipleObjectsEx( + nCount: DWORD, + lpHandles: *const HANDLE, + bWaitAll: BOOL, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn CreateMutexA( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: BOOL, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMutexW( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenMutexW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn CreateEventA( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + bInitialState: BOOL, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventW( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + bInitialState: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenEventA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenEventW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn OpenSemaphoreW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +pub type PTIMERAPCROUTINE = ::std::option::Option< + unsafe extern "C" fn( + lpArgToCompletionRoutine: LPVOID, + dwTimerLowValue: DWORD, + dwTimerHighValue: DWORD, + ), +>; +extern "C" { + pub fn OpenWaitableTimerW( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpTimerName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn SetWaitableTimerEx( + hTimer: HANDLE, + lpDueTime: *const LARGE_INTEGER, + lPeriod: LONG, + pfnCompletionRoutine: PTIMERAPCROUTINE, + lpArgToCompletionRoutine: LPVOID, + WakeContext: PREASON_CONTEXT, + TolerableDelay: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetWaitableTimer( + hTimer: HANDLE, + lpDueTime: *const LARGE_INTEGER, + lPeriod: LONG, + pfnCompletionRoutine: PTIMERAPCROUTINE, + lpArgToCompletionRoutine: LPVOID, + fResume: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelWaitableTimer(hTimer: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreateMutexExA( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMutexExW( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventExA( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventExW( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreExW( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerExW( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + lpTimerName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +pub type SYNCHRONIZATION_BARRIER = RTL_BARRIER; +pub type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER; +pub type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER; +extern "C" { + pub fn EnterSynchronizationBarrier( + lpBarrier: LPSYNCHRONIZATION_BARRIER, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeSynchronizationBarrier( + lpBarrier: LPSYNCHRONIZATION_BARRIER, + lTotalThreads: LONG, + lSpinCount: LONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteSynchronizationBarrier(lpBarrier: LPSYNCHRONIZATION_BARRIER) -> BOOL; +} +extern "C" { + pub fn Sleep(dwMilliseconds: DWORD); +} +extern "C" { + pub fn WaitOnAddress( + Address: *mut ::std::os::raw::c_void, + CompareAddress: PVOID, + AddressSize: SIZE_T, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WakeByAddressSingle(Address: PVOID); +} +extern "C" { + pub fn WakeByAddressAll(Address: PVOID); +} +extern "C" { + pub fn SignalObjectAndWait( + hObjectToSignal: HANDLE, + hObjectToWaitOn: HANDLE, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn WaitForMultipleObjects( + nCount: DWORD, + lpHandles: *const HANDLE, + bWaitAll: BOOL, + dwMilliseconds: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CreateSemaphoreW( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerW( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + lpTimerName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn InitializeSListHead(ListHead: PSLIST_HEADER); +} +extern "C" { + pub fn InterlockedPopEntrySList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedPushEntrySList( + ListHead: PSLIST_HEADER, + ListEntry: PSLIST_ENTRY, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedPushListSListEx( + ListHead: PSLIST_HEADER, + List: PSLIST_ENTRY, + ListEnd: PSLIST_ENTRY, + Count: ULONG, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedFlushSList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn QueryDepthSList(ListHead: PSLIST_HEADER) -> USHORT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_INFORMATION { + pub hProcess: HANDLE, + pub hThread: HANDLE, + pub dwProcessId: DWORD, + pub dwThreadId: DWORD, +} +#[test] +fn bindgen_test_layout__PROCESS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_INFORMATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_PROCESS_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(hProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(dwThreadId) + ) + ); +} +pub type PROCESS_INFORMATION = _PROCESS_INFORMATION; +pub type PPROCESS_INFORMATION = *mut _PROCESS_INFORMATION; +pub type LPPROCESS_INFORMATION = *mut _PROCESS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOA { + pub cb: DWORD, + pub lpReserved: LPSTR, + pub lpDesktop: LPSTR, + pub lpTitle: LPSTR, + pub dwX: DWORD, + pub dwY: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwXCountChars: DWORD, + pub dwYCountChars: DWORD, + pub dwFillAttribute: DWORD, + pub dwFlags: DWORD, + pub wShowWindow: WORD, + pub cbReserved2: WORD, + pub lpReserved2: LPBYTE, + pub hStdInput: HANDLE, + pub hStdOutput: HANDLE, + pub hStdError: HANDLE, +} +#[test] +fn bindgen_test_layout__STARTUPINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOA>(), + 104usize, + concat!("Size of: ", stringify!(_STARTUPINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDesktop) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpDesktop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwX) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwY) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXCountChars) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwXCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYCountChars) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwYCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFillAttribute) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwFillAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wShowWindow) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(wShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(cbReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdInput) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdOutput) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdError) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdError) + ) + ); +} +pub type STARTUPINFOA = _STARTUPINFOA; +pub type LPSTARTUPINFOA = *mut _STARTUPINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOW { + pub cb: DWORD, + pub lpReserved: LPWSTR, + pub lpDesktop: LPWSTR, + pub lpTitle: LPWSTR, + pub dwX: DWORD, + pub dwY: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwXCountChars: DWORD, + pub dwYCountChars: DWORD, + pub dwFillAttribute: DWORD, + pub dwFlags: DWORD, + pub wShowWindow: WORD, + pub cbReserved2: WORD, + pub lpReserved2: LPBYTE, + pub hStdInput: HANDLE, + pub hStdOutput: HANDLE, + pub hStdError: HANDLE, +} +#[test] +fn bindgen_test_layout__STARTUPINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOW>(), + 104usize, + concat!("Size of: ", stringify!(_STARTUPINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDesktop) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpDesktop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwX) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwY) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXCountChars) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwXCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYCountChars) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwYCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFillAttribute) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwFillAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wShowWindow) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(wShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(cbReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdInput) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdOutput) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdError) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdError) + ) + ); +} +pub type STARTUPINFOW = _STARTUPINFOW; +pub type LPSTARTUPINFOW = *mut _STARTUPINFOW; +pub type STARTUPINFO = STARTUPINFOA; +pub type LPSTARTUPINFO = LPSTARTUPINFOA; +extern "C" { + pub fn QueueUserAPC(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: ULONG_PTR) -> DWORD; +} +pub const _QUEUE_USER_APC_FLAGS_QUEUE_USER_APC_FLAGS_NONE: _QUEUE_USER_APC_FLAGS = 0; +pub const _QUEUE_USER_APC_FLAGS_QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC: _QUEUE_USER_APC_FLAGS = 1; +pub type _QUEUE_USER_APC_FLAGS = ::std::os::raw::c_int; +pub use self::_QUEUE_USER_APC_FLAGS as QUEUE_USER_APC_FLAGS; +extern "C" { + pub fn QueueUserAPC2( + ApcRoutine: PAPCFUNC, + Thread: HANDLE, + Data: ULONG_PTR, + Flags: QUEUE_USER_APC_FLAGS, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessTimes( + hProcess: HANDLE, + lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, + lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcess() -> HANDLE; +} +extern "C" { + pub fn GetCurrentProcessId() -> DWORD; +} +extern "C" { + pub fn ExitProcess(uExitCode: UINT) -> !; +} +extern "C" { + pub fn TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL; +} +extern "C" { + pub fn GetExitCodeProcess(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SwitchToThread() -> BOOL; +} +extern "C" { + pub fn CreateThread( + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateRemoteThread( + hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCurrentThread() -> HANDLE; +} +extern "C" { + pub fn GetCurrentThreadId() -> DWORD; +} +extern "C" { + pub fn OpenThread(dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwThreadId: DWORD) -> HANDLE; +} +extern "C" { + pub fn SetThreadPriority(hThread: HANDLE, nPriority: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetThreadPriorityBoost(hThread: HANDLE, bDisablePriorityBoost: BOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadPriorityBoost(hThread: HANDLE, pDisablePriorityBoost: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadPriority(hThread: HANDLE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExitThread(dwExitCode: DWORD) -> !; +} +extern "C" { + pub fn TerminateThread(hThread: HANDLE, dwExitCode: DWORD) -> BOOL; +} +extern "C" { + pub fn GetExitCodeThread(hThread: HANDLE, lpExitCode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SuspendThread(hThread: HANDLE) -> DWORD; +} +extern "C" { + pub fn ResumeThread(hThread: HANDLE) -> DWORD; +} +extern "C" { + pub fn TlsAlloc() -> DWORD; +} +extern "C" { + pub fn TlsGetValue(dwTlsIndex: DWORD) -> LPVOID; +} +extern "C" { + pub fn TlsSetValue(dwTlsIndex: DWORD, lpTlsValue: LPVOID) -> BOOL; +} +extern "C" { + pub fn TlsFree(dwTlsIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateProcessA( + lpApplicationName: LPCSTR, + lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFOA, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessW( + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessShutdownParameters(dwLevel: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessVersion(ProcessId: DWORD) -> DWORD; +} +extern "C" { + pub fn GetStartupInfoW(lpStartupInfo: LPSTARTUPINFOW); +} +extern "C" { + pub fn CreateProcessAsUserW( + hToken: HANDLE, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadToken(Thread: PHANDLE, Token: HANDLE) -> BOOL; +} +extern "C" { + pub fn OpenProcessToken( + ProcessHandle: HANDLE, + DesiredAccess: DWORD, + TokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn OpenThreadToken( + ThreadHandle: HANDLE, + DesiredAccess: DWORD, + OpenAsSelf: BOOL, + TokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetPriorityClass(hProcess: HANDLE, dwPriorityClass: DWORD) -> BOOL; +} +extern "C" { + pub fn GetPriorityClass(hProcess: HANDLE) -> DWORD; +} +extern "C" { + pub fn SetThreadStackGuarantee(StackSizeInBytes: PULONG) -> BOOL; +} +extern "C" { + pub fn ProcessIdToSessionId(dwProcessId: DWORD, pSessionId: *mut DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROC_THREAD_ATTRIBUTE_LIST { + _unused: [u8; 0], +} +pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; +pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; +extern "C" { + pub fn GetProcessId(Process: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetThreadId(Thread: HANDLE) -> DWORD; +} +extern "C" { + pub fn FlushProcessWriteBuffers(); +} +extern "C" { + pub fn GetProcessIdOfThread(Thread: HANDLE) -> DWORD; +} +extern "C" { + pub fn InitializeProcThreadAttributeList( + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + dwAttributeCount: DWORD, + dwFlags: DWORD, + lpSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn DeleteProcThreadAttributeList(lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST); +} +extern "C" { + pub fn UpdateProcThreadAttribute( + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + dwFlags: DWORD, + Attribute: DWORD_PTR, + lpValue: PVOID, + cbSize: SIZE_T, + lpPreviousValue: PVOID, + lpReturnSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDynamicEHContinuationTargets( + Process: HANDLE, + NumberOfTargets: USHORT, + Targets: PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDynamicEnforcedCetCompatibleRanges( + Process: HANDLE, + NumberOfRanges: USHORT, + Ranges: PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessAffinityUpdateMode(hProcess: HANDLE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn QueryProcessAffinityUpdateMode(hProcess: HANDLE, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn CreateRemoteThreadEx( + hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCurrentThreadStackLimits(LowLimit: PULONG_PTR, HighLimit: PULONG_PTR); +} +extern "C" { + pub fn GetThreadContext(hThread: HANDLE, lpContext: LPCONTEXT) -> BOOL; +} +extern "C" { + pub fn GetProcessMitigationPolicy( + hProcess: HANDLE, + MitigationPolicy: PROCESS_MITIGATION_POLICY, + lpBuffer: PVOID, + dwLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadContext(hThread: HANDLE, lpContext: *const CONTEXT) -> BOOL; +} +extern "C" { + pub fn SetProcessMitigationPolicy( + MitigationPolicy: PROCESS_MITIGATION_POLICY, + lpBuffer: PVOID, + dwLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn FlushInstructionCache(hProcess: HANDLE, lpBaseAddress: LPCVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn GetThreadTimes( + hThread: HANDLE, + lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, + lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn OpenProcess(dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwProcessId: DWORD) -> HANDLE; +} +extern "C" { + pub fn IsProcessorFeaturePresent(ProcessorFeature: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessHandleCount(hProcess: HANDLE, pdwHandleCount: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcessorNumber() -> DWORD; +} +extern "C" { + pub fn SetThreadIdealProcessorEx( + hThread: HANDLE, + lpIdealProcessor: PPROCESSOR_NUMBER, + lpPreviousIdealProcessor: PPROCESSOR_NUMBER, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadIdealProcessorEx(hThread: HANDLE, lpIdealProcessor: PPROCESSOR_NUMBER) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcessorNumberEx(ProcNumber: PPROCESSOR_NUMBER); +} +extern "C" { + pub fn GetProcessPriorityBoost(hProcess: HANDLE, pDisablePriorityBoost: PBOOL) -> BOOL; +} +extern "C" { + pub fn SetProcessPriorityBoost(hProcess: HANDLE, bDisablePriorityBoost: BOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadIOPendingFlag(hThread: HANDLE, lpIOIsPending: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetSystemTimes( + lpIdleTime: PFILETIME, + lpKernelTime: PFILETIME, + lpUserTime: PFILETIME, + ) -> BOOL; +} +pub const _THREAD_INFORMATION_CLASS_ThreadMemoryPriority: _THREAD_INFORMATION_CLASS = 0; +pub const _THREAD_INFORMATION_CLASS_ThreadAbsoluteCpuPriority: _THREAD_INFORMATION_CLASS = 1; +pub const _THREAD_INFORMATION_CLASS_ThreadDynamicCodePolicy: _THREAD_INFORMATION_CLASS = 2; +pub const _THREAD_INFORMATION_CLASS_ThreadPowerThrottling: _THREAD_INFORMATION_CLASS = 3; +pub const _THREAD_INFORMATION_CLASS_ThreadInformationClassMax: _THREAD_INFORMATION_CLASS = 4; +pub type _THREAD_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_THREAD_INFORMATION_CLASS as THREAD_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_PRIORITY_INFORMATION { + pub MemoryPriority: ULONG, +} +#[test] +fn bindgen_test_layout__MEMORY_PRIORITY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_PRIORITY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_PRIORITY_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_MEMORY_PRIORITY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_PRIORITY_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_MEMORY_PRIORITY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemoryPriority) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PRIORITY_INFORMATION), + "::", + stringify!(MemoryPriority) + ) + ); +} +pub type MEMORY_PRIORITY_INFORMATION = _MEMORY_PRIORITY_INFORMATION; +pub type PMEMORY_PRIORITY_INFORMATION = *mut _MEMORY_PRIORITY_INFORMATION; +extern "C" { + pub fn GetThreadInformation( + hThread: HANDLE, + ThreadInformationClass: THREAD_INFORMATION_CLASS, + ThreadInformation: LPVOID, + ThreadInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadInformation( + hThread: HANDLE, + ThreadInformationClass: THREAD_INFORMATION_CLASS, + ThreadInformation: LPVOID, + ThreadInformationSize: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _THREAD_POWER_THROTTLING_STATE { + pub Version: ULONG, + pub ControlMask: ULONG, + pub StateMask: ULONG, +} +#[test] +fn bindgen_test_layout__THREAD_POWER_THROTTLING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_THREAD_POWER_THROTTLING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_THREAD_POWER_THROTTLING_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_THREAD_POWER_THROTTLING_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_THREAD_POWER_THROTTLING_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_THREAD_POWER_THROTTLING_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(ControlMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(StateMask) + ) + ); +} +pub type THREAD_POWER_THROTTLING_STATE = _THREAD_POWER_THROTTLING_STATE; +extern "C" { + pub fn IsProcessCritical(hProcess: HANDLE, Critical: PBOOL) -> BOOL; +} +extern "C" { + pub fn SetProtectedPolicy( + PolicyGuid: LPCGUID, + PolicyValue: ULONG_PTR, + OldPolicyValue: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn QueryProtectedPolicy(PolicyGuid: LPCGUID, PolicyValue: PULONG_PTR) -> BOOL; +} +extern "C" { + pub fn SetThreadIdealProcessor(hThread: HANDLE, dwIdealProcessor: DWORD) -> DWORD; +} +pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryPriority: _PROCESS_INFORMATION_CLASS = 0; +pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryExhaustionInfo: _PROCESS_INFORMATION_CLASS = 1; +pub const _PROCESS_INFORMATION_CLASS_ProcessAppMemoryInfo: _PROCESS_INFORMATION_CLASS = 2; +pub const _PROCESS_INFORMATION_CLASS_ProcessInPrivateInfo: _PROCESS_INFORMATION_CLASS = 3; +pub const _PROCESS_INFORMATION_CLASS_ProcessPowerThrottling: _PROCESS_INFORMATION_CLASS = 4; +pub const _PROCESS_INFORMATION_CLASS_ProcessReservedValue1: _PROCESS_INFORMATION_CLASS = 5; +pub const _PROCESS_INFORMATION_CLASS_ProcessTelemetryCoverageInfo: _PROCESS_INFORMATION_CLASS = 6; +pub const _PROCESS_INFORMATION_CLASS_ProcessProtectionLevelInfo: _PROCESS_INFORMATION_CLASS = 7; +pub const _PROCESS_INFORMATION_CLASS_ProcessLeapSecondInfo: _PROCESS_INFORMATION_CLASS = 8; +pub const _PROCESS_INFORMATION_CLASS_ProcessMachineTypeInfo: _PROCESS_INFORMATION_CLASS = 9; +pub const _PROCESS_INFORMATION_CLASS_ProcessInformationClassMax: _PROCESS_INFORMATION_CLASS = 10; +pub type _PROCESS_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_PROCESS_INFORMATION_CLASS as PROCESS_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _APP_MEMORY_INFORMATION { + pub AvailableCommit: ULONG64, + pub PrivateCommitUsage: ULONG64, + pub PeakPrivateCommitUsage: ULONG64, + pub TotalCommitUsage: ULONG64, +} +#[test] +fn bindgen_test_layout__APP_MEMORY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_APP_MEMORY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_APP_MEMORY_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_APP_MEMORY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_APP_MEMORY_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_APP_MEMORY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AvailableCommit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(AvailableCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateCommitUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(PrivateCommitUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakPrivateCommitUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(PeakPrivateCommitUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalCommitUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(TotalCommitUsage) + ) + ); +} +pub type APP_MEMORY_INFORMATION = _APP_MEMORY_INFORMATION; +pub type PAPP_MEMORY_INFORMATION = *mut _APP_MEMORY_INFORMATION; +pub const _MACHINE_ATTRIBUTES_UserEnabled: _MACHINE_ATTRIBUTES = 1; +pub const _MACHINE_ATTRIBUTES_KernelEnabled: _MACHINE_ATTRIBUTES = 2; +pub const _MACHINE_ATTRIBUTES_Wow64Container: _MACHINE_ATTRIBUTES = 4; +pub type _MACHINE_ATTRIBUTES = ::std::os::raw::c_int; +pub use self::_MACHINE_ATTRIBUTES as MACHINE_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MACHINE_INFORMATION { + pub ProcessMachine: USHORT, + pub Res0: USHORT, + pub MachineAttributes: MACHINE_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__PROCESS_MACHINE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MACHINE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MACHINE_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_PROCESS_MACHINE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MACHINE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_MACHINE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessMachine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MACHINE_INFORMATION), + "::", + stringify!(ProcessMachine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Res0) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MACHINE_INFORMATION), + "::", + stringify!(Res0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MachineAttributes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MACHINE_INFORMATION), + "::", + stringify!(MachineAttributes) + ) + ); +} +pub type PROCESS_MACHINE_INFORMATION = _PROCESS_MACHINE_INFORMATION; +pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeFailFastOnCommitFailure: + _PROCESS_MEMORY_EXHAUSTION_TYPE = 0; +pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeMax: _PROCESS_MEMORY_EXHAUSTION_TYPE = 1; +pub type _PROCESS_MEMORY_EXHAUSTION_TYPE = ::std::os::raw::c_int; +pub use self::_PROCESS_MEMORY_EXHAUSTION_TYPE as PROCESS_MEMORY_EXHAUSTION_TYPE; +pub type PPROCESS_MEMORY_EXHAUSTION_TYPE = *mut _PROCESS_MEMORY_EXHAUSTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MEMORY_EXHAUSTION_INFO { + pub Version: USHORT, + pub Reserved: USHORT, + pub Type: PROCESS_MEMORY_EXHAUSTION_TYPE, + pub Value: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__PROCESS_MEMORY_EXHAUSTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MEMORY_EXHAUSTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MEMORY_EXHAUSTION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MEMORY_EXHAUSTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Value) + ) + ); +} +pub type PROCESS_MEMORY_EXHAUSTION_INFO = _PROCESS_MEMORY_EXHAUSTION_INFO; +pub type PPROCESS_MEMORY_EXHAUSTION_INFO = *mut _PROCESS_MEMORY_EXHAUSTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_POWER_THROTTLING_STATE { + pub Version: ULONG, + pub ControlMask: ULONG, + pub StateMask: ULONG, +} +#[test] +fn bindgen_test_layout__PROCESS_POWER_THROTTLING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_POWER_THROTTLING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_POWER_THROTTLING_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_PROCESS_POWER_THROTTLING_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_POWER_THROTTLING_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_POWER_THROTTLING_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(ControlMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(StateMask) + ) + ); +} +pub type PROCESS_POWER_THROTTLING_STATE = _PROCESS_POWER_THROTTLING_STATE; +pub type PPROCESS_POWER_THROTTLING_STATE = *mut _PROCESS_POWER_THROTTLING_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESS_PROTECTION_LEVEL_INFORMATION { + pub ProtectionLevel: DWORD, +} +#[test] +fn bindgen_test_layout_PROCESS_PROTECTION_LEVEL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtectionLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION), + "::", + stringify!(ProtectionLevel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_LEAP_SECOND_INFO { + pub Flags: ULONG, + pub Reserved: ULONG, +} +#[test] +fn bindgen_test_layout__PROCESS_LEAP_SECOND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_LEAP_SECOND_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_LEAP_SECOND_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_PROCESS_LEAP_SECOND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_LEAP_SECOND_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_LEAP_SECOND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_LEAP_SECOND_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_LEAP_SECOND_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type PROCESS_LEAP_SECOND_INFO = _PROCESS_LEAP_SECOND_INFO; +pub type PPROCESS_LEAP_SECOND_INFO = *mut _PROCESS_LEAP_SECOND_INFO; +extern "C" { + pub fn SetProcessInformation( + hProcess: HANDLE, + ProcessInformationClass: PROCESS_INFORMATION_CLASS, + ProcessInformation: LPVOID, + ProcessInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessInformation( + hProcess: HANDLE, + ProcessInformationClass: PROCESS_INFORMATION_CLASS, + ProcessInformation: LPVOID, + ProcessInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemCpuSetInformation( + Information: PSYSTEM_CPU_SET_INFORMATION, + BufferLength: ULONG, + ReturnedLength: PULONG, + Process: HANDLE, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessDefaultCpuSets( + Process: HANDLE, + CpuSetIds: PULONG, + CpuSetIdCount: ULONG, + RequiredIdCount: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDefaultCpuSets( + Process: HANDLE, + CpuSetIds: *const ULONG, + CpuSetIdCount: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadSelectedCpuSets( + Thread: HANDLE, + CpuSetIds: PULONG, + CpuSetIdCount: ULONG, + RequiredIdCount: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadSelectedCpuSets( + Thread: HANDLE, + CpuSetIds: *const ULONG, + CpuSetIdCount: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessAsUserA( + hToken: HANDLE, + lpApplicationName: LPCSTR, + lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFOA, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessShutdownParameters(lpdwLevel: LPDWORD, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessDefaultCpuSetMasks( + Process: HANDLE, + CpuSetMasks: PGROUP_AFFINITY, + CpuSetMaskCount: USHORT, + RequiredMaskCount: PUSHORT, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDefaultCpuSetMasks( + Process: HANDLE, + CpuSetMasks: PGROUP_AFFINITY, + CpuSetMaskCount: USHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadSelectedCpuSetMasks( + Thread: HANDLE, + CpuSetMasks: PGROUP_AFFINITY, + CpuSetMaskCount: USHORT, + RequiredMaskCount: PUSHORT, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadSelectedCpuSetMasks( + Thread: HANDLE, + CpuSetMasks: PGROUP_AFFINITY, + CpuSetMaskCount: USHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetMachineTypeAttributes( + Machine: USHORT, + MachineTypeAttributes: *mut MACHINE_ATTRIBUTES, + ) -> HRESULT; +} +extern "C" { + pub fn SetThreadDescription(hThread: HANDLE, lpThreadDescription: PCWSTR) -> HRESULT; +} +extern "C" { + pub fn GetThreadDescription(hThread: HANDLE, ppszThreadDescription: *mut PWSTR) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_INFO { + pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1, + pub dwPageSize: DWORD, + pub lpMinimumApplicationAddress: LPVOID, + pub lpMaximumApplicationAddress: LPVOID, + pub dwActiveProcessorMask: DWORD_PTR, + pub dwNumberOfProcessors: DWORD, + pub dwProcessorType: DWORD, + pub dwAllocationGranularity: DWORD, + pub wProcessorLevel: WORD, + pub wProcessorRevision: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_INFO__bindgen_ty_1 { + pub dwOemId: DWORD, + pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1 { + pub wProcessorArchitecture: WORD, + pub wReserved: WORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_SYSTEM_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOemId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1), + "::", + stringify!(dwOemId) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SYSTEM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwPageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpMinimumApplicationAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(lpMinimumApplicationAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpMaximumApplicationAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(lpMaximumApplicationAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProcessorMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwActiveProcessorMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProcessors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwNumberOfProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwProcessorType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAllocationGranularity) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwAllocationGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorLevel) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(wProcessorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorRevision) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(wProcessorRevision) + ) + ); +} +pub type SYSTEM_INFO = _SYSTEM_INFO; +pub type LPSYSTEM_INFO = *mut _SYSTEM_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORYSTATUSEX { + pub dwLength: DWORD, + pub dwMemoryLoad: DWORD, + pub ullTotalPhys: DWORDLONG, + pub ullAvailPhys: DWORDLONG, + pub ullTotalPageFile: DWORDLONG, + pub ullAvailPageFile: DWORDLONG, + pub ullTotalVirtual: DWORDLONG, + pub ullAvailVirtual: DWORDLONG, + pub ullAvailExtendedVirtual: DWORDLONG, +} +#[test] +fn bindgen_test_layout__MEMORYSTATUSEX() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORYSTATUSEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORYSTATUSEX>(), + 64usize, + concat!("Size of: ", stringify!(_MEMORYSTATUSEX)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORYSTATUSEX>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORYSTATUSEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(dwLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMemoryLoad) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(dwMemoryLoad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalPhys) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailPhys) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalPageFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailPageFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalVirtual) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailVirtual) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailExtendedVirtual) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailExtendedVirtual) + ) + ); +} +pub type MEMORYSTATUSEX = _MEMORYSTATUSEX; +pub type LPMEMORYSTATUSEX = *mut _MEMORYSTATUSEX; +extern "C" { + pub fn GlobalMemoryStatusEx(lpBuffer: LPMEMORYSTATUSEX) -> BOOL; +} +extern "C" { + pub fn GetSystemInfo(lpSystemInfo: LPSYSTEM_INFO); +} +extern "C" { + pub fn GetSystemTime(lpSystemTime: LPSYSTEMTIME); +} +extern "C" { + pub fn GetSystemTimeAsFileTime(lpSystemTimeAsFileTime: LPFILETIME); +} +extern "C" { + pub fn GetLocalTime(lpSystemTime: LPSYSTEMTIME); +} +extern "C" { + pub fn IsUserCetAvailableInEnvironment(UserCetEnvironment: DWORD) -> BOOL; +} +extern "C" { + pub fn GetSystemLeapSecondInformation(Enabled: PBOOL, Flags: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetVersion() -> DWORD; +} +extern "C" { + pub fn SetLocalTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn GetTickCount() -> DWORD; +} +extern "C" { + pub fn GetTickCount64() -> ULONGLONG; +} +extern "C" { + pub fn GetSystemTimeAdjustment( + lpTimeAdjustment: PDWORD, + lpTimeIncrement: PDWORD, + lpTimeAdjustmentDisabled: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemTimeAdjustmentPrecise( + lpTimeAdjustment: PDWORD64, + lpTimeIncrement: PDWORD64, + lpTimeAdjustmentDisabled: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +pub const _COMPUTER_NAME_FORMAT_ComputerNameNetBIOS: _COMPUTER_NAME_FORMAT = 0; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsHostname: _COMPUTER_NAME_FORMAT = 1; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsDomain: _COMPUTER_NAME_FORMAT = 2; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsFullyQualified: _COMPUTER_NAME_FORMAT = 3; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalNetBIOS: _COMPUTER_NAME_FORMAT = 4; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsHostname: _COMPUTER_NAME_FORMAT = 5; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsDomain: _COMPUTER_NAME_FORMAT = 6; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsFullyQualified: _COMPUTER_NAME_FORMAT = 7; +pub const _COMPUTER_NAME_FORMAT_ComputerNameMax: _COMPUTER_NAME_FORMAT = 8; +pub type _COMPUTER_NAME_FORMAT = ::std::os::raw::c_int; +pub use self::_COMPUTER_NAME_FORMAT as COMPUTER_NAME_FORMAT; +extern "C" { + pub fn GetComputerNameExA( + NameType: COMPUTER_NAME_FORMAT, + lpBuffer: LPSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetComputerNameExW( + NameType: COMPUTER_NAME_FORMAT, + lpBuffer: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetComputerNameExW(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetSystemTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn GetVersionExA(lpVersionInformation: LPOSVERSIONINFOA) -> BOOL; +} +extern "C" { + pub fn GetVersionExW(lpVersionInformation: LPOSVERSIONINFOW) -> BOOL; +} +extern "C" { + pub fn GetLogicalProcessorInformation( + Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLogicalProcessorInformationEx( + RelationshipType: LOGICAL_PROCESSOR_RELATIONSHIP, + Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetNativeSystemInfo(lpSystemInfo: LPSYSTEM_INFO); +} +extern "C" { + pub fn GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime: LPFILETIME); +} +extern "C" { + pub fn GetProductInfo( + dwOSMajorVersion: DWORD, + dwOSMinorVersion: DWORD, + dwSpMajorVersion: DWORD, + dwSpMinorVersion: DWORD, + pdwReturnedProductType: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetOsSafeBootMode(Flags: PDWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemFirmwareTables( + FirmwareTableProviderSignature: DWORD, + pFirmwareTableEnumBuffer: PVOID, + BufferSize: DWORD, + ) -> UINT; +} +extern "C" { + pub fn GetSystemFirmwareTable( + FirmwareTableProviderSignature: DWORD, + FirmwareTableID: DWORD, + pFirmwareTableBuffer: PVOID, + BufferSize: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DnsHostnameToComputerNameExW( + Hostname: LPCWSTR, + ComputerName: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPhysicallyInstalledSystemMemory(TotalMemoryInKilobytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn SetComputerNameEx2W( + NameType: COMPUTER_NAME_FORMAT, + Flags: DWORD, + lpBuffer: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemTimeAdjustment(dwTimeAdjustment: DWORD, bTimeAdjustmentDisabled: BOOL) -> BOOL; +} +extern "C" { + pub fn SetSystemTimeAdjustmentPrecise( + dwTimeAdjustment: DWORD64, + bTimeAdjustmentDisabled: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn InstallELAMCertificateInfo(ELAMFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetProcessorSystemCycleTime( + Group: USHORT, + Buffer: PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetOsManufacturingMode(pbEnabled: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetIntegratedDisplaySize(sizeInInches: *mut f64) -> HRESULT; +} +extern "C" { + pub fn SetComputerNameA(lpComputerName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetComputerNameW(lpComputerName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetComputerNameExA(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCSTR) -> BOOL; +} +extern "C" { + pub fn VirtualAlloc( + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualProtect( + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualFree(lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL; +} +extern "C" { + pub fn VirtualQuery( + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T; +} +extern "C" { + pub fn VirtualAllocEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualProtectEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualQueryEx( + hProcess: HANDLE, + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T; +} +extern "C" { + pub fn ReadProcessMemory( + hProcess: HANDLE, + lpBaseAddress: LPCVOID, + lpBuffer: LPVOID, + nSize: SIZE_T, + lpNumberOfBytesRead: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn WriteProcessMemory( + hProcess: HANDLE, + lpBaseAddress: LPVOID, + lpBuffer: LPCVOID, + nSize: SIZE_T, + lpNumberOfBytesWritten: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingW( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenFileMappingW( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn MapViewOfFile( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + ) -> LPVOID; +} +extern "C" { + pub fn MapViewOfFileEx( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + lpBaseAddress: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualFreeEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + dwFreeType: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FlushViewOfFile(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: SIZE_T) -> BOOL; +} +extern "C" { + pub fn UnmapViewOfFile(lpBaseAddress: LPCVOID) -> BOOL; +} +extern "C" { + pub fn GetLargePageMinimum() -> SIZE_T; +} +extern "C" { + pub fn GetProcessWorkingSetSize( + hProcess: HANDLE, + lpMinimumWorkingSetSize: PSIZE_T, + lpMaximumWorkingSetSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessWorkingSetSizeEx( + hProcess: HANDLE, + lpMinimumWorkingSetSize: PSIZE_T, + lpMaximumWorkingSetSize: PSIZE_T, + Flags: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessWorkingSetSize( + hProcess: HANDLE, + dwMinimumWorkingSetSize: SIZE_T, + dwMaximumWorkingSetSize: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessWorkingSetSizeEx( + hProcess: HANDLE, + dwMinimumWorkingSetSize: SIZE_T, + dwMaximumWorkingSetSize: SIZE_T, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualLock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn VirtualUnlock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn GetWriteWatch( + dwFlags: DWORD, + lpBaseAddress: PVOID, + dwRegionSize: SIZE_T, + lpAddresses: *mut PVOID, + lpdwCount: *mut ULONG_PTR, + lpdwGranularity: LPDWORD, + ) -> UINT; +} +extern "C" { + pub fn ResetWriteWatch(lpBaseAddress: LPVOID, dwRegionSize: SIZE_T) -> UINT; +} +pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_LowMemoryResourceNotification: + _MEMORY_RESOURCE_NOTIFICATION_TYPE = 0; +pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_HighMemoryResourceNotification: + _MEMORY_RESOURCE_NOTIFICATION_TYPE = 1; +pub type _MEMORY_RESOURCE_NOTIFICATION_TYPE = ::std::os::raw::c_int; +pub use self::_MEMORY_RESOURCE_NOTIFICATION_TYPE as MEMORY_RESOURCE_NOTIFICATION_TYPE; +extern "C" { + pub fn CreateMemoryResourceNotification( + NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, + ) -> HANDLE; +} +extern "C" { + pub fn QueryMemoryResourceNotification( + ResourceNotificationHandle: HANDLE, + ResourceState: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemFileCacheSize( + lpMinimumFileCacheSize: PSIZE_T, + lpMaximumFileCacheSize: PSIZE_T, + lpFlags: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemFileCacheSize( + MinimumFileCacheSize: SIZE_T, + MaximumFileCacheSize: SIZE_T, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingNumaW( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + nndPreferred: DWORD, + ) -> HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_MEMORY_RANGE_ENTRY { + pub VirtualAddress: PVOID, + pub NumberOfBytes: SIZE_T, +} +#[test] +fn bindgen_test_layout__WIN32_MEMORY_RANGE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_MEMORY_RANGE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_MEMORY_RANGE_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_WIN32_MEMORY_RANGE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_MEMORY_RANGE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_MEMORY_RANGE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_MEMORY_RANGE_ENTRY), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_MEMORY_RANGE_ENTRY), + "::", + stringify!(NumberOfBytes) + ) + ); +} +pub type WIN32_MEMORY_RANGE_ENTRY = _WIN32_MEMORY_RANGE_ENTRY; +pub type PWIN32_MEMORY_RANGE_ENTRY = *mut _WIN32_MEMORY_RANGE_ENTRY; +extern "C" { + pub fn PrefetchVirtualMemory( + hProcess: HANDLE, + NumberOfEntries: ULONG_PTR, + VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingFromApp( + hFile: HANDLE, + SecurityAttributes: PSECURITY_ATTRIBUTES, + PageProtection: ULONG, + MaximumSize: ULONG64, + Name: PCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn MapViewOfFileFromApp( + hFileMappingObject: HANDLE, + DesiredAccess: ULONG, + FileOffset: ULONG64, + NumberOfBytesToMap: SIZE_T, + ) -> PVOID; +} +extern "C" { + pub fn UnmapViewOfFileEx(BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn AllocateUserPhysicalPages( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn FreeUserPhysicalPages( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn MapUserPhysicalPages( + VirtualAddress: PVOID, + NumberOfPages: ULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn AllocateUserPhysicalPagesNuma( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + nndPreferred: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualAllocExNuma( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + nndPreferred: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn GetMemoryErrorHandlingCapabilities(Capabilities: PULONG) -> BOOL; +} +pub type PBAD_MEMORY_CALLBACK_ROUTINE = ::std::option::Option; +extern "C" { + pub fn RegisterBadMemoryNotification(Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> PVOID; +} +extern "C" { + pub fn UnregisterBadMemoryNotification(RegistrationHandle: PVOID) -> BOOL; +} +pub const OFFER_PRIORITY_VmOfferPriorityVeryLow: OFFER_PRIORITY = 1; +pub const OFFER_PRIORITY_VmOfferPriorityLow: OFFER_PRIORITY = 2; +pub const OFFER_PRIORITY_VmOfferPriorityBelowNormal: OFFER_PRIORITY = 3; +pub const OFFER_PRIORITY_VmOfferPriorityNormal: OFFER_PRIORITY = 4; +pub type OFFER_PRIORITY = ::std::os::raw::c_int; +extern "C" { + pub fn OfferVirtualMemory( + VirtualAddress: PVOID, + Size: SIZE_T, + Priority: OFFER_PRIORITY, + ) -> DWORD; +} +extern "C" { + pub fn ReclaimVirtualMemory( + VirtualAddress: *const ::std::os::raw::c_void, + Size: SIZE_T, + ) -> DWORD; +} +extern "C" { + pub fn DiscardVirtualMemory(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD; +} +extern "C" { + pub fn SetProcessValidCallTargets( + hProcess: HANDLE, + VirtualAddress: PVOID, + RegionSize: SIZE_T, + NumberOfOffsets: ULONG, + OffsetInformation: PCFG_CALL_TARGET_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessValidCallTargetsForMappedView( + Process: HANDLE, + VirtualAddress: PVOID, + RegionSize: SIZE_T, + NumberOfOffsets: ULONG, + OffsetInformation: PCFG_CALL_TARGET_INFO, + Section: HANDLE, + ExpectedFileOffset: ULONG64, + ) -> BOOL; +} +extern "C" { + pub fn VirtualAllocFromApp( + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + Protection: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn VirtualProtectFromApp( + Address: PVOID, + Size: SIZE_T, + NewProtection: ULONG, + OldProtection: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn OpenFileMappingFromApp( + DesiredAccess: ULONG, + InheritHandle: BOOL, + Name: PCWSTR, + ) -> HANDLE; +} +pub const WIN32_MEMORY_INFORMATION_CLASS_MemoryRegionInfo: WIN32_MEMORY_INFORMATION_CLASS = 0; +pub type WIN32_MEMORY_INFORMATION_CLASS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct WIN32_MEMORY_REGION_INFORMATION { + pub AllocationBase: PVOID, + pub AllocationProtect: ULONG, + pub __bindgen_anon_1: WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1, + pub RegionSize: SIZE_T, + pub CommitSize: SIZE_T, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1 { + pub Flags: ULONG, + pub __bindgen_anon_1: WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Private(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Private(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedDataFile(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedDataFile(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedImage(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedImage(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedPageFile(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedPageFile(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedPhysical(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedPhysical(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn DirectMapped(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_DirectMapped(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 26u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Private: ULONG, + MappedDataFile: ULONG, + MappedImage: ULONG, + MappedPageFile: ULONG, + MappedPhysical: ULONG, + DirectMapped: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Private: u32 = unsafe { ::std::mem::transmute(Private) }; + Private as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let MappedDataFile: u32 = unsafe { ::std::mem::transmute(MappedDataFile) }; + MappedDataFile as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let MappedImage: u32 = unsafe { ::std::mem::transmute(MappedImage) }; + MappedImage as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let MappedPageFile: u32 = unsafe { ::std::mem::transmute(MappedPageFile) }; + MappedPageFile as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let MappedPhysical: u32 = unsafe { ::std::mem::transmute(MappedPhysical) }; + MappedPhysical as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let DirectMapped: u32 = unsafe { ::std::mem::transmute(DirectMapped) }; + DirectMapped as u64 + }); + __bindgen_bitfield_unit.set(6usize, 26u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(WIN32_MEMORY_REGION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(WIN32_MEMORY_REGION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommitSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(CommitSize) + ) + ); +} +extern "C" { + pub fn QueryVirtualMemoryInformation( + Process: HANDLE, + VirtualAddress: *const ::std::os::raw::c_void, + MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, + MemoryInformation: PVOID, + MemoryInformationSize: SIZE_T, + ReturnSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn MapViewOfFileNuma2( + FileMappingHandle: HANDLE, + ProcessHandle: HANDLE, + Offset: ULONG64, + BaseAddress: PVOID, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + PreferredNode: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn UnmapViewOfFile2(Process: HANDLE, BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn VirtualUnlockEx(Process: HANDLE, Address: LPVOID, Size: SIZE_T) -> BOOL; +} +extern "C" { + pub fn VirtualAlloc2( + Process: HANDLE, + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn MapViewOfFile3( + FileMapping: HANDLE, + Process: HANDLE, + BaseAddress: PVOID, + Offset: ULONG64, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn VirtualAlloc2FromApp( + Process: HANDLE, + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn MapViewOfFile3FromApp( + FileMapping: HANDLE, + Process: HANDLE, + BaseAddress: PVOID, + Offset: ULONG64, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn CreateFileMapping2( + File: HANDLE, + SecurityAttributes: *mut SECURITY_ATTRIBUTES, + DesiredAccess: ULONG, + PageProtection: ULONG, + AllocationAttributes: ULONG, + MaximumSize: ULONG64, + Name: PCWSTR, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> HANDLE; +} +extern "C" { + pub fn AllocateUserPhysicalPages2( + ObjectHandle: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ExtendedParameters: PMEM_EXTENDED_PARAMETER, + ExtendedParameterCount: ULONG, + ) -> BOOL; +} +pub const WIN32_MEMORY_PARTITION_INFORMATION_CLASS_MemoryPartitionInfo: + WIN32_MEMORY_PARTITION_INFORMATION_CLASS = 0; +pub const WIN32_MEMORY_PARTITION_INFORMATION_CLASS_MemoryPartitionDedicatedMemoryInfo: + WIN32_MEMORY_PARTITION_INFORMATION_CLASS = 1; +pub type WIN32_MEMORY_PARTITION_INFORMATION_CLASS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WIN32_MEMORY_PARTITION_INFORMATION { + pub Flags: ULONG, + pub NumaNode: ULONG, + pub Channel: ULONG, + pub NumberOfNumaNodes: ULONG, + pub ResidentAvailablePages: ULONG64, + pub CommittedPages: ULONG64, + pub CommitLimit: ULONG64, + pub PeakCommitment: ULONG64, + pub TotalNumberOfPages: ULONG64, + pub AvailablePages: ULONG64, + pub ZeroPages: ULONG64, + pub FreePages: ULONG64, + pub StandbyPages: ULONG64, + pub Reserved: [ULONG64; 16usize], + pub MaximumCommitLimit: ULONG64, + pub Reserved2: ULONG64, + pub PartitionId: ULONG, +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_PARTITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 240usize, + concat!("Size of: ", stringify!(WIN32_MEMORY_PARTITION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(NumaNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Channel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(Channel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfNumaNodes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(NumberOfNumaNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResidentAvailablePages) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(ResidentAvailablePages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommittedPages) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(CommittedPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommitLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(CommitLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakCommitment) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(PeakCommitment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfPages) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(TotalNumberOfPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AvailablePages) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(AvailablePages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZeroPages) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(ZeroPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreePages) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(FreePages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandbyPages) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(StandbyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumCommitLimit) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(MaximumCommitLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_PARTITION_INFORMATION), + "::", + stringify!(PartitionId) + ) + ); +} +extern "C" { + pub fn OpenDedicatedMemoryPartition( + Partition: HANDLE, + DedicatedMemoryTypeId: ULONG64, + DesiredAccess: ACCESS_MASK, + InheritHandle: BOOL, + ) -> HANDLE; +} +extern "C" { + pub fn QueryPartitionInformation( + Partition: HANDLE, + PartitionInformationClass: WIN32_MEMORY_PARTITION_INFORMATION_CLASS, + PartitionInformation: PVOID, + PartitionInformationLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn IsEnclaveTypeSupported(flEnclaveType: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateEnclave( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + dwInitialCommitment: SIZE_T, + flEnclaveType: DWORD, + lpEnclaveInformation: LPCVOID, + dwInfoLength: DWORD, + lpEnclaveError: LPDWORD, + ) -> LPVOID; +} +extern "C" { + pub fn LoadEnclaveData( + hProcess: HANDLE, + lpAddress: LPVOID, + lpBuffer: LPCVOID, + nSize: SIZE_T, + flProtect: DWORD, + lpPageInformation: LPCVOID, + dwInfoLength: DWORD, + lpNumberOfBytesWritten: PSIZE_T, + lpEnclaveError: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeEnclave( + hProcess: HANDLE, + lpAddress: LPVOID, + lpEnclaveInformation: LPCVOID, + dwInfoLength: DWORD, + lpEnclaveError: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LoadEnclaveImageA(lpEnclaveAddress: LPVOID, lpImageName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn LoadEnclaveImageW(lpEnclaveAddress: LPVOID, lpImageName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CallEnclave( + lpRoutine: LPENCLAVE_ROUTINE, + lpParameter: LPVOID, + fWaitForThread: BOOL, + lpReturnValue: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn TerminateEnclave(lpAddress: LPVOID, fWait: BOOL) -> BOOL; +} +extern "C" { + pub fn DeleteEnclave(lpAddress: LPVOID) -> BOOL; +} +extern "C" { + pub fn QueueUserWorkItem( + Function: LPTHREAD_START_ROUTINE, + Context: PVOID, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterWaitEx(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreateTimerQueue() -> HANDLE; +} +extern "C" { + pub fn CreateTimerQueueTimer( + phNewTimer: PHANDLE, + TimerQueue: HANDLE, + Callback: WAITORTIMERCALLBACK, + Parameter: PVOID, + DueTime: DWORD, + Period: DWORD, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn ChangeTimerQueueTimer( + TimerQueue: HANDLE, + Timer: HANDLE, + DueTime: ULONG, + Period: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueueTimer( + TimerQueue: HANDLE, + Timer: HANDLE, + CompletionEvent: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueue(TimerQueue: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueueEx(TimerQueue: HANDLE, CompletionEvent: HANDLE) -> BOOL; +} +pub type PTP_WIN32_IO_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Instance: PTP_CALLBACK_INSTANCE, + Context: PVOID, + Overlapped: PVOID, + IoResult: ULONG, + NumberOfBytesTransferred: ULONG_PTR, + Io: PTP_IO, + ), +>; +extern "C" { + pub fn CreateThreadpool(reserved: PVOID) -> PTP_POOL; +} +extern "C" { + pub fn SetThreadpoolThreadMaximum(ptpp: PTP_POOL, cthrdMost: DWORD); +} +extern "C" { + pub fn SetThreadpoolThreadMinimum(ptpp: PTP_POOL, cthrdMic: DWORD) -> BOOL; +} +extern "C" { + pub fn SetThreadpoolStackInformation(ptpp: PTP_POOL, ptpsi: PTP_POOL_STACK_INFORMATION) + -> BOOL; +} +extern "C" { + pub fn QueryThreadpoolStackInformation( + ptpp: PTP_POOL, + ptpsi: PTP_POOL_STACK_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CloseThreadpool(ptpp: PTP_POOL); +} +extern "C" { + pub fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP; +} +extern "C" { + pub fn CloseThreadpoolCleanupGroupMembers( + ptpcg: PTP_CLEANUP_GROUP, + fCancelPendingCallbacks: BOOL, + pvCleanupContext: PVOID, + ); +} +extern "C" { + pub fn CloseThreadpoolCleanupGroup(ptpcg: PTP_CLEANUP_GROUP); +} +extern "C" { + pub fn SetEventWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, evt: HANDLE); +} +extern "C" { + pub fn ReleaseSemaphoreWhenCallbackReturns( + pci: PTP_CALLBACK_INSTANCE, + sem: HANDLE, + crel: DWORD, + ); +} +extern "C" { + pub fn ReleaseMutexWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mut_: HANDLE); +} +extern "C" { + pub fn LeaveCriticalSectionWhenCallbackReturns( + pci: PTP_CALLBACK_INSTANCE, + pcs: PCRITICAL_SECTION, + ); +} +extern "C" { + pub fn FreeLibraryWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mod_: HMODULE); +} +extern "C" { + pub fn CallbackMayRunLong(pci: PTP_CALLBACK_INSTANCE) -> BOOL; +} +extern "C" { + pub fn DisassociateCurrentThreadFromCallback(pci: PTP_CALLBACK_INSTANCE); +} +extern "C" { + pub fn TrySubmitThreadpoolCallback( + pfns: PTP_SIMPLE_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> BOOL; +} +extern "C" { + pub fn CreateThreadpoolWork( + pfnwk: PTP_WORK_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_WORK; +} +extern "C" { + pub fn SubmitThreadpoolWork(pwk: PTP_WORK); +} +extern "C" { + pub fn WaitForThreadpoolWorkCallbacks(pwk: PTP_WORK, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolWork(pwk: PTP_WORK); +} +extern "C" { + pub fn CreateThreadpoolTimer( + pfnti: PTP_TIMER_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_TIMER; +} +extern "C" { + pub fn SetThreadpoolTimer( + pti: PTP_TIMER, + pftDueTime: PFILETIME, + msPeriod: DWORD, + msWindowLength: DWORD, + ); +} +extern "C" { + pub fn IsThreadpoolTimerSet(pti: PTP_TIMER) -> BOOL; +} +extern "C" { + pub fn WaitForThreadpoolTimerCallbacks(pti: PTP_TIMER, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolTimer(pti: PTP_TIMER); +} +extern "C" { + pub fn CreateThreadpoolWait( + pfnwa: PTP_WAIT_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_WAIT; +} +extern "C" { + pub fn SetThreadpoolWait(pwa: PTP_WAIT, h: HANDLE, pftTimeout: PFILETIME); +} +extern "C" { + pub fn WaitForThreadpoolWaitCallbacks(pwa: PTP_WAIT, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolWait(pwa: PTP_WAIT); +} +extern "C" { + pub fn CreateThreadpoolIo( + fl: HANDLE, + pfnio: PTP_WIN32_IO_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_IO; +} +extern "C" { + pub fn StartThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn CancelThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn WaitForThreadpoolIoCallbacks(pio: PTP_IO, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn SetThreadpoolTimerEx( + pti: PTP_TIMER, + pftDueTime: PFILETIME, + msPeriod: DWORD, + msWindowLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadpoolWaitEx( + pwa: PTP_WAIT, + h: HANDLE, + pftTimeout: PFILETIME, + Reserved: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn IsProcessInJob(ProcessHandle: HANDLE, JobHandle: HANDLE, Result: PBOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PCWSTR, + pub BaseIoSize: ULONG, + pub ControlFlags: ULONG, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); +} +extern "C" { + pub fn CreateJobObjectW(lpJobAttributes: LPSECURITY_ATTRIBUTES, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn FreeMemoryJobObject(Buffer: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn OpenJobObjectW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn AssignProcessToJobObject(hJob: HANDLE, hProcess: HANDLE) -> BOOL; +} +extern "C" { + pub fn TerminateJobObject(hJob: HANDLE, uExitCode: UINT) -> BOOL; +} +extern "C" { + pub fn SetInformationJobObject( + hJob: HANDLE, + JobObjectInformationClass: JOBOBJECTINFOCLASS, + lpJobObjectInformation: LPVOID, + cbJobObjectInformationLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetIoRateControlInformationJobObject( + hJob: HANDLE, + IoRateControlInfo: *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn QueryInformationJobObject( + hJob: HANDLE, + JobObjectInformationClass: JOBOBJECTINFOCLASS, + lpJobObjectInformation: LPVOID, + cbJobObjectInformationLength: DWORD, + lpReturnLength: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryIoRateControlInformationJobObject( + hJob: HANDLE, + VolumeName: PCWSTR, + InfoBlocks: *mut *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, + InfoBlockCount: *mut ULONG, + ) -> DWORD; +} +extern "C" { + pub fn Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection: BOOLEAN) -> BOOLEAN; +} +extern "C" { + pub fn Wow64DisableWow64FsRedirection(OldValue: *mut PVOID) -> BOOL; +} +extern "C" { + pub fn Wow64RevertWow64FsRedirection(OlValue: PVOID) -> BOOL; +} +extern "C" { + pub fn IsWow64Process(hProcess: HANDLE, Wow64Process: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetSystemWow64DirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWow64DirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn Wow64SetThreadDefaultGuestMachine(Machine: USHORT) -> USHORT; +} +extern "C" { + pub fn IsWow64Process2( + hProcess: HANDLE, + pProcessMachine: *mut USHORT, + pNativeMachine: *mut USHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemWow64Directory2A( + lpBuffer: LPSTR, + uSize: UINT, + ImageFileMachineType: WORD, + ) -> UINT; +} +extern "C" { + pub fn GetSystemWow64Directory2W( + lpBuffer: LPWSTR, + uSize: UINT, + ImageFileMachineType: WORD, + ) -> UINT; +} +extern "C" { + pub fn IsWow64GuestMachineSupported( + WowGuestMachine: USHORT, + MachineIsSupported: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn Wow64GetThreadContext(hThread: HANDLE, lpContext: PWOW64_CONTEXT) -> BOOL; +} +extern "C" { + pub fn Wow64SetThreadContext(hThread: HANDLE, lpContext: *const WOW64_CONTEXT) -> BOOL; +} +extern "C" { + pub fn Wow64SuspendThread(hThread: HANDLE) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMUILANG { + pub NumOfEnumUILang: ULONG, + pub SizeOfEnumUIBuffer: ULONG, + pub pEnumUIBuffer: *mut LANGID, +} +#[test] +fn bindgen_test_layout_tagENUMUILANG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagENUMUILANG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagENUMUILANG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOfEnumUILang) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(NumOfEnumUILang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfEnumUIBuffer) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(SizeOfEnumUIBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnumUIBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(pEnumUIBuffer) + ) + ); +} +pub type ENUMUILANG = tagENUMUILANG; +pub type PENUMUILANG = *mut tagENUMUILANG; +pub type ENUMRESLANGPROCA = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESLANGPROCW = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESNAMEPROCA = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPCSTR, lpName: LPSTR, lParam: LONG_PTR) -> BOOL, +>; +pub type ENUMRESNAMEPROCW = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPWSTR, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESTYPEPROCA = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPSTR, lParam: LONG_PTR) -> BOOL, +>; +pub type ENUMRESTYPEPROCW = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPWSTR, lParam: LONG_PTR) -> BOOL, +>; +extern "C" { + pub fn DisableThreadLibraryCalls(hLibModule: HMODULE) -> BOOL; +} +extern "C" { + pub fn FindResourceExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + ) -> HRSRC; +} +extern "C" { + pub fn FindStringOrdinal( + dwFindStringOrdinalFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + bIgnoreCase: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FreeLibrary(hLibModule: HMODULE) -> BOOL; +} +extern "C" { + pub fn FreeLibraryAndExitThread(hLibModule: HMODULE, dwExitCode: DWORD) -> !; +} +extern "C" { + pub fn FreeResource(hResData: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GetModuleFileNameA(hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetModuleFileNameW(hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetModuleHandleA(lpModuleName: LPCSTR) -> HMODULE; +} +extern "C" { + pub fn GetModuleHandleW(lpModuleName: LPCWSTR) -> HMODULE; +} +pub type PGET_MODULE_HANDLE_EXA = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, lpModuleName: LPCSTR, phModule: *mut HMODULE) -> BOOL, +>; +pub type PGET_MODULE_HANDLE_EXW = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, lpModuleName: LPCWSTR, phModule: *mut HMODULE) -> BOOL, +>; +extern "C" { + pub fn GetModuleHandleExA(dwFlags: DWORD, lpModuleName: LPCSTR, phModule: *mut HMODULE) + -> BOOL; +} +extern "C" { + pub fn GetModuleHandleExW( + dwFlags: DWORD, + lpModuleName: LPCWSTR, + phModule: *mut HMODULE, + ) -> BOOL; +} +extern "C" { + pub fn GetProcAddress(hModule: HMODULE, lpProcName: LPCSTR) -> FARPROC; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REDIRECTION_FUNCTION_DESCRIPTOR { + pub DllName: PCSTR, + pub FunctionName: PCSTR, + pub RedirectionTarget: PVOID, +} +#[test] +fn bindgen_test_layout__REDIRECTION_FUNCTION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_REDIRECTION_FUNCTION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REDIRECTION_FUNCTION_DESCRIPTOR>(), + 24usize, + concat!("Size of: ", stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_REDIRECTION_FUNCTION_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(DllName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(FunctionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RedirectionTarget) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(RedirectionTarget) + ) + ); +} +pub type REDIRECTION_FUNCTION_DESCRIPTOR = _REDIRECTION_FUNCTION_DESCRIPTOR; +pub type PREDIRECTION_FUNCTION_DESCRIPTOR = *mut _REDIRECTION_FUNCTION_DESCRIPTOR; +pub type PCREDIRECTION_FUNCTION_DESCRIPTOR = *const REDIRECTION_FUNCTION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REDIRECTION_DESCRIPTOR { + pub Version: ULONG, + pub FunctionCount: ULONG, + pub Redirections: PCREDIRECTION_FUNCTION_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__REDIRECTION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_REDIRECTION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REDIRECTION_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_REDIRECTION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_REDIRECTION_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_REDIRECTION_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(FunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Redirections) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(Redirections) + ) + ); +} +pub type REDIRECTION_DESCRIPTOR = _REDIRECTION_DESCRIPTOR; +pub type PREDIRECTION_DESCRIPTOR = *mut _REDIRECTION_DESCRIPTOR; +pub type PCREDIRECTION_DESCRIPTOR = *const REDIRECTION_DESCRIPTOR; +extern "C" { + pub fn LoadLibraryExA(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; +} +extern "C" { + pub fn LoadLibraryExW(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; +} +extern "C" { + pub fn LoadResource(hModule: HMODULE, hResInfo: HRSRC) -> HGLOBAL; +} +extern "C" { + pub fn LoadStringA( + hInstance: HINSTANCE, + uID: UINT, + lpBuffer: LPSTR, + cchBufferMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LoadStringW( + hInstance: HINSTANCE, + uID: UINT, + lpBuffer: LPWSTR, + cchBufferMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LockResource(hResData: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn SizeofResource(hModule: HMODULE, hResInfo: HRSRC) -> DWORD; +} +pub type DLL_DIRECTORY_COOKIE = PVOID; +pub type PDLL_DIRECTORY_COOKIE = *mut PVOID; +extern "C" { + pub fn AddDllDirectory(NewDirectory: PCWSTR) -> DLL_DIRECTORY_COOKIE; +} +extern "C" { + pub fn RemoveDllDirectory(Cookie: DLL_DIRECTORY_COOKIE) -> BOOL; +} +extern "C" { + pub fn SetDefaultDllDirectories(DirectoryFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesExA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesExA( + hModule: HMODULE, + lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesExA( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesExW( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn FindResourceW(hModule: HMODULE, lpName: LPCWSTR, lpType: LPCWSTR) -> HRSRC; +} +extern "C" { + pub fn LoadLibraryA(lpLibFileName: LPCSTR) -> HMODULE; +} +extern "C" { + pub fn LoadLibraryW(lpLibFileName: LPCWSTR) -> HMODULE; +} +extern "C" { + pub fn EnumResourceNamesW( + hModule: HMODULE, + lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesA( + hModule: HMODULE, + lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheck( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPWSTR, + ObjectName: LPWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByType( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultList( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedAce( + pAcl: PACL, + dwAceRevision: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedAce( + pAcl: PACL, + dwAceRevision: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAce( + pAcl: PACL, + dwAceRevision: DWORD, + dwStartingAceIndex: DWORD, + pAceList: LPVOID, + nAceListLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessAce( + pAcl: PACL, + dwAceRevision: DWORD, + dwAccessMask: DWORD, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + dwAccessMask: DWORD, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddMandatoryAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + MandatoryPolicy: DWORD, + pLabelSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddResourceAttributeAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + pAttributeInfo: PCLAIM_SECURITY_ATTRIBUTES_INFORMATION, + pReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddScopedPolicyIDAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AdjustTokenGroups( + TokenHandle: HANDLE, + ResetToDefault: BOOL, + NewState: PTOKEN_GROUPS, + BufferLength: DWORD, + PreviousState: PTOKEN_GROUPS, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AdjustTokenPrivileges( + TokenHandle: HANDLE, + DisableAllPrivileges: BOOL, + NewState: PTOKEN_PRIVILEGES, + BufferLength: DWORD, + PreviousState: PTOKEN_PRIVILEGES, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AllocateAndInitializeSid( + pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: BYTE, + nSubAuthority0: DWORD, + nSubAuthority1: DWORD, + nSubAuthority2: DWORD, + nSubAuthority3: DWORD, + nSubAuthority4: DWORD, + nSubAuthority5: DWORD, + nSubAuthority6: DWORD, + nSubAuthority7: DWORD, + pSid: *mut PSID, + ) -> BOOL; +} +extern "C" { + pub fn AllocateLocallyUniqueId(Luid: PLUID) -> BOOL; +} +extern "C" { + pub fn AreAllAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; +} +extern "C" { + pub fn AreAnyAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; +} +extern "C" { + pub fn CheckTokenMembership(TokenHandle: HANDLE, SidToCheck: PSID, IsMember: PBOOL) -> BOOL; +} +extern "C" { + pub fn CheckTokenCapability( + TokenHandle: HANDLE, + CapabilitySidToCheck: PSID, + HasCapability: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetAppContainerAce( + Acl: PACL, + StartingAceIndex: DWORD, + AppContainerAce: *mut PVOID, + AppContainerAceIndex: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CheckTokenMembershipEx( + TokenHandle: HANDLE, + SidToCheck: PSID, + Flags: DWORD, + IsMember: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ConvertToAutoInheritPrivateObjectSecurity( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CurrentSecurityDescriptor: PSECURITY_DESCRIPTOR, + NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectType: *mut GUID, + IsDirectoryObject: BOOLEAN, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CopySid(nDestinationSidLength: DWORD, pDestinationSid: PSID, pSourceSid: PSID) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurity( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + IsDirectoryObject: BOOL, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurityEx( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectType: *mut GUID, + IsContainerObject: BOOL, + AutoInheritFlags: ULONG, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurityWithMultipleInheritance( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectTypes: *mut *mut GUID, + GuidCount: ULONG, + IsContainerObject: BOOL, + AutoInheritFlags: ULONG, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreateRestrictedToken( + ExistingTokenHandle: HANDLE, + Flags: DWORD, + DisableSidCount: DWORD, + SidsToDisable: PSID_AND_ATTRIBUTES, + DeletePrivilegeCount: DWORD, + PrivilegesToDelete: PLUID_AND_ATTRIBUTES, + RestrictedSidCount: DWORD, + SidsToRestrict: PSID_AND_ATTRIBUTES, + NewTokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateWellKnownSid( + WellKnownSidType: WELL_KNOWN_SID_TYPE, + DomainSid: PSID, + pSid: PSID, + cbSid: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EqualDomainSid(pSid1: PSID, pSid2: PSID, pfEqual: *mut BOOL) -> BOOL; +} +extern "C" { + pub fn DeleteAce(pAcl: PACL, dwAceIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn DestroyPrivateObjectSecurity(ObjectDescriptor: *mut PSECURITY_DESCRIPTOR) -> BOOL; +} +extern "C" { + pub fn DuplicateToken( + ExistingTokenHandle: HANDLE, + ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + DuplicateTokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn DuplicateTokenEx( + hExistingToken: HANDLE, + dwDesiredAccess: DWORD, + lpTokenAttributes: LPSECURITY_ATTRIBUTES, + ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + TokenType: TOKEN_TYPE, + phNewToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn EqualPrefixSid(pSid1: PSID, pSid2: PSID) -> BOOL; +} +extern "C" { + pub fn EqualSid(pSid1: PSID, pSid2: PSID) -> BOOL; +} +extern "C" { + pub fn FindFirstFreeAce(pAcl: PACL, pAce: *mut LPVOID) -> BOOL; +} +extern "C" { + pub fn FreeSid(pSid: PSID) -> PVOID; +} +extern "C" { + pub fn GetAce(pAcl: PACL, dwAceIndex: DWORD, pAce: *mut LPVOID) -> BOOL; +} +extern "C" { + pub fn GetAclInformation( + pAcl: PACL, + pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSecurityW( + lpFileName: LPCWSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetKernelObjectSecurity( + Handle: HANDLE, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLengthSid(pSid: PSID) -> DWORD; +} +extern "C" { + pub fn GetPrivateObjectSecurity( + ObjectDescriptor: PSECURITY_DESCRIPTOR, + SecurityInformation: SECURITY_INFORMATION, + ResultantDescriptor: PSECURITY_DESCRIPTOR, + DescriptorLength: DWORD, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorControl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pControl: PSECURITY_DESCRIPTOR_CONTROL, + lpdwRevision: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorDacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbDaclPresent: LPBOOL, + pDacl: *mut PACL, + lpbDaclDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorGroup( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: *mut PSID, + lpbGroupDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorLength(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> DWORD; +} +extern "C" { + pub fn GetSecurityDescriptorOwner( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: *mut PSID, + lpbOwnerDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorRMControl( + SecurityDescriptor: PSECURITY_DESCRIPTOR, + RMControl: PUCHAR, + ) -> DWORD; +} +extern "C" { + pub fn GetSecurityDescriptorSacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbSaclPresent: LPBOOL, + pSacl: *mut PACL, + lpbSaclDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSidIdentifierAuthority(pSid: PSID) -> PSID_IDENTIFIER_AUTHORITY; +} +extern "C" { + pub fn GetSidLengthRequired(nSubAuthorityCount: UCHAR) -> DWORD; +} +extern "C" { + pub fn GetSidSubAuthority(pSid: PSID, nSubAuthority: DWORD) -> PDWORD; +} +extern "C" { + pub fn GetSidSubAuthorityCount(pSid: PSID) -> PUCHAR; +} +extern "C" { + pub fn GetTokenInformation( + TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetWindowsAccountDomainSid( + pSid: PSID, + pDomainSid: PSID, + cbDomainSid: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateAnonymousToken(ThreadHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn ImpersonateLoggedOnUser(hToken: HANDLE) -> BOOL; +} +extern "C" { + pub fn ImpersonateSelf(ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL) -> BOOL; +} +extern "C" { + pub fn InitializeAcl(pAcl: PACL, nAclLength: DWORD, dwAclRevision: DWORD) -> BOOL; +} +extern "C" { + pub fn InitializeSecurityDescriptor( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + dwRevision: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeSid( + Sid: PSID, + pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: BYTE, + ) -> BOOL; +} +extern "C" { + pub fn IsTokenRestricted(TokenHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn IsValidAcl(pAcl: PACL) -> BOOL; +} +extern "C" { + pub fn IsValidSecurityDescriptor(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> BOOL; +} +extern "C" { + pub fn IsValidSid(pSid: PSID) -> BOOL; +} +extern "C" { + pub fn IsWellKnownSid(pSid: PSID, WellKnownSidType: WELL_KNOWN_SID_TYPE) -> BOOL; +} +extern "C" { + pub fn MakeAbsoluteSD( + pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwAbsoluteSecurityDescriptorSize: LPDWORD, + pDacl: PACL, + lpdwDaclSize: LPDWORD, + pSacl: PACL, + lpdwSaclSize: LPDWORD, + pOwner: PSID, + lpdwOwnerSize: LPDWORD, + pPrimaryGroup: PSID, + lpdwPrimaryGroupSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn MakeSelfRelativeSD( + pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwBufferLength: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn MapGenericMask(AccessMask: PDWORD, GenericMapping: PGENERIC_MAPPING); +} +extern "C" { + pub fn ObjectCloseAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectDeleteAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectOpenAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPWSTR, + ObjectName: LPWSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GrantedAccess: DWORD, + Privileges: PPRIVILEGE_SET, + ObjectCreation: BOOL, + AccessGranted: BOOL, + GenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectPrivilegeAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegeCheck( + ClientToken: HANDLE, + RequiredPrivileges: PPRIVILEGE_SET, + pfResult: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegedServiceAuditAlarmW( + SubsystemName: LPCWSTR, + ServiceName: LPCWSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn QuerySecurityAccessMask( + SecurityInformation: SECURITY_INFORMATION, + DesiredAccess: LPDWORD, + ); +} +extern "C" { + pub fn RevertToSelf() -> BOOL; +} +extern "C" { + pub fn SetAclInformation( + pAcl: PACL, + pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn SetFileSecurityW( + lpFileName: LPCWSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetKernelObjectSecurity( + Handle: HANDLE, + SecurityInformation: SECURITY_INFORMATION, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetPrivateObjectSecurity( + SecurityInformation: SECURITY_INFORMATION, + ModificationDescriptor: PSECURITY_DESCRIPTOR, + ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + GenericMapping: PGENERIC_MAPPING, + Token: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetPrivateObjectSecurityEx( + SecurityInformation: SECURITY_INFORMATION, + ModificationDescriptor: PSECURITY_DESCRIPTOR, + ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + AutoInheritFlags: ULONG, + GenericMapping: PGENERIC_MAPPING, + Token: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityAccessMask(SecurityInformation: SECURITY_INFORMATION, DesiredAccess: LPDWORD); +} +extern "C" { + pub fn SetSecurityDescriptorControl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ControlBitsOfInterest: SECURITY_DESCRIPTOR_CONTROL, + ControlBitsToSet: SECURITY_DESCRIPTOR_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorDacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bDaclPresent: BOOL, + pDacl: PACL, + bDaclDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorGroup( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: PSID, + bGroupDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorOwner( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: PSID, + bOwnerDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorRMControl( + SecurityDescriptor: PSECURITY_DESCRIPTOR, + RMControl: PUCHAR, + ) -> DWORD; +} +extern "C" { + pub fn SetSecurityDescriptorSacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bSaclPresent: BOOL, + pSacl: PACL, + bSaclDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetTokenInformation( + TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetCachedSigningLevel( + SourceFiles: PHANDLE, + SourceFileCount: ULONG, + Flags: ULONG, + TargetFile: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetCachedSigningLevel( + File: HANDLE, + Flags: PULONG, + SigningLevel: PULONG, + Thumbprint: PUCHAR, + ThumbprintSize: PULONG, + ThumbprintAlgorithm: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn CveEventWrite(CveId: PCWSTR, AdditionalDetails: PCWSTR) -> LONG; +} +extern "C" { + pub fn DeriveCapabilitySidsFromName( + CapName: LPCWSTR, + CapabilityGroupSids: *mut *mut PSID, + CapabilityGroupSidCount: *mut DWORD, + CapabilitySids: *mut *mut PSID, + CapabilitySidCount: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateNamespaceW( + lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, + lpBoundaryDescriptor: LPVOID, + lpAliasPrefix: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenPrivateNamespaceW(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn ClosePrivateNamespace(Handle: HANDLE, Flags: ULONG) -> BOOLEAN; +} +extern "C" { + pub fn CreateBoundaryDescriptorW(Name: LPCWSTR, Flags: ULONG) -> HANDLE; +} +extern "C" { + pub fn AddSIDToBoundaryDescriptor(BoundaryDescriptor: *mut HANDLE, RequiredSid: PSID) -> BOOL; +} +extern "C" { + pub fn DeleteBoundaryDescriptor(BoundaryDescriptor: HANDLE); +} +extern "C" { + pub fn GetNumaHighestNodeNumber(HighestNodeNumber: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeProcessorMaskEx(Node: USHORT, ProcessorMask: PGROUP_AFFINITY) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeProcessorMask2( + NodeNumber: USHORT, + ProcessorMasks: PGROUP_AFFINITY, + ProcessorMaskCount: USHORT, + RequiredMaskCount: PUSHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetNumaProximityNodeEx(ProximityId: ULONG, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetProcessGroupAffinity( + hProcess: HANDLE, + GroupCount: PUSHORT, + GroupArray: PUSHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadGroupAffinity(hThread: HANDLE, GroupAffinity: PGROUP_AFFINITY) -> BOOL; +} +extern "C" { + pub fn SetThreadGroupAffinity( + hThread: HANDLE, + GroupAffinity: *const GROUP_AFFINITY, + PreviousGroupAffinity: PGROUP_AFFINITY, + ) -> BOOL; +} +extern "C" { + pub fn GetAppContainerNamedObjectPath( + Token: HANDLE, + AppContainerSid: PSID, + ObjectPathLength: ULONG, + ObjectPath: LPWSTR, + ReturnLength: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn QueryThreadCycleTime(ThreadHandle: HANDLE, CycleTime: PULONG64) -> BOOL; +} +extern "C" { + pub fn QueryProcessCycleTime(ProcessHandle: HANDLE, CycleTime: PULONG64) -> BOOL; +} +extern "C" { + pub fn QueryIdleProcessorCycleTime( + BufferLength: PULONG, + ProcessorIdleCycleTime: PULONG64, + ) -> BOOL; +} +extern "C" { + pub fn QueryIdleProcessorCycleTimeEx( + Group: USHORT, + BufferLength: PULONG, + ProcessorIdleCycleTime: PULONG64, + ) -> BOOL; +} +extern "C" { + pub fn QueryInterruptTimePrecise(lpInterruptTimePrecise: PULONGLONG); +} +extern "C" { + pub fn QueryUnbiasedInterruptTimePrecise(lpUnbiasedInterruptTimePrecise: PULONGLONG); +} +extern "C" { + pub fn QueryInterruptTime(lpInterruptTime: PULONGLONG); +} +extern "C" { + pub fn QueryUnbiasedInterruptTime(UnbiasedTime: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn QueryAuxiliaryCounterFrequency(lpAuxiliaryCounterFrequency: PULONGLONG) -> HRESULT; +} +extern "C" { + pub fn ConvertAuxiliaryCounterToPerformanceCounter( + ullAuxiliaryCounterValue: ULONGLONG, + lpPerformanceCounterValue: PULONGLONG, + lpConversionError: PULONGLONG, + ) -> HRESULT; +} +extern "C" { + pub fn ConvertPerformanceCounterToAuxiliaryCounter( + ullPerformanceCounterValue: ULONGLONG, + lpAuxiliaryCounterValue: PULONGLONG, + lpConversionError: PULONGLONG, + ) -> HRESULT; +} +pub type PFIBER_START_ROUTINE = + ::std::option::Option; +pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE; +pub type PFIBER_CALLOUT_ROUTINE = + ::std::option::Option LPVOID>; +pub type LPLDT_ENTRY = LPVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMPROP { + pub wPacketLength: WORD, + pub wPacketVersion: WORD, + pub dwServiceMask: DWORD, + pub dwReserved1: DWORD, + pub dwMaxTxQueue: DWORD, + pub dwMaxRxQueue: DWORD, + pub dwMaxBaud: DWORD, + pub dwProvSubType: DWORD, + pub dwProvCapabilities: DWORD, + pub dwSettableParams: DWORD, + pub dwSettableBaud: DWORD, + pub wSettableData: WORD, + pub wSettableStopParity: WORD, + pub dwCurrentTxQueue: DWORD, + pub dwCurrentRxQueue: DWORD, + pub dwProvSpec1: DWORD, + pub dwProvSpec2: DWORD, + pub wcProvChar: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__COMMPROP() { + const UNINIT: ::std::mem::MaybeUninit<_COMMPROP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMPROP>(), + 64usize, + concat!("Size of: ", stringify!(_COMMPROP)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMPROP>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMPROP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPacketLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wPacketLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPacketVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wPacketVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwServiceMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxTxQueue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxTxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxRxQueue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxRxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxBaud) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxBaud) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSubType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvCapabilities) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSettableParams) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwSettableParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSettableBaud) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwSettableBaud) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSettableData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wSettableData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSettableStopParity) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wSettableStopParity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentTxQueue) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwCurrentTxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentRxQueue) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwCurrentRxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSpec1) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSpec1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSpec2) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSpec2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcProvChar) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wcProvChar) + ) + ); +} +pub type COMMPROP = _COMMPROP; +pub type LPCOMMPROP = *mut _COMMPROP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMSTAT { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub cbInQue: DWORD, + pub cbOutQue: DWORD, +} +#[test] +fn bindgen_test_layout__COMSTAT() { + const UNINIT: ::std::mem::MaybeUninit<_COMSTAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMSTAT>(), + 12usize, + concat!("Size of: ", stringify!(_COMSTAT)) + ); + assert_eq!( + ::std::mem::align_of::<_COMSTAT>(), + 4usize, + concat!("Alignment of ", stringify!(_COMSTAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbInQue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMSTAT), + "::", + stringify!(cbInQue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOutQue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMSTAT), + "::", + stringify!(cbOutQue) + ) + ); +} +impl _COMSTAT { + #[inline] + pub fn fCtsHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fCtsHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDsrHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDsrHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRlsdHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fRlsdHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fXoffHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fXoffHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fXoffSent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_fXoffSent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn fEof(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_fEof(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn fTxim(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fTxim(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 25u8) as u32) } + } + #[inline] + pub fn set_fReserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 25u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fCtsHold: DWORD, + fDsrHold: DWORD, + fRlsdHold: DWORD, + fXoffHold: DWORD, + fXoffSent: DWORD, + fEof: DWORD, + fTxim: DWORD, + fReserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fCtsHold: u32 = unsafe { ::std::mem::transmute(fCtsHold) }; + fCtsHold as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fDsrHold: u32 = unsafe { ::std::mem::transmute(fDsrHold) }; + fDsrHold as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fRlsdHold: u32 = unsafe { ::std::mem::transmute(fRlsdHold) }; + fRlsdHold as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fXoffHold: u32 = unsafe { ::std::mem::transmute(fXoffHold) }; + fXoffHold as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let fXoffSent: u32 = unsafe { ::std::mem::transmute(fXoffSent) }; + fXoffSent as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let fEof: u32 = unsafe { ::std::mem::transmute(fEof) }; + fEof as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fTxim: u32 = unsafe { ::std::mem::transmute(fTxim) }; + fTxim as u64 + }); + __bindgen_bitfield_unit.set(7usize, 25u8, { + let fReserved: u32 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type COMSTAT = _COMSTAT; +pub type LPCOMSTAT = *mut _COMSTAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DCB { + pub DCBlength: DWORD, + pub BaudRate: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub wReserved: WORD, + pub XonLim: WORD, + pub XoffLim: WORD, + pub ByteSize: BYTE, + pub Parity: BYTE, + pub StopBits: BYTE, + pub XonChar: ::std::os::raw::c_char, + pub XoffChar: ::std::os::raw::c_char, + pub ErrorChar: ::std::os::raw::c_char, + pub EofChar: ::std::os::raw::c_char, + pub EvtChar: ::std::os::raw::c_char, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout__DCB() { + const UNINIT: ::std::mem::MaybeUninit<_DCB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DCB>(), + 28usize, + concat!("Size of: ", stringify!(_DCB)) + ); + assert_eq!( + ::std::mem::align_of::<_DCB>(), + 4usize, + concat!("Alignment of ", stringify!(_DCB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DCBlength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(DCBlength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaudRate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(BaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XonLim) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XonLim) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XoffLim) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XoffLim) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteSize) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(ByteSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parity) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(Parity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StopBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(StopBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XonChar) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XonChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XoffChar) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XoffChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorChar) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(ErrorChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EofChar) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(EofChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EvtChar) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(EvtChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(wReserved1) + ) + ); +} +impl _DCB { + #[inline] + pub fn fBinary(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBinary(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fParity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fParity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutxCtsFlow(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutxCtsFlow(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutxDsrFlow(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutxDsrFlow(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDtrControl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) } + } + #[inline] + pub fn set_fDtrControl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 2u8, val as u64) + } + } + #[inline] + pub fn fDsrSensitivity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDsrSensitivity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fTXContinueOnXoff(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_fTXContinueOnXoff(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutX(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutX(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn fInX(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInX(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn fErrorChar(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_fErrorChar(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn fNull(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_fNull(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRtsControl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 2u8) as u32) } + } + #[inline] + pub fn set_fRtsControl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 2u8, val as u64) + } + } + #[inline] + pub fn fAbortOnError(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_fAbortOnError(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDummy2(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 17u8) as u32) } + } + #[inline] + pub fn set_fDummy2(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 17u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fBinary: DWORD, + fParity: DWORD, + fOutxCtsFlow: DWORD, + fOutxDsrFlow: DWORD, + fDtrControl: DWORD, + fDsrSensitivity: DWORD, + fTXContinueOnXoff: DWORD, + fOutX: DWORD, + fInX: DWORD, + fErrorChar: DWORD, + fNull: DWORD, + fRtsControl: DWORD, + fAbortOnError: DWORD, + fDummy2: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fBinary: u32 = unsafe { ::std::mem::transmute(fBinary) }; + fBinary as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fParity: u32 = unsafe { ::std::mem::transmute(fParity) }; + fParity as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fOutxCtsFlow: u32 = unsafe { ::std::mem::transmute(fOutxCtsFlow) }; + fOutxCtsFlow as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fOutxDsrFlow: u32 = unsafe { ::std::mem::transmute(fOutxDsrFlow) }; + fOutxDsrFlow as u64 + }); + __bindgen_bitfield_unit.set(4usize, 2u8, { + let fDtrControl: u32 = unsafe { ::std::mem::transmute(fDtrControl) }; + fDtrControl as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fDsrSensitivity: u32 = unsafe { ::std::mem::transmute(fDsrSensitivity) }; + fDsrSensitivity as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let fTXContinueOnXoff: u32 = unsafe { ::std::mem::transmute(fTXContinueOnXoff) }; + fTXContinueOnXoff as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let fOutX: u32 = unsafe { ::std::mem::transmute(fOutX) }; + fOutX as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let fInX: u32 = unsafe { ::std::mem::transmute(fInX) }; + fInX as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let fErrorChar: u32 = unsafe { ::std::mem::transmute(fErrorChar) }; + fErrorChar as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fNull: u32 = unsafe { ::std::mem::transmute(fNull) }; + fNull as u64 + }); + __bindgen_bitfield_unit.set(12usize, 2u8, { + let fRtsControl: u32 = unsafe { ::std::mem::transmute(fRtsControl) }; + fRtsControl as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fAbortOnError: u32 = unsafe { ::std::mem::transmute(fAbortOnError) }; + fAbortOnError as u64 + }); + __bindgen_bitfield_unit.set(15usize, 17u8, { + let fDummy2: u32 = unsafe { ::std::mem::transmute(fDummy2) }; + fDummy2 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type DCB = _DCB; +pub type LPDCB = *mut _DCB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMTIMEOUTS { + pub ReadIntervalTimeout: DWORD, + pub ReadTotalTimeoutMultiplier: DWORD, + pub ReadTotalTimeoutConstant: DWORD, + pub WriteTotalTimeoutMultiplier: DWORD, + pub WriteTotalTimeoutConstant: DWORD, +} +#[test] +fn bindgen_test_layout__COMMTIMEOUTS() { + const UNINIT: ::std::mem::MaybeUninit<_COMMTIMEOUTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMTIMEOUTS>(), + 20usize, + concat!("Size of: ", stringify!(_COMMTIMEOUTS)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMTIMEOUTS>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMTIMEOUTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadIntervalTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadIntervalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTotalTimeoutMultiplier) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadTotalTimeoutMultiplier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTotalTimeoutConstant) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadTotalTimeoutConstant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTotalTimeoutMultiplier) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(WriteTotalTimeoutMultiplier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTotalTimeoutConstant) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(WriteTotalTimeoutConstant) + ) + ); +} +pub type COMMTIMEOUTS = _COMMTIMEOUTS; +pub type LPCOMMTIMEOUTS = *mut _COMMTIMEOUTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMCONFIG { + pub dwSize: DWORD, + pub wVersion: WORD, + pub wReserved: WORD, + pub dcb: DCB, + pub dwProviderSubType: DWORD, + pub dwProviderOffset: DWORD, + pub dwProviderSize: DWORD, + pub wcProviderData: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__COMMCONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_COMMCONFIG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMCONFIG>(), + 52usize, + concat!("Size of: ", stringify!(_COMMCONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMCONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMCONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dcb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderSubType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcProviderData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wcProviderData) + ) + ); +} +pub type COMMCONFIG = _COMMCONFIG; +pub type LPCOMMCONFIG = *mut _COMMCONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORYSTATUS { + pub dwLength: DWORD, + pub dwMemoryLoad: DWORD, + pub dwTotalPhys: SIZE_T, + pub dwAvailPhys: SIZE_T, + pub dwTotalPageFile: SIZE_T, + pub dwAvailPageFile: SIZE_T, + pub dwTotalVirtual: SIZE_T, + pub dwAvailVirtual: SIZE_T, +} +#[test] +fn bindgen_test_layout__MEMORYSTATUS() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORYSTATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORYSTATUS>(), + 56usize, + concat!("Size of: ", stringify!(_MEMORYSTATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORYSTATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORYSTATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMemoryLoad) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwMemoryLoad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalPhys) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailPhys) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalPageFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailPageFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalVirtual) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailVirtual) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailVirtual) + ) + ); +} +pub type MEMORYSTATUS = _MEMORYSTATUS; +pub type LPMEMORYSTATUS = *mut _MEMORYSTATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JIT_DEBUG_INFO { + pub dwSize: DWORD, + pub dwProcessorArchitecture: DWORD, + pub dwThreadID: DWORD, + pub dwReserved0: DWORD, + pub lpExceptionAddress: ULONG64, + pub lpExceptionRecord: ULONG64, + pub lpContextRecord: ULONG64, +} +#[test] +fn bindgen_test_layout__JIT_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_JIT_DEBUG_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JIT_DEBUG_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_JIT_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_JIT_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_JIT_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorArchitecture) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwThreadID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpExceptionRecord) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpContextRecord) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpContextRecord) + ) + ); +} +pub type JIT_DEBUG_INFO = _JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO = *mut _JIT_DEBUG_INFO; +pub type JIT_DEBUG_INFO32 = JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO32 = *mut JIT_DEBUG_INFO; +pub type JIT_DEBUG_INFO64 = JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO64 = *mut JIT_DEBUG_INFO; +pub type LPEXCEPTION_RECORD = PEXCEPTION_RECORD; +pub type LPEXCEPTION_POINTERS = PEXCEPTION_POINTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFSTRUCT { + pub cBytes: BYTE, + pub fFixedDisk: BYTE, + pub nErrCode: WORD, + pub Reserved1: WORD, + pub Reserved2: WORD, + pub szPathName: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OFSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_OFSTRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFSTRUCT>(), + 136usize, + concat!("Size of: ", stringify!(_OFSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_OFSTRUCT>(), + 2usize, + concat!("Alignment of ", stringify!(_OFSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(cBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFixedDisk) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(fFixedDisk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nErrCode) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(nErrCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPathName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(szPathName) + ) + ); +} +pub type OFSTRUCT = _OFSTRUCT; +pub type LPOFSTRUCT = *mut _OFSTRUCT; +pub type POFSTRUCT = *mut _OFSTRUCT; +extern "C" { + pub fn WinMain( + hInstance: HINSTANCE, + hPrevInstance: HINSTANCE, + lpCmdLine: LPSTR, + nShowCmd: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wWinMain( + hInstance: HINSTANCE, + hPrevInstance: HINSTANCE, + lpCmdLine: LPWSTR, + nShowCmd: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GlobalAlloc(uFlags: UINT, dwBytes: SIZE_T) -> HGLOBAL; +} +extern "C" { + pub fn GlobalReAlloc(hMem: HGLOBAL, dwBytes: SIZE_T, uFlags: UINT) -> HGLOBAL; +} +extern "C" { + pub fn GlobalSize(hMem: HGLOBAL) -> SIZE_T; +} +extern "C" { + pub fn GlobalUnlock(hMem: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GlobalLock(hMem: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn GlobalFlags(hMem: HGLOBAL) -> UINT; +} +extern "C" { + pub fn GlobalHandle(pMem: LPCVOID) -> HGLOBAL; +} +extern "C" { + pub fn GlobalFree(hMem: HGLOBAL) -> HGLOBAL; +} +extern "C" { + pub fn GlobalCompact(dwMinFree: DWORD) -> SIZE_T; +} +extern "C" { + pub fn GlobalFix(hMem: HGLOBAL); +} +extern "C" { + pub fn GlobalUnfix(hMem: HGLOBAL); +} +extern "C" { + pub fn GlobalWire(hMem: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn GlobalUnWire(hMem: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GlobalMemoryStatus(lpBuffer: LPMEMORYSTATUS); +} +extern "C" { + pub fn LocalAlloc(uFlags: UINT, uBytes: SIZE_T) -> HLOCAL; +} +extern "C" { + pub fn LocalReAlloc(hMem: HLOCAL, uBytes: SIZE_T, uFlags: UINT) -> HLOCAL; +} +extern "C" { + pub fn LocalLock(hMem: HLOCAL) -> LPVOID; +} +extern "C" { + pub fn LocalHandle(pMem: LPCVOID) -> HLOCAL; +} +extern "C" { + pub fn LocalUnlock(hMem: HLOCAL) -> BOOL; +} +extern "C" { + pub fn LocalSize(hMem: HLOCAL) -> SIZE_T; +} +extern "C" { + pub fn LocalFlags(hMem: HLOCAL) -> UINT; +} +extern "C" { + pub fn LocalFree(hMem: HLOCAL) -> HLOCAL; +} +extern "C" { + pub fn LocalShrink(hMem: HLOCAL, cbNewSize: UINT) -> SIZE_T; +} +extern "C" { + pub fn LocalCompact(uMinFree: UINT) -> SIZE_T; +} +extern "C" { + pub fn GetBinaryTypeA(lpApplicationName: LPCSTR, lpBinaryType: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetBinaryTypeW(lpApplicationName: LPCWSTR, lpBinaryType: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetShortPathNameA(lpszLongPath: LPCSTR, lpszShortPath: LPSTR, cchBuffer: DWORD) + -> DWORD; +} +extern "C" { + pub fn GetLongPathNameTransactedA( + lpszShortPath: LPCSTR, + lpszLongPath: LPSTR, + cchBuffer: DWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameTransactedW( + lpszShortPath: LPCWSTR, + lpszLongPath: LPWSTR, + cchBuffer: DWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetProcessAffinityMask( + hProcess: HANDLE, + lpProcessAffinityMask: PDWORD_PTR, + lpSystemAffinityMask: PDWORD_PTR, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessAffinityMask(hProcess: HANDLE, dwProcessAffinityMask: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn GetProcessIoCounters(hProcess: HANDLE, lpIoCounters: PIO_COUNTERS) -> BOOL; +} +extern "C" { + pub fn FatalExit(ExitCode: ::std::os::raw::c_int); +} +extern "C" { + pub fn SetEnvironmentStringsA(NewEnvironment: LPCH) -> BOOL; +} +extern "C" { + pub fn SwitchToFiber(lpFiber: LPVOID); +} +extern "C" { + pub fn DeleteFiber(lpFiber: LPVOID); +} +extern "C" { + pub fn ConvertFiberToThread() -> BOOL; +} +extern "C" { + pub fn CreateFiberEx( + dwStackCommitSize: SIZE_T, + dwStackReserveSize: SIZE_T, + dwFlags: DWORD, + lpStartAddress: LPFIBER_START_ROUTINE, + lpParameter: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn ConvertThreadToFiberEx(lpParameter: LPVOID, dwFlags: DWORD) -> LPVOID; +} +extern "C" { + pub fn CreateFiber( + dwStackSize: SIZE_T, + lpStartAddress: LPFIBER_START_ROUTINE, + lpParameter: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn ConvertThreadToFiber(lpParameter: LPVOID) -> LPVOID; +} +pub type PUMS_CONTEXT = *mut ::std::os::raw::c_void; +pub type PUMS_COMPLETION_LIST = *mut ::std::os::raw::c_void; +pub use self::_RTL_UMS_THREAD_INFO_CLASS as UMS_THREAD_INFO_CLASS; +pub type PUMS_THREAD_INFO_CLASS = *mut _RTL_UMS_THREAD_INFO_CLASS; +pub use self::_RTL_UMS_SCHEDULER_REASON as UMS_SCHEDULER_REASON; +pub type PUMS_SCHEDULER_ENTRY_POINT = PRTL_UMS_SCHEDULER_ENTRY_POINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_SCHEDULER_STARTUP_INFO { + pub UmsVersion: ULONG, + pub CompletionList: PUMS_COMPLETION_LIST, + pub SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT, + pub SchedulerParam: PVOID, +} +#[test] +fn bindgen_test_layout__UMS_SCHEDULER_STARTUP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SCHEDULER_STARTUP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SCHEDULER_STARTUP_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_UMS_SCHEDULER_STARTUP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SCHEDULER_STARTUP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_UMS_SCHEDULER_STARTUP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(UmsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(CompletionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulerProc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(SchedulerProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulerParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(SchedulerParam) + ) + ); +} +pub type UMS_SCHEDULER_STARTUP_INFO = _UMS_SCHEDULER_STARTUP_INFO; +pub type PUMS_SCHEDULER_STARTUP_INFO = *mut _UMS_SCHEDULER_STARTUP_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _UMS_SYSTEM_THREAD_INFORMATION { + pub UmsVersion: ULONG, + pub __bindgen_anon_1: _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1 { + pub __bindgen_anon_1: _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub ThreadUmsFlags: ULONG, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn IsUmsSchedulerThread(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsUmsSchedulerThread(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsUmsWorkerThread(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsUmsWorkerThread(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + IsUmsSchedulerThread: ULONG, + IsUmsWorkerThread: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let IsUmsSchedulerThread: u32 = unsafe { ::std::mem::transmute(IsUmsSchedulerThread) }; + IsUmsSchedulerThread as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let IsUmsWorkerThread: u32 = unsafe { ::std::mem::transmute(IsUmsWorkerThread) }; + IsUmsWorkerThread as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThreadUmsFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1), + "::", + stringify!(ThreadUmsFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SYSTEM_THREAD_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_UMS_SYSTEM_THREAD_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_UMS_SYSTEM_THREAD_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION), + "::", + stringify!(UmsVersion) + ) + ); +} +pub type UMS_SYSTEM_THREAD_INFORMATION = _UMS_SYSTEM_THREAD_INFORMATION; +pub type PUMS_SYSTEM_THREAD_INFORMATION = *mut _UMS_SYSTEM_THREAD_INFORMATION; +extern "C" { + pub fn CreateUmsCompletionList(UmsCompletionList: *mut PUMS_COMPLETION_LIST) -> BOOL; +} +extern "C" { + pub fn DequeueUmsCompletionListItems( + UmsCompletionList: PUMS_COMPLETION_LIST, + WaitTimeOut: DWORD, + UmsThreadList: *mut PUMS_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn GetUmsCompletionListEvent( + UmsCompletionList: PUMS_COMPLETION_LIST, + UmsCompletionEvent: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn ExecuteUmsThread(UmsThread: PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn UmsThreadYield(SchedulerParam: PVOID) -> BOOL; +} +extern "C" { + pub fn DeleteUmsCompletionList(UmsCompletionList: PUMS_COMPLETION_LIST) -> BOOL; +} +extern "C" { + pub fn GetCurrentUmsThread() -> PUMS_CONTEXT; +} +extern "C" { + pub fn GetNextUmsListItem(UmsContext: PUMS_CONTEXT) -> PUMS_CONTEXT; +} +extern "C" { + pub fn QueryUmsThreadInformation( + UmsThread: PUMS_CONTEXT, + UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, + UmsThreadInformation: PVOID, + UmsThreadInformationLength: ULONG, + ReturnLength: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetUmsThreadInformation( + UmsThread: PUMS_CONTEXT, + UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, + UmsThreadInformation: PVOID, + UmsThreadInformationLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteUmsThreadContext(UmsThread: PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CreateUmsThreadContext(lpUmsThread: *mut PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn EnterUmsSchedulingMode(SchedulerStartupInfo: PUMS_SCHEDULER_STARTUP_INFO) -> BOOL; +} +extern "C" { + pub fn GetUmsSystemThreadInformation( + ThreadHandle: HANDLE, + SystemThreadInfo: PUMS_SYSTEM_THREAD_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadAffinityMask(hThread: HANDLE, dwThreadAffinityMask: DWORD_PTR) -> DWORD_PTR; +} +extern "C" { + pub fn SetProcessDEPPolicy(dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessDEPPolicy(hProcess: HANDLE, lpFlags: LPDWORD, lpPermanent: PBOOL) -> BOOL; +} +extern "C" { + pub fn RequestWakeupLatency(latency: LATENCY_TIME) -> BOOL; +} +extern "C" { + pub fn IsSystemResumeAutomatic() -> BOOL; +} +extern "C" { + pub fn GetThreadSelectorEntry( + hThread: HANDLE, + dwSelector: DWORD, + lpSelectorEntry: LPLDT_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadExecutionState(esFlags: EXECUTION_STATE) -> EXECUTION_STATE; +} +pub type POWER_REQUEST_CONTEXT = REASON_CONTEXT; +pub type PPOWER_REQUEST_CONTEXT = *mut REASON_CONTEXT; +pub type LPPOWER_REQUEST_CONTEXT = *mut REASON_CONTEXT; +extern "C" { + pub fn PowerCreateRequest(Context: PREASON_CONTEXT) -> HANDLE; +} +extern "C" { + pub fn PowerSetRequest(PowerRequest: HANDLE, RequestType: POWER_REQUEST_TYPE) -> BOOL; +} +extern "C" { + pub fn PowerClearRequest(PowerRequest: HANDLE, RequestType: POWER_REQUEST_TYPE) -> BOOL; +} +extern "C" { + pub fn SetFileCompletionNotificationModes(FileHandle: HANDLE, Flags: UCHAR) -> BOOL; +} +extern "C" { + pub fn Wow64GetThreadSelectorEntry( + hThread: HANDLE, + dwSelector: DWORD, + lpSelectorEntry: PWOW64_LDT_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn DebugSetProcessKillOnExit(KillOnExit: BOOL) -> BOOL; +} +extern "C" { + pub fn DebugBreakProcess(Process: HANDLE) -> BOOL; +} +extern "C" { + pub fn PulseEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn GlobalDeleteAtom(nAtom: ATOM) -> ATOM; +} +extern "C" { + pub fn InitAtomTable(nSize: DWORD) -> BOOL; +} +extern "C" { + pub fn DeleteAtom(nAtom: ATOM) -> ATOM; +} +extern "C" { + pub fn SetHandleCount(uNumber: UINT) -> UINT; +} +extern "C" { + pub fn RequestDeviceWakeup(hDevice: HANDLE) -> BOOL; +} +extern "C" { + pub fn CancelDeviceWakeupRequest(hDevice: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetDevicePowerState(hDevice: HANDLE, pfOn: *mut BOOL) -> BOOL; +} +extern "C" { + pub fn SetMessageWaitingIndicator(hMsgIndicator: HANDLE, ulMsgCount: ULONG) -> BOOL; +} +extern "C" { + pub fn SetFileShortNameA(hFile: HANDLE, lpShortName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetFileShortNameW(hFile: HANDLE, lpShortName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn LoadModule(lpModuleName: LPCSTR, lpParameterBlock: LPVOID) -> DWORD; +} +extern "C" { + pub fn WinExec(lpCmdLine: LPCSTR, uCmdShow: UINT) -> UINT; +} +extern "C" { + pub fn ClearCommBreak(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn ClearCommError(hFile: HANDLE, lpErrors: LPDWORD, lpStat: LPCOMSTAT) -> BOOL; +} +extern "C" { + pub fn SetupComm(hFile: HANDLE, dwInQueue: DWORD, dwOutQueue: DWORD) -> BOOL; +} +extern "C" { + pub fn EscapeCommFunction(hFile: HANDLE, dwFunc: DWORD) -> BOOL; +} +extern "C" { + pub fn GetCommConfig(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommMask(hFile: HANDLE, lpEvtMask: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommProperties(hFile: HANDLE, lpCommProp: LPCOMMPROP) -> BOOL; +} +extern "C" { + pub fn GetCommModemStatus(hFile: HANDLE, lpModemStat: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommState(hFile: HANDLE, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn GetCommTimeouts(hFile: HANDLE, lpCommTimeouts: LPCOMMTIMEOUTS) -> BOOL; +} +extern "C" { + pub fn PurgeComm(hFile: HANDLE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommBreak(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetCommConfig(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommMask(hFile: HANDLE, dwEvtMask: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommState(hFile: HANDLE, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn SetCommTimeouts(hFile: HANDLE, lpCommTimeouts: LPCOMMTIMEOUTS) -> BOOL; +} +extern "C" { + pub fn TransmitCommChar(hFile: HANDLE, cChar: ::std::os::raw::c_char) -> BOOL; +} +extern "C" { + pub fn WaitCommEvent(hFile: HANDLE, lpEvtMask: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn OpenCommPort( + uPortNumber: ULONG, + dwDesiredAccess: DWORD, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCommPorts( + lpPortNumbers: PULONG, + uPortNumbersCount: ULONG, + puPortNumbersFound: PULONG, + ) -> ULONG; +} +extern "C" { + pub fn SetTapePosition( + hDevice: HANDLE, + dwPositionMethod: DWORD, + dwPartition: DWORD, + dwOffsetLow: DWORD, + dwOffsetHigh: DWORD, + bImmediate: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn GetTapePosition( + hDevice: HANDLE, + dwPositionType: DWORD, + lpdwPartition: LPDWORD, + lpdwOffsetLow: LPDWORD, + lpdwOffsetHigh: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn PrepareTape(hDevice: HANDLE, dwOperation: DWORD, bImmediate: BOOL) -> DWORD; +} +extern "C" { + pub fn EraseTape(hDevice: HANDLE, dwEraseType: DWORD, bImmediate: BOOL) -> DWORD; +} +extern "C" { + pub fn CreateTapePartition( + hDevice: HANDLE, + dwPartitionMethod: DWORD, + dwCount: DWORD, + dwSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WriteTapemark( + hDevice: HANDLE, + dwTapemarkType: DWORD, + dwTapemarkCount: DWORD, + bImmediate: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn GetTapeStatus(hDevice: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetTapeParameters( + hDevice: HANDLE, + dwOperation: DWORD, + lpdwSize: LPDWORD, + lpTapeInformation: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn SetTapeParameters( + hDevice: HANDLE, + dwOperation: DWORD, + lpTapeInformation: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn MulDiv( + nNumber: ::std::os::raw::c_int, + nNumerator: ::std::os::raw::c_int, + nDenominator: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyAlwaysOff: _DEP_SYSTEM_POLICY_TYPE = 0; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyAlwaysOn: _DEP_SYSTEM_POLICY_TYPE = 1; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyOptIn: _DEP_SYSTEM_POLICY_TYPE = 2; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyOptOut: _DEP_SYSTEM_POLICY_TYPE = 3; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPTotalPolicyCount: _DEP_SYSTEM_POLICY_TYPE = 4; +pub type _DEP_SYSTEM_POLICY_TYPE = ::std::os::raw::c_int; +pub use self::_DEP_SYSTEM_POLICY_TYPE as DEP_SYSTEM_POLICY_TYPE; +extern "C" { + pub fn GetSystemDEPPolicy() -> DEP_SYSTEM_POLICY_TYPE; +} +extern "C" { + pub fn GetSystemRegistryQuota(pdwQuotaAllowed: PDWORD, pdwQuotaUsed: PDWORD) -> BOOL; +} +extern "C" { + pub fn FileTimeToDosDateTime( + lpFileTime: *const FILETIME, + lpFatDate: LPWORD, + lpFatTime: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn DosDateTimeToFileTime(wFatDate: WORD, wFatTime: WORD, lpFileTime: LPFILETIME) -> BOOL; +} +extern "C" { + pub fn FormatMessageA( + dwFlags: DWORD, + lpSource: LPCVOID, + dwMessageId: DWORD, + dwLanguageId: DWORD, + lpBuffer: LPSTR, + nSize: DWORD, + Arguments: *mut va_list, + ) -> DWORD; +} +extern "C" { + pub fn FormatMessageW( + dwFlags: DWORD, + lpSource: LPCVOID, + dwMessageId: DWORD, + dwLanguageId: DWORD, + lpBuffer: LPWSTR, + nSize: DWORD, + Arguments: *mut va_list, + ) -> DWORD; +} +extern "C" { + pub fn CreateMailslotA( + lpName: LPCSTR, + nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMailslotW( + lpName: LPCWSTR, + nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn GetMailslotInfo( + hMailslot: HANDLE, + lpMaxMessageSize: LPDWORD, + lpNextSize: LPDWORD, + lpMessageCount: LPDWORD, + lpReadTimeout: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetMailslotInfo(hMailslot: HANDLE, lReadTimeout: DWORD) -> BOOL; +} +extern "C" { + pub fn EncryptFileA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn EncryptFileW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DecryptFileA(lpFileName: LPCSTR, dwReserved: DWORD) -> BOOL; +} +extern "C" { + pub fn DecryptFileW(lpFileName: LPCWSTR, dwReserved: DWORD) -> BOOL; +} +extern "C" { + pub fn FileEncryptionStatusA(lpFileName: LPCSTR, lpStatus: LPDWORD) -> BOOL; +} +extern "C" { + pub fn FileEncryptionStatusW(lpFileName: LPCWSTR, lpStatus: LPDWORD) -> BOOL; +} +pub type PFE_EXPORT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pbData: PBYTE, pvCallbackContext: PVOID, ulLength: ULONG) -> DWORD, +>; +pub type PFE_IMPORT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pbData: PBYTE, pvCallbackContext: PVOID, ulLength: PULONG) -> DWORD, +>; +extern "C" { + pub fn OpenEncryptedFileRawA( + lpFileName: LPCSTR, + ulFlags: ULONG, + pvContext: *mut PVOID, + ) -> DWORD; +} +extern "C" { + pub fn OpenEncryptedFileRawW( + lpFileName: LPCWSTR, + ulFlags: ULONG, + pvContext: *mut PVOID, + ) -> DWORD; +} +extern "C" { + pub fn ReadEncryptedFileRaw( + pfExportCallback: PFE_EXPORT_FUNC, + pvCallbackContext: PVOID, + pvContext: PVOID, + ) -> DWORD; +} +extern "C" { + pub fn WriteEncryptedFileRaw( + pfImportCallback: PFE_IMPORT_FUNC, + pvCallbackContext: PVOID, + pvContext: PVOID, + ) -> DWORD; +} +extern "C" { + pub fn CloseEncryptedFileRaw(pvContext: PVOID); +} +extern "C" { + pub fn lstrcmpA(lpString1: LPCSTR, lpString2: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpW(lpString1: LPCWSTR, lpString2: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpiA(lpString1: LPCSTR, lpString2: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpiW(lpString1: LPCWSTR, lpString2: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcpynA( + lpString1: LPSTR, + lpString2: LPCSTR, + iMaxLength: ::std::os::raw::c_int, + ) -> LPSTR; +} +extern "C" { + pub fn lstrcpynW( + lpString1: LPWSTR, + lpString2: LPCWSTR, + iMaxLength: ::std::os::raw::c_int, + ) -> LPWSTR; +} +extern "C" { + pub fn lstrcpyA(lpString1: LPSTR, lpString2: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn lstrcpyW(lpString1: LPWSTR, lpString2: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn lstrcatA(lpString1: LPSTR, lpString2: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn lstrcatW(lpString1: LPWSTR, lpString2: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn lstrlenA(lpString: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrlenW(lpString: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OpenFile(lpFileName: LPCSTR, lpReOpenBuff: LPOFSTRUCT, uStyle: UINT) -> HFILE; +} +extern "C" { + pub fn _lopen(lpPathName: LPCSTR, iReadWrite: ::std::os::raw::c_int) -> HFILE; +} +extern "C" { + pub fn _lcreat(lpPathName: LPCSTR, iAttribute: ::std::os::raw::c_int) -> HFILE; +} +extern "C" { + pub fn _lread(hFile: HFILE, lpBuffer: LPVOID, uBytes: UINT) -> UINT; +} +extern "C" { + pub fn _lwrite(hFile: HFILE, lpBuffer: LPCCH, uBytes: UINT) -> UINT; +} +extern "C" { + pub fn _hread( + hFile: HFILE, + lpBuffer: LPVOID, + lBytes: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _hwrite( + hFile: HFILE, + lpBuffer: LPCCH, + lBytes: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _lclose(hFile: HFILE) -> HFILE; +} +extern "C" { + pub fn _llseek(hFile: HFILE, lOffset: LONG, iOrigin: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn IsTextUnicode( + lpv: *const ::std::os::raw::c_void, + iSize: ::std::os::raw::c_int, + lpiResult: LPINT, + ) -> BOOL; +} +extern "C" { + pub fn BackupRead( + hFile: HANDLE, + lpBuffer: LPBYTE, + nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, + bAbort: BOOL, + bProcessSecurity: BOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn BackupSeek( + hFile: HANDLE, + dwLowBytesToSeek: DWORD, + dwHighBytesToSeek: DWORD, + lpdwLowByteSeeked: LPDWORD, + lpdwHighByteSeeked: LPDWORD, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn BackupWrite( + hFile: HANDLE, + lpBuffer: LPBYTE, + nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, + bAbort: BOOL, + bProcessSecurity: BOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIN32_STREAM_ID { + pub dwStreamId: DWORD, + pub dwStreamAttributes: DWORD, + pub Size: LARGE_INTEGER, + pub dwStreamNameSize: DWORD, + pub cStreamName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__WIN32_STREAM_ID() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_STREAM_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_STREAM_ID>(), + 24usize, + concat!("Size of: ", stringify!(_WIN32_STREAM_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_STREAM_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_STREAM_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamAttributes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNameSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStreamName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(cStreamName) + ) + ); +} +pub type WIN32_STREAM_ID = _WIN32_STREAM_ID; +pub type LPWIN32_STREAM_ID = *mut _WIN32_STREAM_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOEXA { + pub StartupInfo: STARTUPINFOA, + pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, +} +#[test] +fn bindgen_test_layout__STARTUPINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOEXA>(), + 112usize, + concat!("Size of: ", stringify!(_STARTUPINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartupInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXA), + "::", + stringify!(StartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAttributeList) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXA), + "::", + stringify!(lpAttributeList) + ) + ); +} +pub type STARTUPINFOEXA = _STARTUPINFOEXA; +pub type LPSTARTUPINFOEXA = *mut _STARTUPINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOEXW { + pub StartupInfo: STARTUPINFOW, + pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, +} +#[test] +fn bindgen_test_layout__STARTUPINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOEXW>(), + 112usize, + concat!("Size of: ", stringify!(_STARTUPINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartupInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXW), + "::", + stringify!(StartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAttributeList) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXW), + "::", + stringify!(lpAttributeList) + ) + ); +} +pub type STARTUPINFOEXW = _STARTUPINFOEXW; +pub type LPSTARTUPINFOEXW = *mut _STARTUPINFOEXW; +pub type STARTUPINFOEX = STARTUPINFOEXA; +pub type LPSTARTUPINFOEX = LPSTARTUPINFOEXA; +extern "C" { + pub fn OpenMutexA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreA( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenSemaphoreA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerA( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + lpTimerName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenWaitableTimerA( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpTimerName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreExA( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerExA( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + lpTimerName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileMappingA( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileMappingNumaA( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCSTR, + nndPreferred: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn OpenFileMappingA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) + -> HANDLE; +} +extern "C" { + pub fn GetLogicalDriveStringsA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn LoadPackagedLibrary(lpwLibFileName: LPCWSTR, Reserved: DWORD) -> HMODULE; +} +extern "C" { + pub fn QueryFullProcessImageNameA( + hProcess: HANDLE, + dwFlags: DWORD, + lpExeName: LPSTR, + lpdwSize: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryFullProcessImageNameW( + hProcess: HANDLE, + dwFlags: DWORD, + lpExeName: LPWSTR, + lpdwSize: PDWORD, + ) -> BOOL; +} +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeParentProcess: _PROC_THREAD_ATTRIBUTE_NUM = + 0; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeHandleList: _PROC_THREAD_ATTRIBUTE_NUM = 2; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeGroupAffinity: _PROC_THREAD_ATTRIBUTE_NUM = + 3; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributePreferredNode: _PROC_THREAD_ATTRIBUTE_NUM = + 4; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeIdealProcessor: _PROC_THREAD_ATTRIBUTE_NUM = + 5; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeUmsThread: _PROC_THREAD_ATTRIBUTE_NUM = 6; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeMitigationPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 7; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeSecurityCapabilities: + _PROC_THREAD_ATTRIBUTE_NUM = 9; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeProtectionLevel: + _PROC_THREAD_ATTRIBUTE_NUM = 11; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeJobList: _PROC_THREAD_ATTRIBUTE_NUM = 13; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeChildProcessPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 14; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeAllApplicationPackagesPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 15; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeWin32kFilter: _PROC_THREAD_ATTRIBUTE_NUM = + 16; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeSafeOpenPromptOriginClaim: + _PROC_THREAD_ATTRIBUTE_NUM = 17; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeDesktopAppPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 18; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributePseudoConsole: _PROC_THREAD_ATTRIBUTE_NUM = + 22; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeMitigationAuditPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 24; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeMachineType: _PROC_THREAD_ATTRIBUTE_NUM = + 25; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeComponentFilter: + _PROC_THREAD_ATTRIBUTE_NUM = 26; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeEnableOptionalXStateFeatures: + _PROC_THREAD_ATTRIBUTE_NUM = 27; +pub type _PROC_THREAD_ATTRIBUTE_NUM = ::std::os::raw::c_int; +pub use self::_PROC_THREAD_ATTRIBUTE_NUM as PROC_THREAD_ATTRIBUTE_NUM; +extern "C" { + pub fn GetStartupInfoA(lpStartupInfo: LPSTARTUPINFOA); +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pBuffer: PVOID, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pBuffer: PVOID, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableExA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pBuffer: PVOID, + nSize: DWORD, + pdwAttribubutes: PDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableExW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pBuffer: PVOID, + nSize: DWORD, + pdwAttribubutes: PDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pValue: PVOID, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pValue: PVOID, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableExA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pValue: PVOID, + nSize: DWORD, + dwAttributes: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableExW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pValue: PVOID, + nSize: DWORD, + dwAttributes: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFirmwareType(FirmwareType: PFIRMWARE_TYPE) -> BOOL; +} +extern "C" { + pub fn IsNativeVhdBoot(NativeVhdBoot: PBOOL) -> BOOL; +} +extern "C" { + pub fn FindResourceA(hModule: HMODULE, lpName: LPCSTR, lpType: LPCSTR) -> HRSRC; +} +extern "C" { + pub fn FindResourceExA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + ) -> HRSRC; +} +extern "C" { + pub fn EnumResourceTypesA( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesW( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn BeginUpdateResourceA(pFileName: LPCSTR, bDeleteExistingResources: BOOL) -> HANDLE; +} +extern "C" { + pub fn BeginUpdateResourceW(pFileName: LPCWSTR, bDeleteExistingResources: BOOL) -> HANDLE; +} +extern "C" { + pub fn UpdateResourceA( + hUpdate: HANDLE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + lpData: LPVOID, + cb: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn UpdateResourceW( + hUpdate: HANDLE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + lpData: LPVOID, + cb: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EndUpdateResourceA(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; +} +extern "C" { + pub fn EndUpdateResourceW(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; +} +extern "C" { + pub fn GlobalAddAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomExA(lpString: LPCSTR, Flags: DWORD) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomExW(lpString: LPCWSTR, Flags: DWORD) -> ATOM; +} +extern "C" { + pub fn GlobalFindAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn GlobalFindAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GlobalGetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GlobalGetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn AddAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn AddAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn FindAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn FindAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetProfileIntA(lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: INT) -> UINT; +} +extern "C" { + pub fn GetProfileIntW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: INT) -> UINT; +} +extern "C" { + pub fn GetProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpDefault: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WriteProfileStringA(lpAppName: LPCSTR, lpKeyName: LPCSTR, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn WriteProfileStringW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetProfileSectionA(lpAppName: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetProfileSectionW(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn WriteProfileSectionA(lpAppName: LPCSTR, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn WriteProfileSectionW(lpAppName: LPCWSTR, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileIntA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + nDefault: INT, + lpFileName: LPCSTR, + ) -> UINT; +} +extern "C" { + pub fn GetPrivateProfileIntW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + nDefault: INT, + lpFileName: LPCWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetPrivateProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpDefault: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WritePrivateProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpString: LPCSTR, + lpFileName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpString: LPCWSTR, + lpFileName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileSectionA( + lpAppName: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileSectionW( + lpAppName: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WritePrivateProfileSectionA( + lpAppName: LPCSTR, + lpString: LPCSTR, + lpFileName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileSectionW( + lpAppName: LPCWSTR, + lpString: LPCWSTR, + lpFileName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileSectionNamesA( + lpszReturnBuffer: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileSectionNamesW( + lpszReturnBuffer: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileStructA( + lpszSection: LPCSTR, + lpszKey: LPCSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileStructW( + lpszSection: LPCWSTR, + lpszKey: LPCWSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStructA( + lpszSection: LPCSTR, + lpszKey: LPCSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStructW( + lpszSection: LPCWSTR, + lpszKey: LPCWSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCWSTR, + ) -> BOOL; +} +pub type PGET_SYSTEM_WOW64_DIRECTORY_A = + ::std::option::Option UINT>; +pub type PGET_SYSTEM_WOW64_DIRECTORY_W = + ::std::option::Option UINT>; +extern "C" { + pub fn SetDllDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetDllDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetDllDirectoryA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetDllDirectoryW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn SetSearchPathMode(Flags: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryExA( + lpTemplateDirectory: LPCSTR, + lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryExW( + lpTemplateDirectory: LPCWSTR, + lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryTransactedA( + lpTemplateDirectory: LPCSTR, + lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryTransactedW( + lpTemplateDirectory: LPCWSTR, + lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryTransactedA(lpPathName: LPCSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryTransactedW(lpPathName: LPCWSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetFullPathNameTransactedA( + lpFileName: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetFullPathNameTransactedW( + lpFileName: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DefineDosDeviceA(dwFlags: DWORD, lpDeviceName: LPCSTR, lpTargetPath: LPCSTR) -> BOOL; +} +extern "C" { + pub fn QueryDosDeviceA(lpDeviceName: LPCSTR, lpTargetPath: LPSTR, ucchMax: DWORD) -> DWORD; +} +extern "C" { + pub fn CreateFileTransactedA( + lpFileName: LPCSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + hTransaction: HANDLE, + pusMiniVersion: PUSHORT, + lpExtendedParameter: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileTransactedW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + hTransaction: HANDLE, + pusMiniVersion: PUSHORT, + lpExtendedParameter: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn ReOpenFile( + hOriginalFile: HANDLE, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn SetFileAttributesTransactedA( + lpFileName: LPCSTR, + dwFileAttributes: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesTransactedW( + lpFileName: LPCWSTR, + dwFileAttributes: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesTransactedA( + lpFileName: LPCSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesTransactedW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetCompressedFileSizeTransactedA( + lpFileName: LPCSTR, + lpFileSizeHigh: LPDWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetCompressedFileSizeTransactedW( + lpFileName: LPCWSTR, + lpFileSizeHigh: LPDWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DeleteFileTransactedA(lpFileName: LPCSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeleteFileTransactedW(lpFileName: LPCWSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn CheckNameLegalDOS8Dot3A( + lpName: LPCSTR, + lpOemName: LPSTR, + OemNameSize: DWORD, + pbNameContainsSpaces: PBOOL, + pbNameLegal: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn CheckNameLegalDOS8Dot3W( + lpName: LPCWSTR, + lpOemName: LPSTR, + OemNameSize: DWORD, + pbNameContainsSpaces: PBOOL, + pbNameLegal: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstFileTransactedA( + lpFileName: LPCSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileTransactedW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CopyFileA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +pub type LPPROGRESS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + TotalFileSize: LARGE_INTEGER, + TotalBytesTransferred: LARGE_INTEGER, + StreamSize: LARGE_INTEGER, + StreamBytesTransferred: LARGE_INTEGER, + dwStreamNumber: DWORD, + dwCallbackReason: DWORD, + hSourceFile: HANDLE, + hDestinationFile: HANDLE, + lpData: LPVOID, + ) -> DWORD, +>; +extern "C" { + pub fn CopyFileExA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileExW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileTransactedA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileTransactedW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_NONE: _COPYFILE2_MESSAGE_TYPE = 0; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_STARTED: _COPYFILE2_MESSAGE_TYPE = 1; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_FINISHED: _COPYFILE2_MESSAGE_TYPE = 2; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_STARTED: _COPYFILE2_MESSAGE_TYPE = 3; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_FINISHED: _COPYFILE2_MESSAGE_TYPE = 4; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_POLL_CONTINUE: _COPYFILE2_MESSAGE_TYPE = 5; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_ERROR: _COPYFILE2_MESSAGE_TYPE = 6; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_MAX: _COPYFILE2_MESSAGE_TYPE = 7; +pub type _COPYFILE2_MESSAGE_TYPE = ::std::os::raw::c_int; +pub use self::_COPYFILE2_MESSAGE_TYPE as COPYFILE2_MESSAGE_TYPE; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CONTINUE: _COPYFILE2_MESSAGE_ACTION = 0; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CANCEL: _COPYFILE2_MESSAGE_ACTION = 1; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_STOP: _COPYFILE2_MESSAGE_ACTION = 2; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_QUIET: _COPYFILE2_MESSAGE_ACTION = 3; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_PAUSE: _COPYFILE2_MESSAGE_ACTION = 4; +pub type _COPYFILE2_MESSAGE_ACTION = ::std::os::raw::c_int; +pub use self::_COPYFILE2_MESSAGE_ACTION as COPYFILE2_MESSAGE_ACTION; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NONE: _COPYFILE2_COPY_PHASE = 0; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_SOURCE: _COPYFILE2_COPY_PHASE = 1; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_DEST: _COPYFILE2_COPY_PHASE = 2; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_READ_SOURCE: _COPYFILE2_COPY_PHASE = 3; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_WRITE_DESTINATION: _COPYFILE2_COPY_PHASE = 4; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_SERVER_COPY: _COPYFILE2_COPY_PHASE = 5; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NAMEGRAFT_COPY: _COPYFILE2_COPY_PHASE = 6; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_MAX: _COPYFILE2_COPY_PHASE = 7; +pub type _COPYFILE2_COPY_PHASE = ::std::os::raw::c_int; +pub use self::_COPYFILE2_COPY_PHASE as COPYFILE2_COPY_PHASE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE { + pub Type: COPYFILE2_MESSAGE_TYPE, + pub dwPadding: DWORD, + pub Info: COPYFILE2_MESSAGE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union COPYFILE2_MESSAGE__bindgen_ty_1 { + pub ChunkStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1, + pub ChunkFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2, + pub StreamStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3, + pub StreamFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4, + pub PollContinue: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5, + pub Error: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliChunkSize: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliTotalFileSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2 { + pub dwStreamNumber: DWORD, + pub dwFlags: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliChunkSize: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliStreamSize: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(uliTotalFileSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5 { + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6 { + pub CopyPhase: COPYFILE2_COPY_PHASE, + pub dwStreamNumber: DWORD, + pub hrFailure: HRESULT, + pub dwReserved: DWORD, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyPhase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(CopyPhase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hrFailure) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(hrFailure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkStarted) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(ChunkStarted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkFinished) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(ChunkFinished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamStarted) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(StreamStarted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamFinished) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(StreamFinished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PollContinue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(PollContinue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Error) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(Error) + ) + ); +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(COPYFILE2_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPadding) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(dwPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Info) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(Info) + ) + ); +} +pub type PCOPYFILE2_PROGRESS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + pMessage: *const COPYFILE2_MESSAGE, + pvCallbackContext: PVOID, + ) -> COPYFILE2_MESSAGE_ACTION, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct COPYFILE2_EXTENDED_PARAMETERS { + pub dwSize: DWORD, + pub dwCopyFlags: DWORD, + pub pfCancel: *mut BOOL, + pub pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE, + pub pvCallbackContext: PVOID, +} +#[test] +fn bindgen_test_layout_COPYFILE2_EXTENDED_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCopyFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwCopyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfCancel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pfCancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProgressRoutine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pProgressRoutine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCallbackContext) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pvCallbackContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct COPYFILE2_EXTENDED_PARAMETERS_V2 { + pub dwSize: DWORD, + pub dwCopyFlags: DWORD, + pub pfCancel: *mut BOOL, + pub pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE, + pub pvCallbackContext: PVOID, + pub dwCopyFlagsV2: DWORD, + pub ioDesiredSize: ULONG, + pub ioDesiredRate: ULONG, + pub reserved: [PVOID; 8usize], +} +#[test] +fn bindgen_test_layout_COPYFILE2_EXTENDED_PARAMETERS_V2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCopyFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(dwCopyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfCancel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(pfCancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProgressRoutine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(pProgressRoutine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCallbackContext) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(pvCallbackContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCopyFlagsV2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(dwCopyFlagsV2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioDesiredSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(ioDesiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioDesiredRate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(ioDesiredRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS_V2), + "::", + stringify!(reserved) + ) + ); +} +extern "C" { + pub fn CopyFile2( + pwszExistingFileName: PCWSTR, + pwszNewFileName: PCWSTR, + pExtendedParameters: *mut COPYFILE2_EXTENDED_PARAMETERS, + ) -> HRESULT; +} +extern "C" { + pub fn MoveFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn MoveFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn MoveFileExA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn MoveFileExW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD) + -> BOOL; +} +extern "C" { + pub fn MoveFileWithProgressA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileWithProgressW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileTransactedA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileTransactedW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn ReplaceFileA( + lpReplacedFileName: LPCSTR, + lpReplacementFileName: LPCSTR, + lpBackupFileName: LPCSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ReplaceFileW( + lpReplacedFileName: LPCWSTR, + lpReplacementFileName: LPCWSTR, + lpBackupFileName: LPCWSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkA( + lpFileName: LPCSTR, + lpExistingFileName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkW( + lpFileName: LPCWSTR, + lpExistingFileName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkTransactedA( + lpFileName: LPCSTR, + lpExistingFileName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkTransactedW( + lpFileName: LPCWSTR, + lpExistingFileName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstStreamTransactedW( + lpFileName: LPCWSTR, + InfoLevel: STREAM_INFO_LEVELS, + lpFindStreamData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileNameTransactedW( + lpFileName: LPCWSTR, + dwFlags: DWORD, + StringLength: LPDWORD, + LinkName: PWSTR, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateNamedPipeA( + lpName: LPCSTR, + dwOpenMode: DWORD, + dwPipeMode: DWORD, + nMaxInstances: DWORD, + nOutBufferSize: DWORD, + nInBufferSize: DWORD, + nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn GetNamedPipeHandleStateA( + hNamedPipe: HANDLE, + lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPSTR, + nMaxUserNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CallNamedPipeA( + lpNamedPipeName: LPCSTR, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + nTimeOut: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WaitNamedPipeA(lpNamedPipeName: LPCSTR, nTimeOut: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientComputerNameA( + Pipe: HANDLE, + ClientComputerName: LPSTR, + ClientComputerNameLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientProcessId(Pipe: HANDLE, ClientProcessId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientSessionId(Pipe: HANDLE, ClientSessionId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeServerProcessId(Pipe: HANDLE, ServerProcessId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeServerSessionId(Pipe: HANDLE, ServerSessionId: PULONG) -> BOOL; +} +extern "C" { + pub fn SetVolumeLabelA(lpRootPathName: LPCSTR, lpVolumeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetVolumeLabelW(lpRootPathName: LPCWSTR, lpVolumeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetFileBandwidthReservation( + hFile: HANDLE, + nPeriodMilliseconds: DWORD, + nBytesPerPeriod: DWORD, + bDiscardable: BOOL, + lpTransferSize: LPDWORD, + lpNumOutstandingRequests: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFileBandwidthReservation( + hFile: HANDLE, + lpPeriodMilliseconds: LPDWORD, + lpBytesPerPeriod: LPDWORD, + pDiscardable: LPBOOL, + lpTransferSize: LPDWORD, + lpNumOutstandingRequests: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ClearEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn ClearEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn BackupEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn BackupEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CloseEventLog(hEventLog: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeregisterEventSource(hEventLog: HANDLE) -> BOOL; +} +extern "C" { + pub fn NotifyChangeEventLog(hEventLog: HANDLE, hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetNumberOfEventLogRecords(hEventLog: HANDLE, NumberOfRecords: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetOldestEventLogRecord(hEventLog: HANDLE, OldestRecord: PDWORD) -> BOOL; +} +extern "C" { + pub fn OpenEventLogA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenEventLogW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn RegisterEventSourceA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn RegisterEventSourceW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn OpenBackupEventLogA(lpUNCServerName: LPCSTR, lpFileName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenBackupEventLogW(lpUNCServerName: LPCWSTR, lpFileName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn ReadEventLogA( + hEventLog: HANDLE, + dwReadFlags: DWORD, + dwRecordOffset: DWORD, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + pnBytesRead: *mut DWORD, + pnMinNumberOfBytesNeeded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadEventLogW( + hEventLog: HANDLE, + dwReadFlags: DWORD, + dwRecordOffset: DWORD, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + pnBytesRead: *mut DWORD, + pnMinNumberOfBytesNeeded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReportEventA( + hEventLog: HANDLE, + wType: WORD, + wCategory: WORD, + dwEventID: DWORD, + lpUserSid: PSID, + wNumStrings: WORD, + dwDataSize: DWORD, + lpStrings: *mut LPCSTR, + lpRawData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ReportEventW( + hEventLog: HANDLE, + wType: WORD, + wCategory: WORD, + dwEventID: DWORD, + lpUserSid: PSID, + wNumStrings: WORD, + dwDataSize: DWORD, + lpStrings: *mut LPCWSTR, + lpRawData: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EVENTLOG_FULL_INFORMATION { + pub dwFull: DWORD, +} +#[test] +fn bindgen_test_layout__EVENTLOG_FULL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTLOG_FULL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTLOG_FULL_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_EVENTLOG_FULL_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTLOG_FULL_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTLOG_FULL_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFull) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOG_FULL_INFORMATION), + "::", + stringify!(dwFull) + ) + ); +} +pub type EVENTLOG_FULL_INFORMATION = _EVENTLOG_FULL_INFORMATION; +pub type LPEVENTLOG_FULL_INFORMATION = *mut _EVENTLOG_FULL_INFORMATION; +extern "C" { + pub fn GetEventLogInformation( + hEventLog: HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +pub type OPERATION_ID = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPERATION_START_PARAMETERS { + pub Version: ULONG, + pub OperationId: OPERATION_ID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__OPERATION_START_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_OPERATION_START_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPERATION_START_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_OPERATION_START_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_OPERATION_START_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_OPERATION_START_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(OperationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(Flags) + ) + ); +} +pub type OPERATION_START_PARAMETERS = _OPERATION_START_PARAMETERS; +pub type POPERATION_START_PARAMETERS = *mut _OPERATION_START_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPERATION_END_PARAMETERS { + pub Version: ULONG, + pub OperationId: OPERATION_ID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__OPERATION_END_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_OPERATION_END_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPERATION_END_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_OPERATION_END_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_OPERATION_END_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_OPERATION_END_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(OperationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(Flags) + ) + ); +} +pub type OPERATION_END_PARAMETERS = _OPERATION_END_PARAMETERS; +pub type POPERATION_END_PARAMETERS = *mut _OPERATION_END_PARAMETERS; +extern "C" { + pub fn OperationStart(OperationStartParams: *mut OPERATION_START_PARAMETERS) -> BOOL; +} +extern "C" { + pub fn OperationEnd(OperationEndParams: *mut OPERATION_END_PARAMETERS) -> BOOL; +} +extern "C" { + pub fn AccessCheckAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPSTR, + ObjectName: LPSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectOpenAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPSTR, + ObjectName: LPSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GrantedAccess: DWORD, + Privileges: PPRIVILEGE_SET, + ObjectCreation: BOOL, + AccessGranted: BOOL, + GenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectPrivilegeAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectCloseAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectDeleteAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegedServiceAuditAlarmA( + SubsystemName: LPCSTR, + ServiceName: LPCSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddConditionalAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AceType: UCHAR, + AccessMask: DWORD, + pSid: PSID, + ConditionStr: PWCHAR, + ReturnLength: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFileSecurityA( + lpFileName: LPCSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSecurityA( + lpFileName: LPCSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadDirectoryChangesW( + hDirectory: HANDLE, + lpBuffer: LPVOID, + nBufferLength: DWORD, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn ReadDirectoryChangesExW( + hDirectory: HANDLE, + lpBuffer: LPVOID, + nBufferLength: DWORD, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ReadDirectoryNotifyInformationClass: READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn MapViewOfFileExNuma( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + lpBaseAddress: LPVOID, + nndPreferred: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn IsBadReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadHugeReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadHugeWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadCodePtr(lpfn: FARPROC) -> BOOL; +} +extern "C" { + pub fn IsBadStringPtrA(lpsz: LPCSTR, ucchMax: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadStringPtrW(lpsz: LPCWSTR, ucchMax: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidA( + lpSystemName: LPCSTR, + Sid: PSID, + Name: LPSTR, + cchName: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidW( + lpSystemName: LPCWSTR, + Sid: PSID, + Name: LPWSTR, + cchName: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameA( + lpSystemName: LPCSTR, + lpAccountName: LPCSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameW( + lpSystemName: LPCWSTR, + lpAccountName: LPCWSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameLocalA( + lpAccountName: LPCSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameLocalW( + lpAccountName: LPCWSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidLocalA( + Sid: PSID, + Name: LPSTR, + cchName: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidLocalW( + Sid: PSID, + Name: LPWSTR, + cchName: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeValueA(lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeValueW(lpSystemName: LPCWSTR, lpName: LPCWSTR, lpLuid: PLUID) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeNameA( + lpSystemName: LPCSTR, + lpLuid: PLUID, + lpName: LPSTR, + cchName: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeNameW( + lpSystemName: LPCWSTR, + lpLuid: PLUID, + lpName: LPWSTR, + cchName: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeDisplayNameA( + lpSystemName: LPCSTR, + lpName: LPCSTR, + lpDisplayName: LPSTR, + cchDisplayName: LPDWORD, + lpLanguageId: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeDisplayNameW( + lpSystemName: LPCWSTR, + lpName: LPCWSTR, + lpDisplayName: LPWSTR, + cchDisplayName: LPDWORD, + lpLanguageId: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBA(lpDef: LPCSTR, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBW(lpDef: LPCWSTR, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBAndTimeoutsA( + lpDef: LPCSTR, + lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS, + ) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBAndTimeoutsW( + lpDef: LPCWSTR, + lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS, + ) -> BOOL; +} +extern "C" { + pub fn CommConfigDialogA(lpszName: LPCSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; +} +extern "C" { + pub fn CommConfigDialogW(lpszName: LPCWSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; +} +extern "C" { + pub fn GetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn GetComputerNameA(lpBuffer: LPSTR, nSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetComputerNameW(lpBuffer: LPWSTR, nSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn DnsHostnameToComputerNameA( + Hostname: LPCSTR, + ComputerName: LPSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DnsHostnameToComputerNameW( + Hostname: LPCWSTR, + ComputerName: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetUserNameA(lpBuffer: LPSTR, pcbBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetUserNameW(lpBuffer: LPWSTR, pcbBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn LogonUserA( + lpszUsername: LPCSTR, + lpszDomain: LPCSTR, + lpszPassword: LPCSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserW( + lpszUsername: LPCWSTR, + lpszDomain: LPCWSTR, + lpszPassword: LPCWSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserExA( + lpszUsername: LPCSTR, + lpszDomain: LPCSTR, + lpszPassword: LPCSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ppLogonSid: *mut PSID, + ppProfileBuffer: *mut PVOID, + pdwProfileLength: LPDWORD, + pQuotaLimits: PQUOTA_LIMITS, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserExW( + lpszUsername: LPCWSTR, + lpszDomain: LPCWSTR, + lpszPassword: LPCWSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ppLogonSid: *mut PSID, + ppProfileBuffer: *mut PVOID, + pdwProfileLength: LPDWORD, + pQuotaLimits: PQUOTA_LIMITS, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessWithLogonW( + lpUsername: LPCWSTR, + lpDomain: LPCWSTR, + lpPassword: LPCWSTR, + dwLogonFlags: DWORD, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessWithTokenW( + hToken: HANDLE, + dwLogonFlags: DWORD, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn IsTokenUntrusted(TokenHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn RegisterWaitForSingleObject( + phNewWaitObject: PHANDLE, + hObject: HANDLE, + Callback: WAITORTIMERCALLBACK, + Context: PVOID, + dwMilliseconds: ULONG, + dwFlags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterWait(WaitHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn BindIoCompletionCallback( + FileHandle: HANDLE, + Function: LPOVERLAPPED_COMPLETION_ROUTINE, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetTimerQueueTimer( + TimerQueue: HANDLE, + Callback: WAITORTIMERCALLBACK, + Parameter: PVOID, + DueTime: DWORD, + Period: DWORD, + PreferIo: BOOL, + ) -> HANDLE; +} +extern "C" { + pub fn CancelTimerQueueTimer(TimerQueue: HANDLE, Timer: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreatePrivateNamespaceA( + lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, + lpBoundaryDescriptor: LPVOID, + lpAliasPrefix: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenPrivateNamespaceA(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateBoundaryDescriptorA(Name: LPCSTR, Flags: ULONG) -> HANDLE; +} +extern "C" { + pub fn AddIntegrityLabelToBoundaryDescriptor( + BoundaryDescriptor: *mut HANDLE, + IntegrityLabel: PSID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHW_PROFILE_INFOA { + pub dwDockInfo: DWORD, + pub szHwProfileGuid: [CHAR; 39usize], + pub szHwProfileName: [CHAR; 80usize], +} +#[test] +fn bindgen_test_layout_tagHW_PROFILE_INFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(tagHW_PROFILE_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHW_PROFILE_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDockInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(dwDockInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(szHwProfileGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileName) as usize - ptr as usize }, + 43usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(szHwProfileName) + ) + ); +} +pub type HW_PROFILE_INFOA = tagHW_PROFILE_INFOA; +pub type LPHW_PROFILE_INFOA = *mut tagHW_PROFILE_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHW_PROFILE_INFOW { + pub dwDockInfo: DWORD, + pub szHwProfileGuid: [WCHAR; 39usize], + pub szHwProfileName: [WCHAR; 80usize], +} +#[test] +fn bindgen_test_layout_tagHW_PROFILE_INFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 244usize, + concat!("Size of: ", stringify!(tagHW_PROFILE_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHW_PROFILE_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDockInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(dwDockInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(szHwProfileGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileName) as usize - ptr as usize }, + 82usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(szHwProfileName) + ) + ); +} +pub type HW_PROFILE_INFOW = tagHW_PROFILE_INFOW; +pub type LPHW_PROFILE_INFOW = *mut tagHW_PROFILE_INFOW; +pub type HW_PROFILE_INFO = HW_PROFILE_INFOA; +pub type LPHW_PROFILE_INFO = LPHW_PROFILE_INFOA; +extern "C" { + pub fn GetCurrentHwProfileA(lpHwProfileInfo: LPHW_PROFILE_INFOA) -> BOOL; +} +extern "C" { + pub fn GetCurrentHwProfileW(lpHwProfileInfo: LPHW_PROFILE_INFOW) -> BOOL; +} +extern "C" { + pub fn VerifyVersionInfoA( + lpVersionInformation: LPOSVERSIONINFOEXA, + dwTypeMask: DWORD, + dwlConditionMask: DWORDLONG, + ) -> BOOL; +} +extern "C" { + pub fn VerifyVersionInfoW( + lpVersionInformation: LPOSVERSIONINFOEXW, + dwTypeMask: DWORD, + dwlConditionMask: DWORDLONG, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TIME_ZONE_INFORMATION { + pub Bias: LONG, + pub StandardName: [WCHAR; 32usize], + pub StandardDate: SYSTEMTIME, + pub StandardBias: LONG, + pub DaylightName: [WCHAR; 32usize], + pub DaylightDate: SYSTEMTIME, + pub DaylightBias: LONG, +} +#[test] +fn bindgen_test_layout__TIME_ZONE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TIME_ZONE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TIME_ZONE_INFORMATION>(), + 172usize, + concat!("Size of: ", stringify!(_TIME_ZONE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TIME_ZONE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TIME_ZONE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bias) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(Bias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardDate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardBias) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightDate) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightBias) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightBias) + ) + ); +} +pub type TIME_ZONE_INFORMATION = _TIME_ZONE_INFORMATION; +pub type PTIME_ZONE_INFORMATION = *mut _TIME_ZONE_INFORMATION; +pub type LPTIME_ZONE_INFORMATION = *mut _TIME_ZONE_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TIME_DYNAMIC_ZONE_INFORMATION { + pub Bias: LONG, + pub StandardName: [WCHAR; 32usize], + pub StandardDate: SYSTEMTIME, + pub StandardBias: LONG, + pub DaylightName: [WCHAR; 32usize], + pub DaylightDate: SYSTEMTIME, + pub DaylightBias: LONG, + pub TimeZoneKeyName: [WCHAR; 128usize], + pub DynamicDaylightTimeDisabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TIME_DYNAMIC_ZONE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TIME_DYNAMIC_ZONE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TIME_DYNAMIC_ZONE_INFORMATION>(), + 432usize, + concat!("Size of: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TIME_DYNAMIC_ZONE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bias) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(Bias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardDate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardBias) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightDate) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightBias) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeZoneKeyName) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(TimeZoneKeyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicDaylightTimeDisabled) as usize - ptr as usize }, + 428usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DynamicDaylightTimeDisabled) + ) + ); +} +pub type DYNAMIC_TIME_ZONE_INFORMATION = _TIME_DYNAMIC_ZONE_INFORMATION; +pub type PDYNAMIC_TIME_ZONE_INFORMATION = *mut _TIME_DYNAMIC_ZONE_INFORMATION; +extern "C" { + pub fn SystemTimeToTzSpecificLocalTime( + lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, + lpUniversalTime: *const SYSTEMTIME, + lpLocalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn TzSpecificLocalTimeToSystemTime( + lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, + lpLocalTime: *const SYSTEMTIME, + lpUniversalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn FileTimeToSystemTime(lpFileTime: *const FILETIME, lpSystemTime: LPSYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn SystemTimeToFileTime(lpSystemTime: *const SYSTEMTIME, lpFileTime: LPFILETIME) -> BOOL; +} +extern "C" { + pub fn GetTimeZoneInformation(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION) -> DWORD; +} +extern "C" { + pub fn SetTimeZoneInformation(lpTimeZoneInformation: *const TIME_ZONE_INFORMATION) -> BOOL; +} +extern "C" { + pub fn SetDynamicTimeZoneInformation( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetDynamicTimeZoneInformation( + pTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn GetTimeZoneInformationForYear( + wYear: USHORT, + pdtzi: PDYNAMIC_TIME_ZONE_INFORMATION, + ptzi: LPTIME_ZONE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn EnumDynamicTimeZoneInformation( + dwIndex: DWORD, + lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn GetDynamicTimeZoneInformationEffectiveYears( + lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + FirstYear: LPDWORD, + LastYear: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SystemTimeToTzSpecificLocalTimeEx( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + lpUniversalTime: *const SYSTEMTIME, + lpLocalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn TzSpecificLocalTimeToSystemTimeEx( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + lpLocalTime: *const SYSTEMTIME, + lpUniversalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn LocalFileTimeToLocalSystemTime( + timeZoneInformation: *const TIME_ZONE_INFORMATION, + localFileTime: *const FILETIME, + localSystemTime: *mut SYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn LocalSystemTimeToLocalFileTime( + timeZoneInformation: *const TIME_ZONE_INFORMATION, + localSystemTime: *const SYSTEMTIME, + localFileTime: *mut FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemPowerState(fSuspend: BOOL, fForce: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POWER_STATUS { + pub ACLineStatus: BYTE, + pub BatteryFlag: BYTE, + pub BatteryLifePercent: BYTE, + pub SystemStatusFlag: BYTE, + pub BatteryLifeTime: DWORD, + pub BatteryFullLifeTime: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_POWER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POWER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POWER_STATUS>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_POWER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POWER_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_POWER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ACLineStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(ACLineStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryFlag) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryFlag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLifePercent) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryLifePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemStatusFlag) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(SystemStatusFlag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLifeTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryLifeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryFullLifeTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryFullLifeTime) + ) + ); +} +pub type SYSTEM_POWER_STATUS = _SYSTEM_POWER_STATUS; +pub type LPSYSTEM_POWER_STATUS = *mut _SYSTEM_POWER_STATUS; +extern "C" { + pub fn GetSystemPowerStatus(lpSystemPowerStatus: LPSYSTEM_POWER_STATUS) -> BOOL; +} +extern "C" { + pub fn MapUserPhysicalPagesScatter( + VirtualAddresses: *mut PVOID, + NumberOfPages: ULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateJobObjectA(lpJobAttributes: LPSECURITY_ATTRIBUTES, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenJobObjectA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateJobSet(NumJob: ULONG, UserJobSet: PJOB_SET_ARRAY, Flags: ULONG) -> BOOL; +} +extern "C" { + pub fn FindFirstVolumeA(lpszVolumeName: LPSTR, cchBufferLength: DWORD) -> HANDLE; +} +extern "C" { + pub fn FindNextVolumeA( + hFindVolume: HANDLE, + lpszVolumeName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstVolumeMountPointA( + lpszRootPathName: LPCSTR, + lpszVolumeMountPoint: LPSTR, + cchBufferLength: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstVolumeMountPointW( + lpszRootPathName: LPCWSTR, + lpszVolumeMountPoint: LPWSTR, + cchBufferLength: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextVolumeMountPointA( + hFindVolumeMountPoint: HANDLE, + lpszVolumeMountPoint: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindNextVolumeMountPointW( + hFindVolumeMountPoint: HANDLE, + lpszVolumeMountPoint: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindVolumeMountPointClose(hFindVolumeMountPoint: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetVolumeMountPointA(lpszVolumeMountPoint: LPCSTR, lpszVolumeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetVolumeMountPointW(lpszVolumeMountPoint: LPCWSTR, lpszVolumeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteVolumeMountPointA(lpszVolumeMountPoint: LPCSTR) -> BOOL; +} +extern "C" { + pub fn GetVolumeNameForVolumeMountPointA( + lpszVolumeMountPoint: LPCSTR, + lpszVolumeName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNameA( + lpszFileName: LPCSTR, + lpszVolumePathName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNamesForVolumeNameA( + lpszVolumeName: LPCSTR, + lpszVolumePathNames: LPCH, + cchBufferLength: DWORD, + lpcchReturnLength: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTXA { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub lpSource: LPCSTR, + pub wProcessorArchitecture: USHORT, + pub wLangId: LANGID, + pub lpAssemblyDirectory: LPCSTR, + pub lpResourceName: LPCSTR, + pub lpApplicationName: LPCSTR, + pub hModule: HMODULE, +} +#[test] +fn bindgen_test_layout_tagACTCTXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagACTCTXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(wLangId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectory) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpAssemblyDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpResourceName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpResourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpApplicationName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpApplicationName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hModule) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(hModule) + ) + ); +} +pub type ACTCTXA = tagACTCTXA; +pub type PACTCTXA = *mut tagACTCTXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTXW { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub lpSource: LPCWSTR, + pub wProcessorArchitecture: USHORT, + pub wLangId: LANGID, + pub lpAssemblyDirectory: LPCWSTR, + pub lpResourceName: LPCWSTR, + pub lpApplicationName: LPCWSTR, + pub hModule: HMODULE, +} +#[test] +fn bindgen_test_layout_tagACTCTXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagACTCTXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(wLangId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectory) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpAssemblyDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpResourceName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpResourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpApplicationName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpApplicationName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hModule) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(hModule) + ) + ); +} +pub type ACTCTXW = tagACTCTXW; +pub type PACTCTXW = *mut tagACTCTXW; +pub type ACTCTX = ACTCTXA; +pub type PACTCTX = PACTCTXA; +pub type PCACTCTXA = *const ACTCTXA; +pub type PCACTCTXW = *const ACTCTXW; +pub type PCACTCTX = PCACTCTXA; +extern "C" { + pub fn CreateActCtxA(pActCtx: PCACTCTXA) -> HANDLE; +} +extern "C" { + pub fn CreateActCtxW(pActCtx: PCACTCTXW) -> HANDLE; +} +extern "C" { + pub fn AddRefActCtx(hActCtx: HANDLE); +} +extern "C" { + pub fn ReleaseActCtx(hActCtx: HANDLE); +} +extern "C" { + pub fn ZombifyActCtx(hActCtx: HANDLE) -> BOOL; +} +extern "C" { + pub fn ActivateActCtx(hActCtx: HANDLE, lpCookie: *mut ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn DeactivateActCtx(dwFlags: DWORD, ulCookie: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn GetCurrentActCtx(lphActCtx: *mut HANDLE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA_2600 { + pub cbSize: ULONG, + pub ulDataFormatVersion: ULONG, + pub lpData: PVOID, + pub ulLength: ULONG, + pub lpSectionGlobalData: PVOID, + pub ulSectionGlobalDataLength: ULONG, + pub lpSectionBase: PVOID, + pub ulSectionTotalLength: ULONG, + pub hActCtx: HANDLE, + pub ulAssemblyRosterIndex: ULONG, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA_2600() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulDataFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulDataFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpSectionGlobalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionTotalLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulSectionTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyRosterIndex) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulAssemblyRosterIndex) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA_2600 = tagACTCTX_SECTION_KEYED_DATA_2600; +pub type PACTCTX_SECTION_KEYED_DATA_2600 = *mut tagACTCTX_SECTION_KEYED_DATA_2600; +pub type PCACTCTX_SECTION_KEYED_DATA_2600 = *const ACTCTX_SECTION_KEYED_DATA_2600; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { + pub lpInformation: PVOID, + pub lpSectionBase: PVOID, + pub ulSectionLength: ULONG, + pub lpSectionGlobalDataBase: PVOID, + pub ulSectionGlobalDataLength: ULONG, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(ulSectionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalDataBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpSectionGlobalDataBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *mut tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA { + pub cbSize: ULONG, + pub ulDataFormatVersion: ULONG, + pub lpData: PVOID, + pub ulLength: ULONG, + pub lpSectionGlobalData: PVOID, + pub ulSectionGlobalDataLength: ULONG, + pub lpSectionBase: PVOID, + pub ulSectionTotalLength: ULONG, + pub hActCtx: HANDLE, + pub ulAssemblyRosterIndex: ULONG, + pub ulFlags: ULONG, + pub AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagACTCTX_SECTION_KEYED_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTX_SECTION_KEYED_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulDataFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulDataFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpSectionGlobalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionTotalLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulSectionTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyRosterIndex) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulAssemblyRosterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssemblyMetadata) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(AssemblyMetadata) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA = tagACTCTX_SECTION_KEYED_DATA; +pub type PACTCTX_SECTION_KEYED_DATA = *mut tagACTCTX_SECTION_KEYED_DATA; +pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA; +extern "C" { + pub fn FindActCtxSectionStringA( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpStringToFind: LPCSTR, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +extern "C" { + pub fn FindActCtxSectionStringW( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpStringToFind: LPCWSTR, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +extern "C" { + pub fn FindActCtxSectionGuid( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpGuidToFind: *const GUID, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { + pub hActCtx: HANDLE, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION), + "::", + stringify!(dwFlags) + ) + ); +} +pub type ACTIVATION_CONTEXT_BASIC_INFORMATION = _ACTIVATION_CONTEXT_BASIC_INFORMATION; +pub type PACTIVATION_CONTEXT_BASIC_INFORMATION = *mut _ACTIVATION_CONTEXT_BASIC_INFORMATION; +pub type PCACTIVATION_CONTEXT_BASIC_INFORMATION = *const _ACTIVATION_CONTEXT_BASIC_INFORMATION; +extern "C" { + pub fn QueryActCtxW( + dwFlags: DWORD, + hActCtx: HANDLE, + pvSubInstance: PVOID, + ulInfoClass: ULONG, + pvBuffer: PVOID, + cbBuffer: SIZE_T, + pcbWrittenOrRequired: *mut SIZE_T, + ) -> BOOL; +} +pub type PQUERYACTCTXW_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwFlags: DWORD, + hActCtx: HANDLE, + pvSubInstance: PVOID, + ulInfoClass: ULONG, + pvBuffer: PVOID, + cbBuffer: SIZE_T, + pcbWrittenOrRequired: *mut SIZE_T, + ) -> BOOL, +>; +extern "C" { + pub fn WTSGetActiveConsoleSessionId() -> DWORD; +} +extern "C" { + pub fn WTSGetServiceSessionId() -> DWORD; +} +extern "C" { + pub fn WTSIsServerContainer() -> BOOLEAN; +} +extern "C" { + pub fn GetActiveProcessorGroupCount() -> WORD; +} +extern "C" { + pub fn GetMaximumProcessorGroupCount() -> WORD; +} +extern "C" { + pub fn GetActiveProcessorCount(GroupNumber: WORD) -> DWORD; +} +extern "C" { + pub fn GetMaximumProcessorCount(GroupNumber: WORD) -> DWORD; +} +extern "C" { + pub fn GetNumaProcessorNode(Processor: UCHAR, NodeNumber: PUCHAR) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeNumberFromHandle(hFile: HANDLE, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetNumaProcessorNodeEx(Processor: PPROCESSOR_NUMBER, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeProcessorMask(Node: UCHAR, ProcessorMask: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaAvailableMemoryNode(Node: UCHAR, AvailableBytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaAvailableMemoryNodeEx(Node: USHORT, AvailableBytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaProximityNode(ProximityId: ULONG, NodeNumber: PUCHAR) -> BOOL; +} +pub type APPLICATION_RECOVERY_CALLBACK = + ::std::option::Option DWORD>; +extern "C" { + pub fn RegisterApplicationRecoveryCallback( + pRecoveyCallback: APPLICATION_RECOVERY_CALLBACK, + pvParameter: PVOID, + dwPingInterval: DWORD, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UnregisterApplicationRecoveryCallback() -> HRESULT; +} +extern "C" { + pub fn RegisterApplicationRestart(pwzCommandline: PCWSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn UnregisterApplicationRestart() -> HRESULT; +} +extern "C" { + pub fn GetApplicationRecoveryCallback( + hProcess: HANDLE, + pRecoveryCallback: *mut APPLICATION_RECOVERY_CALLBACK, + ppvParameter: *mut PVOID, + pdwPingInterval: PDWORD, + pdwFlags: PDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetApplicationRestartSettings( + hProcess: HANDLE, + pwzCommandline: PWSTR, + pcchSize: PDWORD, + pdwFlags: PDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn ApplicationRecoveryInProgress(pbCancelled: PBOOL) -> HRESULT; +} +extern "C" { + pub fn ApplicationRecoveryFinished(bSuccess: BOOL); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_BASIC_INFO { + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub FileAttributes: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_BASIC_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_BASIC_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_BASIC_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_BASIC_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_BASIC_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_BASIC_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(FileAttributes) + ) + ); +} +pub type FILE_BASIC_INFO = _FILE_BASIC_INFO; +pub type PFILE_BASIC_INFO = *mut _FILE_BASIC_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_STANDARD_INFO { + pub AllocationSize: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub NumberOfLinks: DWORD, + pub DeletePending: BOOLEAN, + pub Directory: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_STANDARD_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STANDARD_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STANDARD_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_STANDARD_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STANDARD_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STANDARD_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinks) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(NumberOfLinks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeletePending) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(DeletePending) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Directory) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(Directory) + ) + ); +} +pub type FILE_STANDARD_INFO = _FILE_STANDARD_INFO; +pub type PFILE_STANDARD_INFO = *mut _FILE_STANDARD_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_NAME_INFO { + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NAME_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NAME_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NAME_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NAME_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NAME_INFO = _FILE_NAME_INFO; +pub type PFILE_NAME_INFO = *mut _FILE_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_CASE_SENSITIVE_INFO { + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_CASE_SENSITIVE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_CASE_SENSITIVE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_CASE_SENSITIVE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_CASE_SENSITIVE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_CASE_SENSITIVE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_CASE_SENSITIVE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_CASE_SENSITIVE_INFO), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_CASE_SENSITIVE_INFO = _FILE_CASE_SENSITIVE_INFO; +pub type PFILE_CASE_SENSITIVE_INFO = *mut _FILE_CASE_SENSITIVE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_RENAME_INFO { + pub __bindgen_anon_1: _FILE_RENAME_INFO__bindgen_ty_1, + pub RootDirectory: HANDLE, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_RENAME_INFO__bindgen_ty_1 { + pub ReplaceIfExists: BOOLEAN, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_RENAME_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_RENAME_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_RENAME_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_RENAME_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReplaceIfExists) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO__bindgen_ty_1), + "::", + stringify!(ReplaceIfExists) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_RENAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_RENAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_RENAME_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_RENAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_RENAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_RENAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootDirectory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(RootDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_RENAME_INFO = _FILE_RENAME_INFO; +pub type PFILE_RENAME_INFO = *mut _FILE_RENAME_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ALLOCATION_INFO { + pub AllocationSize: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ALLOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALLOCATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALLOCATION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_ALLOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALLOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ALLOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATION_INFO), + "::", + stringify!(AllocationSize) + ) + ); +} +pub type FILE_ALLOCATION_INFO = _FILE_ALLOCATION_INFO; +pub type PFILE_ALLOCATION_INFO = *mut _FILE_ALLOCATION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_END_OF_FILE_INFO { + pub EndOfFile: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_END_OF_FILE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_END_OF_FILE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_END_OF_FILE_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_END_OF_FILE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_END_OF_FILE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_END_OF_FILE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_END_OF_FILE_INFO), + "::", + stringify!(EndOfFile) + ) + ); +} +pub type FILE_END_OF_FILE_INFO = _FILE_END_OF_FILE_INFO; +pub type PFILE_END_OF_FILE_INFO = *mut _FILE_END_OF_FILE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_STREAM_INFO { + pub NextEntryOffset: DWORD, + pub StreamNameLength: DWORD, + pub StreamSize: LARGE_INTEGER, + pub StreamAllocationSize: LARGE_INTEGER, + pub StreamName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_STREAM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STREAM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STREAM_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_STREAM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STREAM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STREAM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamAllocationSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamName) + ) + ); +} +pub type FILE_STREAM_INFO = _FILE_STREAM_INFO; +pub type PFILE_STREAM_INFO = *mut _FILE_STREAM_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_COMPRESSION_INFO { + pub CompressedFileSize: LARGE_INTEGER, + pub CompressionFormat: WORD, + pub CompressionUnitShift: UCHAR, + pub ChunkShift: UCHAR, + pub ClusterShift: UCHAR, + pub Reserved: [UCHAR; 3usize], +} +#[test] +fn bindgen_test_layout__FILE_COMPRESSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_COMPRESSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_COMPRESSION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_COMPRESSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_COMPRESSION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_COMPRESSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressedFileSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressedFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionUnitShift) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressionUnitShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(ChunkShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterShift) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(ClusterShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_COMPRESSION_INFO = _FILE_COMPRESSION_INFO; +pub type PFILE_COMPRESSION_INFO = *mut _FILE_COMPRESSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ATTRIBUTE_TAG_INFO { + pub FileAttributes: DWORD, + pub ReparseTag: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_ATTRIBUTE_TAG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ATTRIBUTE_TAG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ATTRIBUTE_TAG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_ATTRIBUTE_TAG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ATTRIBUTE_TAG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_ATTRIBUTE_TAG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ATTRIBUTE_TAG_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseTag) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ATTRIBUTE_TAG_INFO), + "::", + stringify!(ReparseTag) + ) + ); +} +pub type FILE_ATTRIBUTE_TAG_INFO = _FILE_ATTRIBUTE_TAG_INFO; +pub type PFILE_ATTRIBUTE_TAG_INFO = *mut _FILE_ATTRIBUTE_TAG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DISPOSITION_INFO { + pub DeleteFileA: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_DISPOSITION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DISPOSITION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DISPOSITION_INFO>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_DISPOSITION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DISPOSITION_INFO>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_DISPOSITION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFileA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DISPOSITION_INFO), + "::", + stringify!(DeleteFileA) + ) + ); +} +pub type FILE_DISPOSITION_INFO = _FILE_DISPOSITION_INFO; +pub type PFILE_DISPOSITION_INFO = *mut _FILE_DISPOSITION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DISPOSITION_INFO_EX { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_DISPOSITION_INFO_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DISPOSITION_INFO_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DISPOSITION_INFO_EX>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_DISPOSITION_INFO_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DISPOSITION_INFO_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_DISPOSITION_INFO_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DISPOSITION_INFO_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_DISPOSITION_INFO_EX = _FILE_DISPOSITION_INFO_EX; +pub type PFILE_DISPOSITION_INFO_EX = *mut _FILE_DISPOSITION_INFO_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ID_BOTH_DIR_INFO { + pub NextEntryOffset: DWORD, + pub FileIndex: DWORD, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: DWORD, + pub FileNameLength: DWORD, + pub EaSize: DWORD, + pub ShortNameLength: CCHAR, + pub ShortName: [WCHAR; 12usize], + pub FileId: LARGE_INTEGER, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_BOTH_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_BOTH_DIR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_BOTH_DIR_INFO>(), + 112usize, + concat!("Size of: ", stringify!(_FILE_ID_BOTH_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_BOTH_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_BOTH_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortNameLength) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ShortNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_ID_BOTH_DIR_INFO = _FILE_ID_BOTH_DIR_INFO; +pub type PFILE_ID_BOTH_DIR_INFO = *mut _FILE_ID_BOTH_DIR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_FULL_DIR_INFO { + pub NextEntryOffset: ULONG, + pub FileIndex: ULONG, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: ULONG, + pub FileNameLength: ULONG, + pub EaSize: ULONG, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_FULL_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_FULL_DIR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_FULL_DIR_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_FILE_FULL_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_FULL_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_FULL_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_FULL_DIR_INFO = _FILE_FULL_DIR_INFO; +pub type PFILE_FULL_DIR_INFO = *mut _FILE_FULL_DIR_INFO; +pub const _PRIORITY_HINT_IoPriorityHintVeryLow: _PRIORITY_HINT = 0; +pub const _PRIORITY_HINT_IoPriorityHintLow: _PRIORITY_HINT = 1; +pub const _PRIORITY_HINT_IoPriorityHintNormal: _PRIORITY_HINT = 2; +pub const _PRIORITY_HINT_MaximumIoPriorityHintType: _PRIORITY_HINT = 3; +pub type _PRIORITY_HINT = ::std::os::raw::c_int; +pub use self::_PRIORITY_HINT as PRIORITY_HINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_IO_PRIORITY_HINT_INFO { + pub PriorityHint: PRIORITY_HINT, +} +#[test] +fn bindgen_test_layout__FILE_IO_PRIORITY_HINT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_IO_PRIORITY_HINT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_IO_PRIORITY_HINT_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_IO_PRIORITY_HINT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_IO_PRIORITY_HINT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_IO_PRIORITY_HINT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PriorityHint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_IO_PRIORITY_HINT_INFO), + "::", + stringify!(PriorityHint) + ) + ); +} +pub type FILE_IO_PRIORITY_HINT_INFO = _FILE_IO_PRIORITY_HINT_INFO; +pub type PFILE_IO_PRIORITY_HINT_INFO = *mut _FILE_IO_PRIORITY_HINT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ALIGNMENT_INFO { + pub AlignmentRequirement: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_ALIGNMENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALIGNMENT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALIGNMENT_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_ALIGNMENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALIGNMENT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_ALIGNMENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentRequirement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALIGNMENT_INFO), + "::", + stringify!(AlignmentRequirement) + ) + ); +} +pub type FILE_ALIGNMENT_INFO = _FILE_ALIGNMENT_INFO; +pub type PFILE_ALIGNMENT_INFO = *mut _FILE_ALIGNMENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_INFO { + pub LogicalBytesPerSector: ULONG, + pub PhysicalBytesPerSectorForAtomicity: ULONG, + pub PhysicalBytesPerSectorForPerformance: ULONG, + pub FileSystemEffectivePhysicalBytesPerSectorForAtomicity: ULONG, + pub Flags: ULONG, + pub ByteOffsetForSectorAlignment: ULONG, + pub ByteOffsetForPartitionAlignment: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_INFO>(), + 28usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalBytesPerSector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(LogicalBytesPerSector) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PhysicalBytesPerSectorForAtomicity) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(PhysicalBytesPerSectorForAtomicity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PhysicalBytesPerSectorForPerformance) as usize + - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(PhysicalBytesPerSectorForPerformance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FileSystemEffectivePhysicalBytesPerSectorForAtomicity) + as usize + - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(FileSystemEffectivePhysicalBytesPerSectorForAtomicity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ByteOffsetForSectorAlignment) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(ByteOffsetForSectorAlignment) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ByteOffsetForPartitionAlignment) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(ByteOffsetForPartitionAlignment) + ) + ); +} +pub type FILE_STORAGE_INFO = _FILE_STORAGE_INFO; +pub type PFILE_STORAGE_INFO = *mut _FILE_STORAGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ID_INFO { + pub VolumeSerialNumber: ULONGLONG, + pub FileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout__FILE_ID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_ID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_INFO), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_INFO), + "::", + stringify!(FileId) + ) + ); +} +pub type FILE_ID_INFO = _FILE_ID_INFO; +pub type PFILE_ID_INFO = *mut _FILE_ID_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ID_EXTD_DIR_INFO { + pub NextEntryOffset: ULONG, + pub FileIndex: ULONG, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: ULONG, + pub FileNameLength: ULONG, + pub EaSize: ULONG, + pub ReparsePointTag: ULONG, + pub FileId: FILE_ID_128, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_EXTD_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_EXTD_DIR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_EXTD_DIR_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_FILE_ID_EXTD_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_EXTD_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_EXTD_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparsePointTag) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(ReparsePointTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_ID_EXTD_DIR_INFO = _FILE_ID_EXTD_DIR_INFO; +pub type PFILE_ID_EXTD_DIR_INFO = *mut _FILE_ID_EXTD_DIR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO { + pub StructureVersion: USHORT, + pub StructureSize: USHORT, + pub Protocol: ULONG, + pub ProtocolMajorVersion: USHORT, + pub ProtocolMinorVersion: USHORT, + pub ProtocolRevision: USHORT, + pub Reserved: USHORT, + pub Flags: ULONG, + pub GenericReserved: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1, + pub ProtocolSpecific: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1 { + pub Reserved: [ULONG; 8usize], +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1>(), + 32usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2 { + pub Smb2: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1, + pub Reserved: [ULONG; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1 { + pub Server: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + pub Share: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { + pub Capabilities: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Capabilities) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { + pub Capabilities: ULONG, + pub CachingFlags: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2>( + ), + 8usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CachingFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(CachingFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>(), + 12usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Server) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Server) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Share) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Share) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>(), + 64usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Smb2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2), + "::", + stringify!(Smb2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO>(), + 116usize, + concat!("Size of: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_REMOTE_PROTOCOL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(StructureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protocol) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolMajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolMinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolRevision) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(GenericReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecific) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolSpecific) + ) + ); +} +pub type FILE_REMOTE_PROTOCOL_INFO = _FILE_REMOTE_PROTOCOL_INFO; +pub type PFILE_REMOTE_PROTOCOL_INFO = *mut _FILE_REMOTE_PROTOCOL_INFO; +extern "C" { + pub fn GetFileInformationByHandleEx( + hFile: HANDLE, + FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD, + ) -> BOOL; +} +pub const _FILE_ID_TYPE_FileIdType: _FILE_ID_TYPE = 0; +pub const _FILE_ID_TYPE_ObjectIdType: _FILE_ID_TYPE = 1; +pub const _FILE_ID_TYPE_ExtendedFileIdType: _FILE_ID_TYPE = 2; +pub const _FILE_ID_TYPE_MaximumFileIdType: _FILE_ID_TYPE = 3; +pub type _FILE_ID_TYPE = ::std::os::raw::c_int; +pub use self::_FILE_ID_TYPE as FILE_ID_TYPE; +pub type PFILE_ID_TYPE = *mut _FILE_ID_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct FILE_ID_DESCRIPTOR { + pub dwSize: DWORD, + pub Type: FILE_ID_TYPE, + pub __bindgen_anon_1: FILE_ID_DESCRIPTOR__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union FILE_ID_DESCRIPTOR__bindgen_ty_1 { + pub FileId: LARGE_INTEGER, + pub ObjectId: GUID, + pub ExtendedFileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout_FILE_ID_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(ObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedFileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(ExtendedFileId) + ) + ); +} +#[test] +fn bindgen_test_layout_FILE_ID_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(FILE_ID_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(FILE_ID_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR), + "::", + stringify!(Type) + ) + ); +} +pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR; +extern "C" { + pub fn OpenFileById( + hVolumeHint: HANDLE, + lpFileId: LPFILE_ID_DESCRIPTOR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSymbolicLinkA( + lpSymlinkFileName: LPCSTR, + lpTargetFileName: LPCSTR, + dwFlags: DWORD, + ) -> BOOLEAN; +} +extern "C" { + pub fn CreateSymbolicLinkW( + lpSymlinkFileName: LPCWSTR, + lpTargetFileName: LPCWSTR, + dwFlags: DWORD, + ) -> BOOLEAN; +} +extern "C" { + pub fn QueryActCtxSettingsW( + dwFlags: DWORD, + hActCtx: HANDLE, + settingsNameSpace: PCWSTR, + settingName: PCWSTR, + pvBuffer: PWSTR, + dwBuffer: SIZE_T, + pdwWrittenOrRequired: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateSymbolicLinkTransactedA( + lpSymlinkFileName: LPCSTR, + lpTargetFileName: LPCSTR, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOLEAN; +} +extern "C" { + pub fn CreateSymbolicLinkTransactedW( + lpSymlinkFileName: LPCWSTR, + lpTargetFileName: LPCWSTR, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOLEAN; +} +extern "C" { + pub fn ReplacePartitionUnit( + TargetPartition: PWSTR, + SparePartition: PWSTR, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn AddSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; +} +extern "C" { + pub fn RemoveSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; +} +extern "C" { + pub fn CopyContext(Destination: PCONTEXT, ContextFlags: DWORD, Source: PCONTEXT) -> BOOL; +} +extern "C" { + pub fn InitializeContext( + Buffer: PVOID, + ContextFlags: DWORD, + Context: *mut PCONTEXT, + ContextLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeContext2( + Buffer: PVOID, + ContextFlags: DWORD, + Context: *mut PCONTEXT, + ContextLength: PDWORD, + XStateCompactionMask: ULONG64, + ) -> BOOL; +} +extern "C" { + pub fn GetEnabledXStateFeatures() -> DWORD64; +} +extern "C" { + pub fn GetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: PDWORD64) -> BOOL; +} +extern "C" { + pub fn LocateXStateFeature(Context: PCONTEXT, FeatureId: DWORD, Length: PDWORD) -> PVOID; +} +extern "C" { + pub fn SetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: DWORD64) -> BOOL; +} +extern "C" { + pub fn GetThreadEnabledXStateFeatures() -> DWORD64; +} +extern "C" { + pub fn EnableProcessOptionalXStateFeatures(Features: DWORD64) -> BOOL; +} +extern "C" { + pub fn EnableThreadProfiling( + ThreadHandle: HANDLE, + Flags: DWORD, + HardwareCounters: DWORD64, + PerformanceDataHandle: *mut HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DisableThreadProfiling(PerformanceDataHandle: HANDLE) -> DWORD; +} +extern "C" { + pub fn QueryThreadProfiling(ThreadHandle: HANDLE, Enabled: PBOOLEAN) -> DWORD; +} +extern "C" { + pub fn ReadThreadProfilingData( + PerformanceDataHandle: HANDLE, + Flags: DWORD, + PerformanceData: PPERFORMANCE_DATA, + ) -> DWORD; +} +extern "C" { + pub fn RaiseCustomSystemEventTrigger( + CustomSystemEventTriggerConfig: PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAWPATRECT { + pub ptPosition: POINT, + pub ptSize: POINT, + pub wStyle: WORD, + pub wPattern: WORD, +} +#[test] +fn bindgen_test_layout__DRAWPATRECT() { + const UNINIT: ::std::mem::MaybeUninit<_DRAWPATRECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAWPATRECT>(), + 20usize, + concat!("Size of: ", stringify!(_DRAWPATRECT)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAWPATRECT>(), + 4usize, + concat!("Alignment of ", stringify!(_DRAWPATRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(ptPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(ptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStyle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(wStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPattern) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(wPattern) + ) + ); +} +pub type DRAWPATRECT = _DRAWPATRECT; +pub type PDRAWPATRECT = *mut _DRAWPATRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSINJECTDATA { + pub DataBytes: DWORD, + pub InjectionPoint: WORD, + pub PageNumber: WORD, +} +#[test] +fn bindgen_test_layout__PSINJECTDATA() { + const UNINIT: ::std::mem::MaybeUninit<_PSINJECTDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSINJECTDATA>(), + 8usize, + concat!("Size of: ", stringify!(_PSINJECTDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PSINJECTDATA>(), + 4usize, + concat!("Alignment of ", stringify!(_PSINJECTDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(DataBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InjectionPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(InjectionPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PageNumber) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(PageNumber) + ) + ); +} +pub type PSINJECTDATA = _PSINJECTDATA; +pub type PPSINJECTDATA = *mut _PSINJECTDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSFEATURE_OUTPUT { + pub bPageIndependent: BOOL, + pub bSetPageDevice: BOOL, +} +#[test] +fn bindgen_test_layout__PSFEATURE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_PSFEATURE_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSFEATURE_OUTPUT>(), + 8usize, + concat!("Size of: ", stringify!(_PSFEATURE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_PSFEATURE_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_PSFEATURE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bPageIndependent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_OUTPUT), + "::", + stringify!(bPageIndependent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSetPageDevice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_OUTPUT), + "::", + stringify!(bSetPageDevice) + ) + ); +} +pub type PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT; +pub type PPSFEATURE_OUTPUT = *mut _PSFEATURE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSFEATURE_CUSTPAPER { + pub lOrientation: LONG, + pub lWidth: LONG, + pub lHeight: LONG, + pub lWidthOffset: LONG, + pub lHeightOffset: LONG, +} +#[test] +fn bindgen_test_layout__PSFEATURE_CUSTPAPER() { + const UNINIT: ::std::mem::MaybeUninit<_PSFEATURE_CUSTPAPER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSFEATURE_CUSTPAPER>(), + 20usize, + concat!("Size of: ", stringify!(_PSFEATURE_CUSTPAPER)) + ); + assert_eq!( + ::std::mem::align_of::<_PSFEATURE_CUSTPAPER>(), + 4usize, + concat!("Alignment of ", stringify!(_PSFEATURE_CUSTPAPER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lWidthOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lWidthOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lHeightOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lHeightOffset) + ) + ); +} +pub type PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER; +pub type PPSFEATURE_CUSTPAPER = *mut _PSFEATURE_CUSTPAPER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagXFORM { + pub eM11: FLOAT, + pub eM12: FLOAT, + pub eM21: FLOAT, + pub eM22: FLOAT, + pub eDx: FLOAT, + pub eDy: FLOAT, +} +#[test] +fn bindgen_test_layout_tagXFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagXFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagXFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM21) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM22) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eDx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eDy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eDy) + ) + ); +} +pub type XFORM = tagXFORM; +pub type PXFORM = *mut tagXFORM; +pub type LPXFORM = *mut tagXFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAP { + pub bmType: LONG, + pub bmWidth: LONG, + pub bmHeight: LONG, + pub bmWidthBytes: LONG, + pub bmPlanes: WORD, + pub bmBitsPixel: WORD, + pub bmBits: LPVOID, +} +#[test] +fn bindgen_test_layout_tagBITMAP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidthBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmWidthBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmPlanes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBitsPixel) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmBitsPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmBits) + ) + ); +} +pub type BITMAP = tagBITMAP; +pub type PBITMAP = *mut tagBITMAP; +pub type NPBITMAP = *mut tagBITMAP; +pub type LPBITMAP = *mut tagBITMAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRGBTRIPLE { + pub rgbtBlue: BYTE, + pub rgbtGreen: BYTE, + pub rgbtRed: BYTE, +} +#[test] +fn bindgen_test_layout_tagRGBTRIPLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 3usize, + concat!("Size of: ", stringify!(tagRGBTRIPLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagRGBTRIPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtBlue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtRed) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtRed) + ) + ); +} +pub type RGBTRIPLE = tagRGBTRIPLE; +pub type PRGBTRIPLE = *mut tagRGBTRIPLE; +pub type NPRGBTRIPLE = *mut tagRGBTRIPLE; +pub type LPRGBTRIPLE = *mut tagRGBTRIPLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRGBQUAD { + pub rgbBlue: BYTE, + pub rgbGreen: BYTE, + pub rgbRed: BYTE, + pub rgbReserved: BYTE, +} +#[test] +fn bindgen_test_layout_tagRGBQUAD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagRGBQUAD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagRGBQUAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbBlue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbRed) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type RGBQUAD = tagRGBQUAD; +pub type LPRGBQUAD = *mut RGBQUAD; +pub type LCSCSTYPE = LONG; +pub type LCSGAMUTMATCH = LONG; +pub type FXPT16DOT16 = ::std::os::raw::c_long; +pub type LPFXPT16DOT16 = *mut ::std::os::raw::c_long; +pub type FXPT2DOT30 = ::std::os::raw::c_long; +pub type LPFXPT2DOT30 = *mut ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCIEXYZ { + pub ciexyzX: FXPT2DOT30, + pub ciexyzY: FXPT2DOT30, + pub ciexyzZ: FXPT2DOT30, +} +#[test] +fn bindgen_test_layout_tagCIEXYZ() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagCIEXYZ)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCIEXYZ)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzZ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzZ) + ) + ); +} +pub type CIEXYZ = tagCIEXYZ; +pub type LPCIEXYZ = *mut CIEXYZ; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICEXYZTRIPLE { + pub ciexyzRed: CIEXYZ, + pub ciexyzGreen: CIEXYZ, + pub ciexyzBlue: CIEXYZ, +} +#[test] +fn bindgen_test_layout_tagICEXYZTRIPLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagICEXYZTRIPLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICEXYZTRIPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzGreen) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzBlue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzBlue) + ) + ); +} +pub type CIEXYZTRIPLE = tagICEXYZTRIPLE; +pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGCOLORSPACEA { + pub lcsSignature: DWORD, + pub lcsVersion: DWORD, + pub lcsSize: DWORD, + pub lcsCSType: LCSCSTYPE, + pub lcsIntent: LCSGAMUTMATCH, + pub lcsEndpoints: CIEXYZTRIPLE, + pub lcsGammaRed: DWORD, + pub lcsGammaGreen: DWORD, + pub lcsGammaBlue: DWORD, + pub lcsFilename: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagLOGCOLORSPACEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 328usize, + concat!("Size of: ", stringify!(tagLOGCOLORSPACEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGCOLORSPACEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsCSType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsCSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsIntent) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsEndpoints) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsEndpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaRed) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaGreen) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaBlue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsFilename) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsFilename) + ) + ); +} +pub type LOGCOLORSPACEA = tagLOGCOLORSPACEA; +pub type LPLOGCOLORSPACEA = *mut tagLOGCOLORSPACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGCOLORSPACEW { + pub lcsSignature: DWORD, + pub lcsVersion: DWORD, + pub lcsSize: DWORD, + pub lcsCSType: LCSCSTYPE, + pub lcsIntent: LCSGAMUTMATCH, + pub lcsEndpoints: CIEXYZTRIPLE, + pub lcsGammaRed: DWORD, + pub lcsGammaGreen: DWORD, + pub lcsGammaBlue: DWORD, + pub lcsFilename: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagLOGCOLORSPACEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 588usize, + concat!("Size of: ", stringify!(tagLOGCOLORSPACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGCOLORSPACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsCSType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsCSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsIntent) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsEndpoints) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsEndpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaRed) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaGreen) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaBlue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsFilename) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsFilename) + ) + ); +} +pub type LOGCOLORSPACEW = tagLOGCOLORSPACEW; +pub type LPLOGCOLORSPACEW = *mut tagLOGCOLORSPACEW; +pub type LOGCOLORSPACE = LOGCOLORSPACEA; +pub type LPLOGCOLORSPACE = LPLOGCOLORSPACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPCOREHEADER { + pub bcSize: DWORD, + pub bcWidth: WORD, + pub bcHeight: WORD, + pub bcPlanes: WORD, + pub bcBitCount: WORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPCOREHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagBITMAPCOREHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPCOREHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcHeight) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcPlanes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcBitCount) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcBitCount) + ) + ); +} +pub type BITMAPCOREHEADER = tagBITMAPCOREHEADER; +pub type LPBITMAPCOREHEADER = *mut tagBITMAPCOREHEADER; +pub type PBITMAPCOREHEADER = *mut tagBITMAPCOREHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPINFOHEADER { + pub biSize: DWORD, + pub biWidth: LONG, + pub biHeight: LONG, + pub biPlanes: WORD, + pub biBitCount: WORD, + pub biCompression: DWORD, + pub biSizeImage: DWORD, + pub biXPelsPerMeter: LONG, + pub biYPelsPerMeter: LONG, + pub biClrUsed: DWORD, + pub biClrImportant: DWORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPINFOHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagBITMAPINFOHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPINFOHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biPlanes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biBitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biCompression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biCompression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biSizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biSizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biXPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biXPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biYPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biYPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biClrImportant) + ) + ); +} +pub type BITMAPINFOHEADER = tagBITMAPINFOHEADER; +pub type LPBITMAPINFOHEADER = *mut tagBITMAPINFOHEADER; +pub type PBITMAPINFOHEADER = *mut tagBITMAPINFOHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BITMAPV4HEADER { + pub bV4Size: DWORD, + pub bV4Width: LONG, + pub bV4Height: LONG, + pub bV4Planes: WORD, + pub bV4BitCount: WORD, + pub bV4V4Compression: DWORD, + pub bV4SizeImage: DWORD, + pub bV4XPelsPerMeter: LONG, + pub bV4YPelsPerMeter: LONG, + pub bV4ClrUsed: DWORD, + pub bV4ClrImportant: DWORD, + pub bV4RedMask: DWORD, + pub bV4GreenMask: DWORD, + pub bV4BlueMask: DWORD, + pub bV4AlphaMask: DWORD, + pub bV4CSType: DWORD, + pub bV4Endpoints: CIEXYZTRIPLE, + pub bV4GammaRed: DWORD, + pub bV4GammaGreen: DWORD, + pub bV4GammaBlue: DWORD, +} +#[test] +fn bindgen_test_layout_BITMAPV4HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(BITMAPV4HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BITMAPV4HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Width) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Height) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Planes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4BitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4BitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4V4Compression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4V4Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4SizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4SizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4XPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4XPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4YPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4YPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4ClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4ClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4ClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4ClrImportant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4RedMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4RedMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GreenMask) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GreenMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4BlueMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4BlueMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4AlphaMask) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4AlphaMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4CSType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4CSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Endpoints) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Endpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaRed) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaGreen) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaBlue) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaBlue) + ) + ); +} +pub type LPBITMAPV4HEADER = *mut BITMAPV4HEADER; +pub type PBITMAPV4HEADER = *mut BITMAPV4HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BITMAPV5HEADER { + pub bV5Size: DWORD, + pub bV5Width: LONG, + pub bV5Height: LONG, + pub bV5Planes: WORD, + pub bV5BitCount: WORD, + pub bV5Compression: DWORD, + pub bV5SizeImage: DWORD, + pub bV5XPelsPerMeter: LONG, + pub bV5YPelsPerMeter: LONG, + pub bV5ClrUsed: DWORD, + pub bV5ClrImportant: DWORD, + pub bV5RedMask: DWORD, + pub bV5GreenMask: DWORD, + pub bV5BlueMask: DWORD, + pub bV5AlphaMask: DWORD, + pub bV5CSType: DWORD, + pub bV5Endpoints: CIEXYZTRIPLE, + pub bV5GammaRed: DWORD, + pub bV5GammaGreen: DWORD, + pub bV5GammaBlue: DWORD, + pub bV5Intent: DWORD, + pub bV5ProfileData: DWORD, + pub bV5ProfileSize: DWORD, + pub bV5Reserved: DWORD, +} +#[test] +fn bindgen_test_layout_BITMAPV5HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(BITMAPV5HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BITMAPV5HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Width) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Height) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Planes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5BitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5BitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Compression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5SizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5SizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5XPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5XPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5YPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5YPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ClrImportant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5RedMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5RedMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GreenMask) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GreenMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5BlueMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5BlueMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5AlphaMask) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5AlphaMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5CSType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5CSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Endpoints) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Endpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaRed) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaGreen) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaBlue) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Intent) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Intent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ProfileData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ProfileData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ProfileSize) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ProfileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Reserved) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Reserved) + ) + ); +} +pub type LPBITMAPV5HEADER = *mut BITMAPV5HEADER; +pub type PBITMAPV5HEADER = *mut BITMAPV5HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPINFO { + pub bmiHeader: BITMAPINFOHEADER, + pub bmiColors: [RGBQUAD; 1usize], +} +#[test] +fn bindgen_test_layout_tagBITMAPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagBITMAPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmiHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFO), + "::", + stringify!(bmiHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmiColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFO), + "::", + stringify!(bmiColors) + ) + ); +} +pub type BITMAPINFO = tagBITMAPINFO; +pub type LPBITMAPINFO = *mut tagBITMAPINFO; +pub type PBITMAPINFO = *mut tagBITMAPINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPCOREINFO { + pub bmciHeader: BITMAPCOREHEADER, + pub bmciColors: [RGBTRIPLE; 1usize], +} +#[test] +fn bindgen_test_layout_tagBITMAPCOREINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBITMAPCOREINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPCOREINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmciHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREINFO), + "::", + stringify!(bmciHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmciColors) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREINFO), + "::", + stringify!(bmciColors) + ) + ); +} +pub type BITMAPCOREINFO = tagBITMAPCOREINFO; +pub type LPBITMAPCOREINFO = *mut tagBITMAPCOREINFO; +pub type PBITMAPCOREINFO = *mut tagBITMAPCOREINFO; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPFILEHEADER { + pub bfType: WORD, + pub bfSize: DWORD, + pub bfReserved1: WORD, + pub bfReserved2: WORD, + pub bfOffBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPFILEHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 14usize, + concat!("Size of: ", stringify!(tagBITMAPFILEHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagBITMAPFILEHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfReserved1) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfReserved2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfOffBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfOffBits) + ) + ); +} +pub type BITMAPFILEHEADER = tagBITMAPFILEHEADER; +pub type LPBITMAPFILEHEADER = *mut tagBITMAPFILEHEADER; +pub type PBITMAPFILEHEADER = *mut tagBITMAPFILEHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFONTSIGNATURE { + pub fsUsb: [DWORD; 4usize], + pub fsCsb: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_tagFONTSIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagFONTSIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagFONTSIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsUsb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFONTSIGNATURE), + "::", + stringify!(fsUsb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsCsb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFONTSIGNATURE), + "::", + stringify!(fsCsb) + ) + ); +} +pub type FONTSIGNATURE = tagFONTSIGNATURE; +pub type PFONTSIGNATURE = *mut tagFONTSIGNATURE; +pub type LPFONTSIGNATURE = *mut tagFONTSIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHARSETINFO { + pub ciCharset: UINT, + pub ciACP: UINT, + pub fs: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagCHARSETINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCHARSETINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCHARSETINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciCharset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(ciCharset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciACP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(ciACP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(fs) + ) + ); +} +pub type CHARSETINFO = tagCHARSETINFO; +pub type PCHARSETINFO = *mut tagCHARSETINFO; +pub type NPCHARSETINFO = *mut tagCHARSETINFO; +pub type LPCHARSETINFO = *mut tagCHARSETINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOCALESIGNATURE { + pub lsUsb: [DWORD; 4usize], + pub lsCsbDefault: [DWORD; 2usize], + pub lsCsbSupported: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_tagLOCALESIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagLOCALESIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOCALESIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsUsb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsUsb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsCsbDefault) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsCsbDefault) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsCsbSupported) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsCsbSupported) + ) + ); +} +pub type LOCALESIGNATURE = tagLOCALESIGNATURE; +pub type PLOCALESIGNATURE = *mut tagLOCALESIGNATURE; +pub type LPLOCALESIGNATURE = *mut tagLOCALESIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHANDLETABLE { + pub objectHandle: [HGDIOBJ; 1usize], +} +#[test] +fn bindgen_test_layout_tagHANDLETABLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagHANDLETABLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHANDLETABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).objectHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHANDLETABLE), + "::", + stringify!(objectHandle) + ) + ); +} +pub type HANDLETABLE = tagHANDLETABLE; +pub type PHANDLETABLE = *mut tagHANDLETABLE; +pub type LPHANDLETABLE = *mut tagHANDLETABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETARECORD { + pub rdSize: DWORD, + pub rdFunction: WORD, + pub rdParm: [WORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagMETARECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMETARECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMETARECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdFunction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdFunction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdParm) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdParm) + ) + ); +} +pub type METARECORD = tagMETARECORD; +pub type PMETARECORD = *mut tagMETARECORD; +pub type LPMETARECORD = *mut tagMETARECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub hMF: HMETAFILE, +} +#[test] +fn bindgen_test_layout_tagMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(hMF) + ) + ); +} +pub type METAFILEPICT = tagMETAFILEPICT; +pub type LPMETAFILEPICT = *mut tagMETAFILEPICT; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct tagMETAHEADER { + pub mtType: WORD, + pub mtHeaderSize: WORD, + pub mtVersion: WORD, + pub mtSize: DWORD, + pub mtNoObjects: WORD, + pub mtMaxRecord: DWORD, + pub mtNoParameters: WORD, +} +#[test] +fn bindgen_test_layout_tagMETAHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(tagMETAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagMETAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtHeaderSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtHeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtSize) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtNoObjects) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtNoObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtMaxRecord) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtMaxRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtNoParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtNoParameters) + ) + ); +} +pub type METAHEADER = tagMETAHEADER; +pub type PMETAHEADER = *mut tagMETAHEADER; +pub type LPMETAHEADER = *mut tagMETAHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENHMETARECORD { + pub iType: DWORD, + pub nSize: DWORD, + pub dParm: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagENHMETARECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagENHMETARECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENHMETARECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dParm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(dParm) + ) + ); +} +pub type ENHMETARECORD = tagENHMETARECORD; +pub type PENHMETARECORD = *mut tagENHMETARECORD; +pub type LPENHMETARECORD = *mut tagENHMETARECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENHMETAHEADER { + pub iType: DWORD, + pub nSize: DWORD, + pub rclBounds: RECTL, + pub rclFrame: RECTL, + pub dSignature: DWORD, + pub nVersion: DWORD, + pub nBytes: DWORD, + pub nRecords: DWORD, + pub nHandles: WORD, + pub sReserved: WORD, + pub nDescription: DWORD, + pub offDescription: DWORD, + pub nPalEntries: DWORD, + pub szlDevice: SIZEL, + pub szlMillimeters: SIZEL, + pub cbPixelFormat: DWORD, + pub offPixelFormat: DWORD, + pub bOpenGL: DWORD, + pub szlMicrometers: SIZEL, +} +#[test] +fn bindgen_test_layout_tagENHMETAHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagENHMETAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENHMETAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclFrame) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(rclFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dSignature) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(dSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRecords) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nHandles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sReserved) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(sReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDescription) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offDescription) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(offDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlDevice) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlMillimeters) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlMillimeters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPixelFormat) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(cbPixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offPixelFormat) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(offPixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bOpenGL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(bOpenGL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlMicrometers) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlMicrometers) + ) + ); +} +pub type ENHMETAHEADER = tagENHMETAHEADER; +pub type PENHMETAHEADER = *mut tagENHMETAHEADER; +pub type LPENHMETAHEADER = *mut tagENHMETAHEADER; +pub type BCHAR = BYTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTEXTMETRICA { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: BYTE, + pub tmLastChar: BYTE, + pub tmDefaultChar: BYTE, + pub tmBreakChar: BYTE, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, +} +#[test] +fn bindgen_test_layout_tagTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmCharSet) + ) + ); +} +pub type TEXTMETRICA = tagTEXTMETRICA; +pub type PTEXTMETRICA = *mut tagTEXTMETRICA; +pub type NPTEXTMETRICA = *mut tagTEXTMETRICA; +pub type LPTEXTMETRICA = *mut tagTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTEXTMETRICW { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: WCHAR, + pub tmLastChar: WCHAR, + pub tmDefaultChar: WCHAR, + pub tmBreakChar: WCHAR, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, +} +#[test] +fn bindgen_test_layout_tagTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 53usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmCharSet) + ) + ); +} +pub type TEXTMETRICW = tagTEXTMETRICW; +pub type PTEXTMETRICW = *mut tagTEXTMETRICW; +pub type NPTEXTMETRICW = *mut tagTEXTMETRICW; +pub type LPTEXTMETRICW = *mut tagTEXTMETRICW; +pub type TEXTMETRIC = TEXTMETRICA; +pub type PTEXTMETRIC = PTEXTMETRICA; +pub type NPTEXTMETRIC = NPTEXTMETRICA; +pub type LPTEXTMETRIC = LPTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICA { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: BYTE, + pub tmLastChar: BYTE, + pub tmDefaultChar: BYTE, + pub tmBreakChar: BYTE, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, + pub ntmFlags: DWORD, + pub ntmSizeEM: UINT, + pub ntmCellHeight: UINT, + pub ntmAvgWidth: UINT, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFlags) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmSizeEM) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmSizeEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmCellHeight) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmCellHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmAvgWidth) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmAvgWidth) + ) + ); +} +pub type NEWTEXTMETRICA = tagNEWTEXTMETRICA; +pub type PNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +pub type NPNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +pub type LPNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICW { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: WCHAR, + pub tmLastChar: WCHAR, + pub tmDefaultChar: WCHAR, + pub tmBreakChar: WCHAR, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, + pub ntmFlags: DWORD, + pub ntmSizeEM: UINT, + pub ntmCellHeight: UINT, + pub ntmAvgWidth: UINT, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 53usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmSizeEM) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmSizeEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmCellHeight) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmCellHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmAvgWidth) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmAvgWidth) + ) + ); +} +pub type NEWTEXTMETRICW = tagNEWTEXTMETRICW; +pub type PNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type NPNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type LPNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type NEWTEXTMETRIC = NEWTEXTMETRICA; +pub type PNEWTEXTMETRIC = PNEWTEXTMETRICA; +pub type NPNEWTEXTMETRIC = NPNEWTEXTMETRICA; +pub type LPNEWTEXTMETRIC = LPNEWTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICEXA { + pub ntmTm: NEWTEXTMETRICA, + pub ntmFontSig: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmTm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXA), + "::", + stringify!(ntmTm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFontSig) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXA), + "::", + stringify!(ntmFontSig) + ) + ); +} +pub type NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICEXW { + pub ntmTm: NEWTEXTMETRICW, + pub ntmFontSig: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmTm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXW), + "::", + stringify!(ntmTm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFontSig) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXW), + "::", + stringify!(ntmFontSig) + ) + ); +} +pub type NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW; +pub type NEWTEXTMETRICEX = NEWTEXTMETRICEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPELARRAY { + pub paXCount: LONG, + pub paYCount: LONG, + pub paXExt: LONG, + pub paYExt: LONG, + pub paRGBs: BYTE, +} +#[test] +fn bindgen_test_layout_tagPELARRAY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagPELARRAY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPELARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paXCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paXCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paYCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paYCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paXExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paXExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paYExt) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paYExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paRGBs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paRGBs) + ) + ); +} +pub type PELARRAY = tagPELARRAY; +pub type PPELARRAY = *mut tagPELARRAY; +pub type NPPELARRAY = *mut tagPELARRAY; +pub type LPPELARRAY = *mut tagPELARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGBRUSH { + pub lbStyle: UINT, + pub lbColor: COLORREF, + pub lbHatch: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagLOGBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagLOGBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagLOGBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbColor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbHatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbHatch) + ) + ); +} +pub type LOGBRUSH = tagLOGBRUSH; +pub type PLOGBRUSH = *mut tagLOGBRUSH; +pub type NPLOGBRUSH = *mut tagLOGBRUSH; +pub type LPLOGBRUSH = *mut tagLOGBRUSH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGBRUSH32 { + pub lbStyle: UINT, + pub lbColor: COLORREF, + pub lbHatch: ULONG, +} +#[test] +fn bindgen_test_layout_tagLOGBRUSH32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagLOGBRUSH32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGBRUSH32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbColor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbHatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbHatch) + ) + ); +} +pub type LOGBRUSH32 = tagLOGBRUSH32; +pub type PLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type NPLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type LPLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type PATTERN = LOGBRUSH; +pub type PPATTERN = *mut PATTERN; +pub type NPPATTERN = *mut PATTERN; +pub type LPPATTERN = *mut PATTERN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGPEN { + pub lopnStyle: UINT, + pub lopnWidth: POINT, + pub lopnColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagLOGPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagLOGPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnColor) + ) + ); +} +pub type LOGPEN = tagLOGPEN; +pub type PLOGPEN = *mut tagLOGPEN; +pub type NPLOGPEN = *mut tagLOGPEN; +pub type LPLOGPEN = *mut tagLOGPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGPEN { + pub elpPenStyle: DWORD, + pub elpWidth: DWORD, + pub elpBrushStyle: UINT, + pub elpColor: COLORREF, + pub elpHatch: ULONG_PTR, + pub elpNumEntries: DWORD, + pub elpStyleEntry: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagEXTLOGPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEXTLOGPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEXTLOGPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpPenStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpPenStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpBrushStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpBrushStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpHatch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpHatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpNumEntries) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpStyleEntry) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpStyleEntry) + ) + ); +} +pub type EXTLOGPEN = tagEXTLOGPEN; +pub type PEXTLOGPEN = *mut tagEXTLOGPEN; +pub type NPEXTLOGPEN = *mut tagEXTLOGPEN; +pub type LPEXTLOGPEN = *mut tagEXTLOGPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGPEN32 { + pub elpPenStyle: DWORD, + pub elpWidth: DWORD, + pub elpBrushStyle: UINT, + pub elpColor: COLORREF, + pub elpHatch: ULONG, + pub elpNumEntries: DWORD, + pub elpStyleEntry: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagEXTLOGPEN32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEXTLOGPEN32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGPEN32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpPenStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpPenStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpBrushStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpBrushStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpHatch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpHatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpNumEntries) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpStyleEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpStyleEntry) + ) + ); +} +pub type EXTLOGPEN32 = tagEXTLOGPEN32; +pub type PEXTLOGPEN32 = *mut tagEXTLOGPEN32; +pub type NPEXTLOGPEN32 = *mut tagEXTLOGPEN32; +pub type LPEXTLOGPEN32 = *mut tagEXTLOGPEN32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPALETTEENTRY { + pub peRed: BYTE, + pub peGreen: BYTE, + pub peBlue: BYTE, + pub peFlags: BYTE, +} +#[test] +fn bindgen_test_layout_tagPALETTEENTRY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagPALETTEENTRY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagPALETTEENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peBlue) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peFlags) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peFlags) + ) + ); +} +pub type PALETTEENTRY = tagPALETTEENTRY; +pub type PPALETTEENTRY = *mut tagPALETTEENTRY; +pub type LPPALETTEENTRY = *mut tagPALETTEENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGPALETTE { + pub palVersion: WORD, + pub palNumEntries: WORD, + pub palPalEntry: [PALETTEENTRY; 1usize], +} +#[test] +fn bindgen_test_layout_tagLOGPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagLOGPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagLOGPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palNumEntries) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palPalEntry) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palPalEntry) + ) + ); +} +pub type LOGPALETTE = tagLOGPALETTE; +pub type PLOGPALETTE = *mut tagLOGPALETTE; +pub type NPLOGPALETTE = *mut tagLOGPALETTE; +pub type LPLOGPALETTE = *mut tagLOGPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGFONTA { + pub lfHeight: LONG, + pub lfWidth: LONG, + pub lfEscapement: LONG, + pub lfOrientation: LONG, + pub lfWeight: LONG, + pub lfItalic: BYTE, + pub lfUnderline: BYTE, + pub lfStrikeOut: BYTE, + pub lfCharSet: BYTE, + pub lfOutPrecision: BYTE, + pub lfClipPrecision: BYTE, + pub lfQuality: BYTE, + pub lfPitchAndFamily: BYTE, + pub lfFaceName: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfEscapement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfEscapement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOrientation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfItalic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfUnderline) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfUnderline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStrikeOut) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfStrikeOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCharSet) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOutPrecision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfOutPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfClipPrecision) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfClipPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfQuality) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfQuality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfPitchAndFamily) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFaceName) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfFaceName) + ) + ); +} +pub type LOGFONTA = tagLOGFONTA; +pub type PLOGFONTA = *mut tagLOGFONTA; +pub type NPLOGFONTA = *mut tagLOGFONTA; +pub type LPLOGFONTA = *mut tagLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGFONTW { + pub lfHeight: LONG, + pub lfWidth: LONG, + pub lfEscapement: LONG, + pub lfOrientation: LONG, + pub lfWeight: LONG, + pub lfItalic: BYTE, + pub lfUnderline: BYTE, + pub lfStrikeOut: BYTE, + pub lfCharSet: BYTE, + pub lfOutPrecision: BYTE, + pub lfClipPrecision: BYTE, + pub lfQuality: BYTE, + pub lfPitchAndFamily: BYTE, + pub lfFaceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 92usize, + concat!("Size of: ", stringify!(tagLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfEscapement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfEscapement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOrientation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfItalic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfUnderline) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfUnderline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStrikeOut) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfStrikeOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCharSet) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOutPrecision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfOutPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfClipPrecision) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfClipPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfQuality) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfQuality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfPitchAndFamily) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFaceName) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfFaceName) + ) + ); +} +pub type LOGFONTW = tagLOGFONTW; +pub type PLOGFONTW = *mut tagLOGFONTW; +pub type NPLOGFONTW = *mut tagLOGFONTW; +pub type LPLOGFONTW = *mut tagLOGFONTW; +pub type LOGFONT = LOGFONTA; +pub type PLOGFONT = PLOGFONTA; +pub type NPLOGFONT = NPLOGFONTA; +pub type LPLOGFONT = LPLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 156usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfStyle) + ) + ); +} +pub type ENUMLOGFONTA = tagENUMLOGFONTA; +pub type LPENUMLOGFONTA = *mut tagENUMLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 284usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfStyle) + ) + ); +} +pub type ENUMLOGFONTW = tagENUMLOGFONTW; +pub type LPENUMLOGFONTW = *mut tagENUMLOGFONTW; +pub type ENUMLOGFONT = ENUMLOGFONTA; +pub type LPENUMLOGFONT = LPENUMLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], + pub elfScript: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 188usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfScript) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfScript) + ) + ); +} +pub type ENUMLOGFONTEXA = tagENUMLOGFONTEXA; +pub type LPENUMLOGFONTEXA = *mut tagENUMLOGFONTEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], + pub elfScript: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 348usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfScript) as usize - ptr as usize }, + 284usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfScript) + ) + ); +} +pub type ENUMLOGFONTEXW = tagENUMLOGFONTEXW; +pub type LPENUMLOGFONTEXW = *mut tagENUMLOGFONTEXW; +pub type ENUMLOGFONTEX = ENUMLOGFONTEXA; +pub type LPENUMLOGFONTEX = LPENUMLOGFONTEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPANOSE { + pub bFamilyType: BYTE, + pub bSerifStyle: BYTE, + pub bWeight: BYTE, + pub bProportion: BYTE, + pub bContrast: BYTE, + pub bStrokeVariation: BYTE, + pub bArmStyle: BYTE, + pub bLetterform: BYTE, + pub bMidline: BYTE, + pub bXHeight: BYTE, +} +#[test] +fn bindgen_test_layout_tagPANOSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 10usize, + concat!("Size of: ", stringify!(tagPANOSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagPANOSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFamilyType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bFamilyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSerifStyle) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bSerifStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bWeight) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bProportion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bProportion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bContrast) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bStrokeVariation) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bStrokeVariation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bArmStyle) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bArmStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bLetterform) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bLetterform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bMidline) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bMidline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bXHeight) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bXHeight) + ) + ); +} +pub type PANOSE = tagPANOSE; +pub type LPPANOSE = *mut tagPANOSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGFONTA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], + pub elfVersion: DWORD, + pub elfStyleSize: DWORD, + pub elfMatch: DWORD, + pub elfReserved: DWORD, + pub elfVendorId: [BYTE; 4usize], + pub elfCulture: DWORD, + pub elfPanose: PANOSE, +} +#[test] +fn bindgen_test_layout_tagEXTLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 192usize, + concat!("Size of: ", stringify!(tagEXTLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVersion) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyleSize) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfStyleSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfMatch) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfMatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfReserved) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVendorId) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfCulture) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfCulture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfPanose) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfPanose) + ) + ); +} +pub type EXTLOGFONTA = tagEXTLOGFONTA; +pub type PEXTLOGFONTA = *mut tagEXTLOGFONTA; +pub type NPEXTLOGFONTA = *mut tagEXTLOGFONTA; +pub type LPEXTLOGFONTA = *mut tagEXTLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGFONTW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], + pub elfVersion: DWORD, + pub elfStyleSize: DWORD, + pub elfMatch: DWORD, + pub elfReserved: DWORD, + pub elfVendorId: [BYTE; 4usize], + pub elfCulture: DWORD, + pub elfPanose: PANOSE, +} +#[test] +fn bindgen_test_layout_tagEXTLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 320usize, + concat!("Size of: ", stringify!(tagEXTLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVersion) as usize - ptr as usize }, + 284usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyleSize) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfStyleSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfMatch) as usize - ptr as usize }, + 292usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfMatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfReserved) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVendorId) as usize - ptr as usize }, + 300usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfCulture) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfCulture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfPanose) as usize - ptr as usize }, + 308usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfPanose) + ) + ); +} +pub type EXTLOGFONTW = tagEXTLOGFONTW; +pub type PEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type NPEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type LPEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type EXTLOGFONT = EXTLOGFONTA; +pub type PEXTLOGFONT = PEXTLOGFONTA; +pub type NPEXTLOGFONT = NPEXTLOGFONTA; +pub type LPEXTLOGFONT = LPEXTLOGFONTA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _devicemodeA { + pub dmDeviceName: [BYTE; 32usize], + pub dmSpecVersion: WORD, + pub dmDriverVersion: WORD, + pub dmSize: WORD, + pub dmDriverExtra: WORD, + pub dmFields: DWORD, + pub __bindgen_anon_1: _devicemodeA__bindgen_ty_1, + pub dmColor: ::std::os::raw::c_short, + pub dmDuplex: ::std::os::raw::c_short, + pub dmYResolution: ::std::os::raw::c_short, + pub dmTTOption: ::std::os::raw::c_short, + pub dmCollate: ::std::os::raw::c_short, + pub dmFormName: [BYTE; 32usize], + pub dmLogPixels: WORD, + pub dmBitsPerPel: DWORD, + pub dmPelsWidth: DWORD, + pub dmPelsHeight: DWORD, + pub __bindgen_anon_2: _devicemodeA__bindgen_ty_2, + pub dmDisplayFrequency: DWORD, + pub dmICMMethod: DWORD, + pub dmICMIntent: DWORD, + pub dmMediaType: DWORD, + pub dmDitherType: DWORD, + pub dmReserved1: DWORD, + pub dmReserved2: DWORD, + pub dmPanningWidth: DWORD, + pub dmPanningHeight: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeA__bindgen_ty_1 { + pub __bindgen_anon_1: _devicemodeA__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _devicemodeA__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeA__bindgen_ty_1__bindgen_ty_1 { + pub dmOrientation: ::std::os::raw::c_short, + pub dmPaperSize: ::std::os::raw::c_short, + pub dmPaperLength: ::std::os::raw::c_short, + pub dmPaperWidth: ::std::os::raw::c_short, + pub dmScale: ::std::os::raw::c_short, + pub dmCopies: ::std::os::raw::c_short, + pub dmDefaultSource: ::std::os::raw::c_short, + pub dmPrintQuality: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperWidth) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmScale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCopies) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDefaultSource) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmDefaultSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPrintQuality) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPrintQuality) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeA__bindgen_ty_1__bindgen_ty_2 { + pub dmPosition: POINTL, + pub dmDisplayOrientation: DWORD, + pub dmDisplayFixedOutput: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayOrientation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFixedOutput) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayFixedOutput) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_devicemodeA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA__bindgen_ty_1)) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeA__bindgen_ty_2 { + pub dmDisplayFlags: DWORD, + pub dmNup: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_2>(), + 4usize, + concat!("Size of: ", stringify!(_devicemodeA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_2), + "::", + stringify!(dmDisplayFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmNup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_2), + "::", + stringify!(dmNup) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeA() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA>(), + 156usize, + concat!("Size of: ", stringify!(_devicemodeA)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDeviceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSpecVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmSpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverVersion) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverExtra) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDriverExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFields) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmColor) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDuplex) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDuplex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmYResolution) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmYResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmTTOption) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmTTOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCollate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmCollate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFormName) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmFormName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmLogPixels) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmLogPixels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmBitsPerPel) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmBitsPerPel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsWidth) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPelsWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPelsHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFrequency) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDisplayFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMMethod) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmICMMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMIntent) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmICMIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmMediaType) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmMediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDitherType) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDitherType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved1) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved2) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningWidth) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPanningWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningHeight) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPanningHeight) + ) + ); +} +pub type DEVMODEA = _devicemodeA; +pub type PDEVMODEA = *mut _devicemodeA; +pub type NPDEVMODEA = *mut _devicemodeA; +pub type LPDEVMODEA = *mut _devicemodeA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _devicemodeW { + pub dmDeviceName: [WCHAR; 32usize], + pub dmSpecVersion: WORD, + pub dmDriverVersion: WORD, + pub dmSize: WORD, + pub dmDriverExtra: WORD, + pub dmFields: DWORD, + pub __bindgen_anon_1: _devicemodeW__bindgen_ty_1, + pub dmColor: ::std::os::raw::c_short, + pub dmDuplex: ::std::os::raw::c_short, + pub dmYResolution: ::std::os::raw::c_short, + pub dmTTOption: ::std::os::raw::c_short, + pub dmCollate: ::std::os::raw::c_short, + pub dmFormName: [WCHAR; 32usize], + pub dmLogPixels: WORD, + pub dmBitsPerPel: DWORD, + pub dmPelsWidth: DWORD, + pub dmPelsHeight: DWORD, + pub __bindgen_anon_2: _devicemodeW__bindgen_ty_2, + pub dmDisplayFrequency: DWORD, + pub dmICMMethod: DWORD, + pub dmICMIntent: DWORD, + pub dmMediaType: DWORD, + pub dmDitherType: DWORD, + pub dmReserved1: DWORD, + pub dmReserved2: DWORD, + pub dmPanningWidth: DWORD, + pub dmPanningHeight: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeW__bindgen_ty_1 { + pub __bindgen_anon_1: _devicemodeW__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _devicemodeW__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeW__bindgen_ty_1__bindgen_ty_1 { + pub dmOrientation: ::std::os::raw::c_short, + pub dmPaperSize: ::std::os::raw::c_short, + pub dmPaperLength: ::std::os::raw::c_short, + pub dmPaperWidth: ::std::os::raw::c_short, + pub dmScale: ::std::os::raw::c_short, + pub dmCopies: ::std::os::raw::c_short, + pub dmDefaultSource: ::std::os::raw::c_short, + pub dmPrintQuality: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperWidth) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmScale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCopies) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDefaultSource) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmDefaultSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPrintQuality) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPrintQuality) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeW__bindgen_ty_1__bindgen_ty_2 { + pub dmPosition: POINTL, + pub dmDisplayOrientation: DWORD, + pub dmDisplayFixedOutput: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayOrientation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFixedOutput) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayFixedOutput) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_devicemodeW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW__bindgen_ty_1)) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeW__bindgen_ty_2 { + pub dmDisplayFlags: DWORD, + pub dmNup: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_2>(), + 4usize, + concat!("Size of: ", stringify!(_devicemodeW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_2), + "::", + stringify!(dmDisplayFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmNup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_2), + "::", + stringify!(dmNup) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeW() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW>(), + 220usize, + concat!("Size of: ", stringify!(_devicemodeW)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDeviceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSpecVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmSpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverVersion) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSize) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverExtra) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDriverExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFields) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmColor) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDuplex) as usize - ptr as usize }, + 94usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDuplex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmYResolution) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmYResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmTTOption) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmTTOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCollate) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmCollate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFormName) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmFormName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmLogPixels) as usize - ptr as usize }, + 166usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmLogPixels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmBitsPerPel) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmBitsPerPel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsWidth) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPelsWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsHeight) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPelsHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFrequency) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDisplayFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMMethod) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmICMMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMIntent) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmICMIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmMediaType) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmMediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDitherType) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDitherType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved1) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved2) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningWidth) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPanningWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningHeight) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPanningHeight) + ) + ); +} +pub type DEVMODEW = _devicemodeW; +pub type PDEVMODEW = *mut _devicemodeW; +pub type NPDEVMODEW = *mut _devicemodeW; +pub type LPDEVMODEW = *mut _devicemodeW; +pub type DEVMODE = DEVMODEA; +pub type PDEVMODE = PDEVMODEA; +pub type NPDEVMODE = NPDEVMODEA; +pub type LPDEVMODE = LPDEVMODEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAY_DEVICEA { + pub cb: DWORD, + pub DeviceName: [CHAR; 32usize], + pub DeviceString: [CHAR; 128usize], + pub StateFlags: DWORD, + pub DeviceID: [CHAR; 128usize], + pub DeviceKey: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__DISPLAY_DEVICEA() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAY_DEVICEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAY_DEVICEA>(), + 424usize, + concat!("Size of: ", stringify!(_DISPLAY_DEVICEA)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAY_DEVICEA>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAY_DEVICEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceString) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceID) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceKey) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceKey) + ) + ); +} +pub type DISPLAY_DEVICEA = _DISPLAY_DEVICEA; +pub type PDISPLAY_DEVICEA = *mut _DISPLAY_DEVICEA; +pub type LPDISPLAY_DEVICEA = *mut _DISPLAY_DEVICEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAY_DEVICEW { + pub cb: DWORD, + pub DeviceName: [WCHAR; 32usize], + pub DeviceString: [WCHAR; 128usize], + pub StateFlags: DWORD, + pub DeviceID: [WCHAR; 128usize], + pub DeviceKey: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__DISPLAY_DEVICEW() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAY_DEVICEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAY_DEVICEW>(), + 840usize, + concat!("Size of: ", stringify!(_DISPLAY_DEVICEW)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAY_DEVICEW>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAY_DEVICEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceString) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 324usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceID) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceKey) as usize - ptr as usize }, + 584usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceKey) + ) + ); +} +pub type DISPLAY_DEVICEW = _DISPLAY_DEVICEW; +pub type PDISPLAY_DEVICEW = *mut _DISPLAY_DEVICEW; +pub type LPDISPLAY_DEVICEW = *mut _DISPLAY_DEVICEW; +pub type DISPLAY_DEVICE = DISPLAY_DEVICEA; +pub type PDISPLAY_DEVICE = PDISPLAY_DEVICEA; +pub type LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_RATIONAL { + pub Numerator: UINT32, + pub Denominator: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_RATIONAL() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_RATIONAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_RATIONAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Numerator) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_RATIONAL), + "::", + stringify!(Numerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Denominator) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_RATIONAL), + "::", + stringify!(Denominator) + ) + ); +} +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 0; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 1; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 2; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 3; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 4; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 5; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 6; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 8; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 9; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 10 ; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 11 ; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 12; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 13; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 14; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 15; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 16; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 17; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_USB_TUNNEL : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 18 ; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -2147483648; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; +pub type DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED: + DISPLAYCONFIG_SCANLINE_ORDERING = 0; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE: + DISPLAYCONFIG_SCANLINE_ORDERING = 1; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED: + DISPLAYCONFIG_SCANLINE_ORDERING = 2; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 2 ; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 3 ; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32: + DISPLAYCONFIG_SCANLINE_ORDERING = -1; +pub type DISPLAYCONFIG_SCANLINE_ORDERING = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_2DREGION { + pub cx: UINT32, + pub cy: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_2DREGION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_2DREGION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_2DREGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_2DREGION), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_2DREGION), + "::", + stringify!(cy) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { + pub pixelRate: UINT64, + pub hSyncFreq: DISPLAYCONFIG_RATIONAL, + pub vSyncFreq: DISPLAYCONFIG_RATIONAL, + pub activeSize: DISPLAYCONFIG_2DREGION, + pub totalSize: DISPLAYCONFIG_2DREGION, + pub __bindgen_anon_1: DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1, + pub scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1 { + pub AdditionalSignalInfo: DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1, + pub videoStandard: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn videoStandard(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_videoStandard(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn vSyncFreqDivider(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 6u8) as u32) } + } + #[inline] + pub fn set_vSyncFreqDivider(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 6u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 10u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 10u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + videoStandard: UINT32, + vSyncFreqDivider: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let videoStandard: u32 = unsafe { ::std::mem::transmute(videoStandard) }; + videoStandard as u64 + }); + __bindgen_bitfield_unit.set(16usize, 6u8, { + let vSyncFreqDivider: u32 = unsafe { ::std::mem::transmute(vSyncFreqDivider) }; + vSyncFreqDivider as u64 + }); + __bindgen_bitfield_unit.set(22usize, 10u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSignalInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1), + "::", + stringify!(AdditionalSignalInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).videoStandard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1), + "::", + stringify!(videoStandard) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pixelRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(pixelRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSyncFreq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(hSyncFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vSyncFreq) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(vSyncFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).activeSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(activeSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).totalSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(totalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanLineOrdering) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(scanLineOrdering) + ) + ); +} +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_IDENTITY: DISPLAYCONFIG_SCALING = 1; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_CENTERED: DISPLAYCONFIG_SCALING = 2; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_STRETCHED: DISPLAYCONFIG_SCALING = 3; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX: + DISPLAYCONFIG_SCALING = 4; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_CUSTOM: DISPLAYCONFIG_SCALING = 5; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_PREFERRED: DISPLAYCONFIG_SCALING = 128; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_FORCE_UINT32: DISPLAYCONFIG_SCALING = -1; +pub type DISPLAYCONFIG_SCALING = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_IDENTITY: DISPLAYCONFIG_ROTATION = 1; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE90: DISPLAYCONFIG_ROTATION = 2; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE180: DISPLAYCONFIG_ROTATION = 3; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE270: DISPLAYCONFIG_ROTATION = 4; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_FORCE_UINT32: DISPLAYCONFIG_ROTATION = -1; +pub type DISPLAYCONFIG_ROTATION = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE: + DISPLAYCONFIG_MODE_INFO_TYPE = 1; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_TARGET: + DISPLAYCONFIG_MODE_INFO_TYPE = 2; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE: + DISPLAYCONFIG_MODE_INFO_TYPE = 3; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32: + DISPLAYCONFIG_MODE_INFO_TYPE = -1; +pub type DISPLAYCONFIG_MODE_INFO_TYPE = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_8BPP: DISPLAYCONFIG_PIXELFORMAT = 1; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_16BPP: DISPLAYCONFIG_PIXELFORMAT = 2; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_24BPP: DISPLAYCONFIG_PIXELFORMAT = 3; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_32BPP: DISPLAYCONFIG_PIXELFORMAT = 4; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_NONGDI: DISPLAYCONFIG_PIXELFORMAT = 5; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32: + DISPLAYCONFIG_PIXELFORMAT = -1; +pub type DISPLAYCONFIG_PIXELFORMAT = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SOURCE_MODE { + pub width: UINT32, + pub height: UINT32, + pub pixelFormat: DISPLAYCONFIG_PIXELFORMAT, + pub position: POINTL, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SOURCE_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_SOURCE_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_SOURCE_MODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pixelFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(pixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(position) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_MODE { + pub targetVideoSignalInfo: DISPLAYCONFIG_VIDEO_SIGNAL_INFO, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_TARGET_MODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetVideoSignalInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_MODE), + "::", + stringify!(targetVideoSignalInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO { + pub PathSourceSize: POINTL, + pub DesktopImageRegion: RECTL, + pub DesktopImageClip: RECTL, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_DESKTOP_IMAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathSourceSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(PathSourceSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesktopImageRegion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(DesktopImageRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesktopImageClip) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(DesktopImageClip) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_MODE_INFO { + pub infoType: DISPLAYCONFIG_MODE_INFO_TYPE, + pub id: UINT32, + pub adapterId: LUID, + pub __bindgen_anon_1: DISPLAYCONFIG_MODE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_MODE_INFO__bindgen_ty_1 { + pub targetMode: DISPLAYCONFIG_TARGET_MODE, + pub sourceMode: DISPLAYCONFIG_SOURCE_MODE, + pub desktopImageInfo: DISPLAYCONFIG_DESKTOP_IMAGE_INFO, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(targetMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(sourceMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).desktopImageInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(desktopImageInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_MODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_MODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).infoType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(infoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(adapterId) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_SOURCE_INFO { + pub adapterId: LUID, + pub id: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1, + pub statusFlags: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1 { + pub modeInfoIdx: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn cloneGroupId(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_cloneGroupId(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn sourceModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_sourceModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + cloneGroupId: UINT32, + sourceModeInfoIdx: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let cloneGroupId: u32 = unsafe { ::std::mem::transmute(cloneGroupId) }; + cloneGroupId as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let sourceModeInfoIdx: u32 = unsafe { ::std::mem::transmute(sourceModeInfoIdx) }; + sourceModeInfoIdx as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).modeInfoIdx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1), + "::", + stringify!(modeInfoIdx) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).statusFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(statusFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_TARGET_INFO { + pub adapterId: LUID, + pub id: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1, + pub outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, + pub rotation: DISPLAYCONFIG_ROTATION, + pub scaling: DISPLAYCONFIG_SCALING, + pub refreshRate: DISPLAYCONFIG_RATIONAL, + pub scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, + pub targetAvailable: BOOL, + pub statusFlags: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1 { + pub modeInfoIdx: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn desktopModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_desktopModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn targetModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_targetModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + desktopModeInfoIdx: UINT32, + targetModeInfoIdx: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let desktopModeInfoIdx: u32 = unsafe { ::std::mem::transmute(desktopModeInfoIdx) }; + desktopModeInfoIdx as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let targetModeInfoIdx: u32 = unsafe { ::std::mem::transmute(targetModeInfoIdx) }; + targetModeInfoIdx as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).modeInfoIdx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1), + "::", + stringify!(modeInfoIdx) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).outputTechnology) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(outputTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(rotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scaling) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(scaling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).refreshRate) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(refreshRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanLineOrdering) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(scanLineOrdering) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetAvailable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(targetAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).statusFlags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(statusFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_INFO { + pub sourceInfo: DISPLAYCONFIG_PATH_SOURCE_INFO, + pub targetInfo: DISPLAYCONFIG_PATH_TARGET_INFO, + pub flags: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(sourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetInfo) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(targetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(flags) + ) + ); +} +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_INTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 1; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_CLONE: DISPLAYCONFIG_TOPOLOGY_ID = 2; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTEND: DISPLAYCONFIG_TOPOLOGY_ID = 4; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 8; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32: DISPLAYCONFIG_TOPOLOGY_ID = + -1; +pub type DISPLAYCONFIG_TOPOLOGY_ID = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 1; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 2; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 3; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 4; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 5; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 6; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 7 ; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 8 ; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 9; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 10; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 11; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_MONITOR_SPECIALIZATION: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 12; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_MONITOR_SPECIALIZATION: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 13; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32: + DISPLAYCONFIG_DEVICE_INFO_TYPE = -1; +pub type DISPLAYCONFIG_DEVICE_INFO_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_DEVICE_INFO_HEADER { + pub type_: DISPLAYCONFIG_DEVICE_INFO_TYPE, + pub size: UINT32, + pub adapterId: LUID, + pub id: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_DEVICE_INFO_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(id) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub viewGdiDeviceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SOURCE_DEVICE_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).viewGdiDeviceName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME), + "::", + stringify!(viewGdiDeviceName) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { + pub __bindgen_anon_1: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn friendlyNameFromEdid(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_friendlyNameFromEdid(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn friendlyNameForced(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_friendlyNameForced(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn edidIdsValid(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_edidIdsValid(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + friendlyNameFromEdid: UINT32, + friendlyNameForced: UINT32, + edidIdsValid: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let friendlyNameFromEdid: u32 = unsafe { ::std::mem::transmute(friendlyNameFromEdid) }; + friendlyNameFromEdid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let friendlyNameForced: u32 = unsafe { ::std::mem::transmute(friendlyNameForced) }; + friendlyNameForced as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let edidIdsValid: u32 = unsafe { ::std::mem::transmute(edidIdsValid) }; + edidIdsValid as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub flags: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS, + pub outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, + pub edidManufactureId: UINT16, + pub edidProductCodeId: UINT16, + pub connectorInstance: UINT32, + pub monitorFriendlyDeviceName: [WCHAR; 64usize], + pub monitorDevicePath: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 420usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).outputTechnology) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(outputTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).edidManufactureId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(edidManufactureId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).edidProductCodeId) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(edidProductCodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).connectorInstance) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(connectorInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitorFriendlyDeviceName) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(monitorFriendlyDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitorDevicePath) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(monitorDevicePath) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub width: UINT32, + pub height: UINT32, + pub targetMode: DISPLAYCONFIG_TARGET_MODE, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_PREFERRED_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(targetMode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_ADAPTER_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub adapterDevicePath: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_ADAPTER_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 276usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_ADAPTER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_ADAPTER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_ADAPTER_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterDevicePath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_ADAPTER_NAME), + "::", + stringify!(adapterDevicePath) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_BASE_TYPE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub baseOutputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_BASE_TYPE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baseOutputTechnology) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE), + "::", + stringify!(baseOutputTechnology) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn bootPersistenceOn(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_bootPersistenceOn(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + bootPersistenceOn: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let bootPersistenceOn: u32 = unsafe { ::std::mem::transmute(bootPersistenceOn) }; + bootPersistenceOn as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE), + "::", + stringify!(header) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::( + ), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn disableMonitorVirtualResolution(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_disableMonitorVirtualResolution(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + disableMonitorVirtualResolution: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let disableMonitorVirtualResolution: u32 = + unsafe { ::std::mem::transmute(disableMonitorVirtualResolution) }; + disableMonitorVirtualResolution as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION), + "::", + stringify!(header) + ) + ); +} +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_RGB: + _DISPLAYCONFIG_COLOR_ENCODING = 0; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR444: + _DISPLAYCONFIG_COLOR_ENCODING = 1; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR422: + _DISPLAYCONFIG_COLOR_ENCODING = 2; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR420: + _DISPLAYCONFIG_COLOR_ENCODING = 3; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_INTENSITY: + _DISPLAYCONFIG_COLOR_ENCODING = 4; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32: + _DISPLAYCONFIG_COLOR_ENCODING = -1; +pub type _DISPLAYCONFIG_COLOR_ENCODING = ::std::os::raw::c_int; +pub use self::_DISPLAYCONFIG_COLOR_ENCODING as DISPLAYCONFIG_COLOR_ENCODING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1, + pub colorEncoding: DISPLAYCONFIG_COLOR_ENCODING, + pub bitsPerColorChannel: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn advancedColorSupported(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorSupported(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn advancedColorEnabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorEnabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn wideColorEnforced(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_wideColorEnforced(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn advancedColorForceDisabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorForceDisabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + advancedColorSupported: UINT32, + advancedColorEnabled: UINT32, + wideColorEnforced: UINT32, + advancedColorForceDisabled: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let advancedColorSupported: u32 = + unsafe { ::std::mem::transmute(advancedColorSupported) }; + advancedColorSupported as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let advancedColorEnabled: u32 = unsafe { ::std::mem::transmute(advancedColorEnabled) }; + advancedColorEnabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let wideColorEnforced: u32 = unsafe { ::std::mem::transmute(wideColorEnforced) }; + wideColorEnforced as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let advancedColorForceDisabled: u32 = + unsafe { ::std::mem::transmute(advancedColorForceDisabled) }; + advancedColorForceDisabled as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).colorEncoding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(colorEncoding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitsPerColorChannel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(bitsPerColorChannel) + ) + ); +} +pub type DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO = _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn enableAdvancedColor(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_enableAdvancedColor(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + enableAdvancedColor: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let enableAdvancedColor: u32 = unsafe { ::std::mem::transmute(enableAdvancedColor) }; + enableAdvancedColor as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE), + "::", + stringify!(header) + ) + ); +} +pub type DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE = _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_SDR_WHITE_LEVEL { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub SDRWhiteLevel: ULONG, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SDR_WHITE_LEVEL() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SDR_WHITE_LEVEL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>(), + 24usize, + concat!("Size of: ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SDRWhiteLevel) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), + "::", + stringify!(SDRWhiteLevel) + ) + ); +} +pub type DISPLAYCONFIG_SDR_WHITE_LEVEL = _DISPLAYCONFIG_SDR_WHITE_LEVEL; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn isSpecializationEnabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_isSpecializationEnabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn isSpecializationAvailableForMonitor(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_isSpecializationAvailableForMonitor(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn isSpecializationAvailableForSystem(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_isSpecializationAvailableForSystem(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + isSpecializationEnabled: UINT32, + isSpecializationAvailableForMonitor: UINT32, + isSpecializationAvailableForSystem: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let isSpecializationEnabled: u32 = + unsafe { ::std::mem::transmute(isSpecializationEnabled) }; + isSpecializationEnabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let isSpecializationAvailableForMonitor: u32 = + unsafe { ::std::mem::transmute(isSpecializationAvailableForMonitor) }; + isSpecializationAvailableForMonitor as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let isSpecializationAvailableForSystem: u32 = + unsafe { ::std::mem::transmute(isSpecializationAvailableForSystem) }; + isSpecializationAvailableForSystem as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION>(), + 24usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION), + "::", + stringify!(header) + ) + ); +} +pub type DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION = _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1, + pub specializationType: GUID, + pub specializationSubType: GUID, + pub specializationApplicationName: [WCHAR; 128usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn isSpecializationEnabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_isSpecializationEnabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + isSpecializationEnabled: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let isSpecializationEnabled: u32 = + unsafe { ::std::mem::transmute(isSpecializationEnabled) }; + isSpecializationEnabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION>(), + 312usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).specializationType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION), + "::", + stringify!(specializationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).specializationSubType) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION), + "::", + stringify!(specializationSubType) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).specializationApplicationName) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION), + "::", + stringify!(specializationApplicationName) + ) + ); +} +pub type DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION = _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RGNDATAHEADER { + pub dwSize: DWORD, + pub iType: DWORD, + pub nCount: DWORD, + pub nRgnSize: DWORD, + pub rcBound: RECT, +} +#[test] +fn bindgen_test_layout__RGNDATAHEADER() { + const UNINIT: ::std::mem::MaybeUninit<_RGNDATAHEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RGNDATAHEADER>(), + 32usize, + concat!("Size of: ", stringify!(_RGNDATAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_RGNDATAHEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_RGNDATAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRgnSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(nRgnSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcBound) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(rcBound) + ) + ); +} +pub type RGNDATAHEADER = _RGNDATAHEADER; +pub type PRGNDATAHEADER = *mut _RGNDATAHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RGNDATA { + pub rdh: RGNDATAHEADER, + pub Buffer: [::std::os::raw::c_char; 1usize], +} +#[test] +fn bindgen_test_layout__RGNDATA() { + const UNINIT: ::std::mem::MaybeUninit<_RGNDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RGNDATA>(), + 36usize, + concat!("Size of: ", stringify!(_RGNDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_RGNDATA>(), + 4usize, + concat!("Alignment of ", stringify!(_RGNDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdh) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATA), + "::", + stringify!(rdh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATA), + "::", + stringify!(Buffer) + ) + ); +} +pub type RGNDATA = _RGNDATA; +pub type PRGNDATA = *mut _RGNDATA; +pub type NPRGNDATA = *mut _RGNDATA; +pub type LPRGNDATA = *mut _RGNDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ABC { + pub abcA: ::std::os::raw::c_int, + pub abcB: UINT, + pub abcC: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__ABC() { + const UNINIT: ::std::mem::MaybeUninit<_ABC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ABC>(), + 12usize, + concat!("Size of: ", stringify!(_ABC)) + ); + assert_eq!( + ::std::mem::align_of::<_ABC>(), + 4usize, + concat!("Alignment of ", stringify!(_ABC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcB) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcC) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcC) + ) + ); +} +pub type ABC = _ABC; +pub type PABC = *mut _ABC; +pub type NPABC = *mut _ABC; +pub type LPABC = *mut _ABC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ABCFLOAT { + pub abcfA: FLOAT, + pub abcfB: FLOAT, + pub abcfC: FLOAT, +} +#[test] +fn bindgen_test_layout__ABCFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_ABCFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ABCFLOAT>(), + 12usize, + concat!("Size of: ", stringify!(_ABCFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_ABCFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_ABCFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfB) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfC) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfC) + ) + ); +} +pub type ABCFLOAT = _ABCFLOAT; +pub type PABCFLOAT = *mut _ABCFLOAT; +pub type NPABCFLOAT = *mut _ABCFLOAT; +pub type LPABCFLOAT = *mut _ABCFLOAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTLINETEXTMETRICA { + pub otmSize: UINT, + pub otmTextMetrics: TEXTMETRICA, + pub otmFiller: BYTE, + pub otmPanoseNumber: PANOSE, + pub otmfsSelection: UINT, + pub otmfsType: UINT, + pub otmsCharSlopeRise: ::std::os::raw::c_int, + pub otmsCharSlopeRun: ::std::os::raw::c_int, + pub otmItalicAngle: ::std::os::raw::c_int, + pub otmEMSquare: UINT, + pub otmAscent: ::std::os::raw::c_int, + pub otmDescent: ::std::os::raw::c_int, + pub otmLineGap: UINT, + pub otmsCapEmHeight: UINT, + pub otmsXHeight: UINT, + pub otmrcFontBox: RECT, + pub otmMacAscent: ::std::os::raw::c_int, + pub otmMacDescent: ::std::os::raw::c_int, + pub otmMacLineGap: UINT, + pub otmusMinimumPPEM: UINT, + pub otmptSubscriptSize: POINT, + pub otmptSubscriptOffset: POINT, + pub otmptSuperscriptSize: POINT, + pub otmptSuperscriptOffset: POINT, + pub otmsStrikeoutSize: UINT, + pub otmsStrikeoutPosition: ::std::os::raw::c_int, + pub otmsUnderscoreSize: ::std::os::raw::c_int, + pub otmsUnderscorePosition: ::std::os::raw::c_int, + pub otmpFamilyName: PSTR, + pub otmpFaceName: PSTR, + pub otmpStyleName: PSTR, + pub otmpFullName: PSTR, +} +#[test] +fn bindgen_test_layout__OUTLINETEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit<_OUTLINETEXTMETRICA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTLINETEXTMETRICA>(), + 232usize, + concat!("Size of: ", stringify!(_OUTLINETEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTLINETEXTMETRICA>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTLINETEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmTextMetrics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmTextMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmFiller) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmFiller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmPanoseNumber) as usize - ptr as usize }, + 61usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmPanoseNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsSelection) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmfsSelection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmfsType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRise) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCharSlopeRise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRun) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCharSlopeRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmItalicAngle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmItalicAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmEMSquare) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmEMSquare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmAscent) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmDescent) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmLineGap) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCapEmHeight) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCapEmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsXHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsXHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmrcFontBox) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmrcFontBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacAscent) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacDescent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacLineGap) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmusMinimumPPEM) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmusMinimumPPEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptSize) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSubscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptOffset) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSubscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptSize) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSuperscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptOffset) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSuperscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutSize) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsStrikeoutSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutPosition) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsStrikeoutPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscoreSize) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsUnderscoreSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscorePosition) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsUnderscorePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFamilyName) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFaceName) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFaceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpStyleName) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpStyleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFullName) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFullName) + ) + ); +} +pub type OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA; +pub type POUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +pub type NPOUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +pub type LPOUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTLINETEXTMETRICW { + pub otmSize: UINT, + pub otmTextMetrics: TEXTMETRICW, + pub otmFiller: BYTE, + pub otmPanoseNumber: PANOSE, + pub otmfsSelection: UINT, + pub otmfsType: UINT, + pub otmsCharSlopeRise: ::std::os::raw::c_int, + pub otmsCharSlopeRun: ::std::os::raw::c_int, + pub otmItalicAngle: ::std::os::raw::c_int, + pub otmEMSquare: UINT, + pub otmAscent: ::std::os::raw::c_int, + pub otmDescent: ::std::os::raw::c_int, + pub otmLineGap: UINT, + pub otmsCapEmHeight: UINT, + pub otmsXHeight: UINT, + pub otmrcFontBox: RECT, + pub otmMacAscent: ::std::os::raw::c_int, + pub otmMacDescent: ::std::os::raw::c_int, + pub otmMacLineGap: UINT, + pub otmusMinimumPPEM: UINT, + pub otmptSubscriptSize: POINT, + pub otmptSubscriptOffset: POINT, + pub otmptSuperscriptSize: POINT, + pub otmptSuperscriptOffset: POINT, + pub otmsStrikeoutSize: UINT, + pub otmsStrikeoutPosition: ::std::os::raw::c_int, + pub otmsUnderscoreSize: ::std::os::raw::c_int, + pub otmsUnderscorePosition: ::std::os::raw::c_int, + pub otmpFamilyName: PSTR, + pub otmpFaceName: PSTR, + pub otmpStyleName: PSTR, + pub otmpFullName: PSTR, +} +#[test] +fn bindgen_test_layout__OUTLINETEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit<_OUTLINETEXTMETRICW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTLINETEXTMETRICW>(), + 232usize, + concat!("Size of: ", stringify!(_OUTLINETEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTLINETEXTMETRICW>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTLINETEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmTextMetrics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmTextMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmFiller) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmFiller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmPanoseNumber) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmPanoseNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsSelection) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmfsSelection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmfsType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRise) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCharSlopeRise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRun) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCharSlopeRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmItalicAngle) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmItalicAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmEMSquare) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmEMSquare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmAscent) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmDescent) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmLineGap) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCapEmHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCapEmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsXHeight) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsXHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmrcFontBox) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmrcFontBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacAscent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacDescent) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacLineGap) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmusMinimumPPEM) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmusMinimumPPEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptSize) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSubscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptOffset) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSubscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptSize) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSuperscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptOffset) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSuperscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutSize) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsStrikeoutSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutPosition) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsStrikeoutPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscoreSize) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsUnderscoreSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscorePosition) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsUnderscorePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFamilyName) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFaceName) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFaceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpStyleName) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpStyleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFullName) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFullName) + ) + ); +} +pub type OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW; +pub type POUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type NPOUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type LPOUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type OUTLINETEXTMETRIC = OUTLINETEXTMETRICA; +pub type POUTLINETEXTMETRIC = POUTLINETEXTMETRICA; +pub type NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA; +pub type LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOLYTEXTA { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub n: UINT, + pub lpstr: LPCSTR, + pub uiFlags: UINT, + pub rcl: RECT, + pub pdx: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagPOLYTEXTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagPOLYTEXTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOLYTEXTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(n) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(lpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(uiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(pdx) + ) + ); +} +pub type POLYTEXTA = tagPOLYTEXTA; +pub type PPOLYTEXTA = *mut tagPOLYTEXTA; +pub type NPPOLYTEXTA = *mut tagPOLYTEXTA; +pub type LPPOLYTEXTA = *mut tagPOLYTEXTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOLYTEXTW { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub n: UINT, + pub lpstr: LPCWSTR, + pub uiFlags: UINT, + pub rcl: RECT, + pub pdx: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagPOLYTEXTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagPOLYTEXTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOLYTEXTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(n) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(lpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(uiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(pdx) + ) + ); +} +pub type POLYTEXTW = tagPOLYTEXTW; +pub type PPOLYTEXTW = *mut tagPOLYTEXTW; +pub type NPPOLYTEXTW = *mut tagPOLYTEXTW; +pub type LPPOLYTEXTW = *mut tagPOLYTEXTW; +pub type POLYTEXT = POLYTEXTA; +pub type PPOLYTEXT = PPOLYTEXTA; +pub type NPPOLYTEXT = NPPOLYTEXTA; +pub type LPPOLYTEXT = LPPOLYTEXTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIXED { + pub fract: WORD, + pub value: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__FIXED() { + const UNINIT: ::std::mem::MaybeUninit<_FIXED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIXED>(), + 4usize, + concat!("Size of: ", stringify!(_FIXED)) + ); + assert_eq!( + ::std::mem::align_of::<_FIXED>(), + 2usize, + concat!("Alignment of ", stringify!(_FIXED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fract) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIXED), + "::", + stringify!(fract) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIXED), + "::", + stringify!(value) + ) + ); +} +pub type FIXED = _FIXED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MAT2 { + pub eM11: FIXED, + pub eM12: FIXED, + pub eM21: FIXED, + pub eM22: FIXED, +} +#[test] +fn bindgen_test_layout__MAT2() { + const UNINIT: ::std::mem::MaybeUninit<_MAT2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MAT2>(), + 16usize, + concat!("Size of: ", stringify!(_MAT2)) + ); + assert_eq!( + ::std::mem::align_of::<_MAT2>(), + 2usize, + concat!("Alignment of ", stringify!(_MAT2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM21) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM22) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM22) + ) + ); +} +pub type MAT2 = _MAT2; +pub type LPMAT2 = *mut _MAT2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GLYPHMETRICS { + pub gmBlackBoxX: UINT, + pub gmBlackBoxY: UINT, + pub gmptGlyphOrigin: POINT, + pub gmCellIncX: ::std::os::raw::c_short, + pub gmCellIncY: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__GLYPHMETRICS() { + const UNINIT: ::std::mem::MaybeUninit<_GLYPHMETRICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GLYPHMETRICS>(), + 20usize, + concat!("Size of: ", stringify!(_GLYPHMETRICS)) + ); + assert_eq!( + ::std::mem::align_of::<_GLYPHMETRICS>(), + 4usize, + concat!("Alignment of ", stringify!(_GLYPHMETRICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmBlackBoxX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmBlackBoxX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmBlackBoxY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmBlackBoxY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmptGlyphOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmptGlyphOrigin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmCellIncX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmCellIncX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmCellIncY) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmCellIncY) + ) + ); +} +pub type GLYPHMETRICS = _GLYPHMETRICS; +pub type LPGLYPHMETRICS = *mut _GLYPHMETRICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTFX { + pub x: FIXED, + pub y: FIXED, +} +#[test] +fn bindgen_test_layout_tagPOINTFX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINTFX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagPOINTFX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTFX), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTFX), + "::", + stringify!(y) + ) + ); +} +pub type POINTFX = tagPOINTFX; +pub type LPPOINTFX = *mut tagPOINTFX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTTPOLYCURVE { + pub wType: WORD, + pub cpfx: WORD, + pub apfx: [POINTFX; 1usize], +} +#[test] +fn bindgen_test_layout_tagTTPOLYCURVE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagTTPOLYCURVE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagTTPOLYCURVE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpfx) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(cpfx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfx) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(apfx) + ) + ); +} +pub type TTPOLYCURVE = tagTTPOLYCURVE; +pub type LPTTPOLYCURVE = *mut tagTTPOLYCURVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTTPOLYGONHEADER { + pub cb: DWORD, + pub dwType: DWORD, + pub pfxStart: POINTFX, +} +#[test] +fn bindgen_test_layout_tagTTPOLYGONHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTTPOLYGONHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTTPOLYGONHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfxStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(pfxStart) + ) + ); +} +pub type TTPOLYGONHEADER = tagTTPOLYGONHEADER; +pub type LPTTPOLYGONHEADER = *mut tagTTPOLYGONHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGCP_RESULTSA { + pub lStructSize: DWORD, + pub lpOutString: LPSTR, + pub lpOrder: *mut UINT, + pub lpDx: *mut ::std::os::raw::c_int, + pub lpCaretPos: *mut ::std::os::raw::c_int, + pub lpClass: LPSTR, + pub lpGlyphs: LPWSTR, + pub nGlyphs: UINT, + pub nMaxFit: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagGCP_RESULTSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagGCP_RESULTSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGCP_RESULTSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOutString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpOutString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOrder) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCaretPos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpCaretPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpGlyphs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nGlyphs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(nGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFit) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(nMaxFit) + ) + ); +} +pub type GCP_RESULTSA = tagGCP_RESULTSA; +pub type LPGCP_RESULTSA = *mut tagGCP_RESULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGCP_RESULTSW { + pub lStructSize: DWORD, + pub lpOutString: LPWSTR, + pub lpOrder: *mut UINT, + pub lpDx: *mut ::std::os::raw::c_int, + pub lpCaretPos: *mut ::std::os::raw::c_int, + pub lpClass: LPSTR, + pub lpGlyphs: LPWSTR, + pub nGlyphs: UINT, + pub nMaxFit: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagGCP_RESULTSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagGCP_RESULTSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGCP_RESULTSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOutString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpOutString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOrder) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCaretPos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpCaretPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpGlyphs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nGlyphs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(nGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFit) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(nMaxFit) + ) + ); +} +pub type GCP_RESULTSW = tagGCP_RESULTSW; +pub type LPGCP_RESULTSW = *mut tagGCP_RESULTSW; +pub type GCP_RESULTS = GCP_RESULTSA; +pub type LPGCP_RESULTS = LPGCP_RESULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RASTERIZER_STATUS { + pub nSize: ::std::os::raw::c_short, + pub wFlags: ::std::os::raw::c_short, + pub nLanguageID: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__RASTERIZER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_RASTERIZER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RASTERIZER_STATUS>(), + 6usize, + concat!("Size of: ", stringify!(_RASTERIZER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_RASTERIZER_STATUS>(), + 2usize, + concat!("Alignment of ", stringify!(_RASTERIZER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLanguageID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(nLanguageID) + ) + ); +} +pub type RASTERIZER_STATUS = _RASTERIZER_STATUS; +pub type LPRASTERIZER_STATUS = *mut _RASTERIZER_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPIXELFORMATDESCRIPTOR { + pub nSize: WORD, + pub nVersion: WORD, + pub dwFlags: DWORD, + pub iPixelType: BYTE, + pub cColorBits: BYTE, + pub cRedBits: BYTE, + pub cRedShift: BYTE, + pub cGreenBits: BYTE, + pub cGreenShift: BYTE, + pub cBlueBits: BYTE, + pub cBlueShift: BYTE, + pub cAlphaBits: BYTE, + pub cAlphaShift: BYTE, + pub cAccumBits: BYTE, + pub cAccumRedBits: BYTE, + pub cAccumGreenBits: BYTE, + pub cAccumBlueBits: BYTE, + pub cAccumAlphaBits: BYTE, + pub cDepthBits: BYTE, + pub cStencilBits: BYTE, + pub cAuxBuffers: BYTE, + pub iLayerType: BYTE, + pub bReserved: BYTE, + pub dwLayerMask: DWORD, + pub dwVisibleMask: DWORD, + pub dwDamageMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagPIXELFORMATDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagPIXELFORMATDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPIXELFORMATDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPixelType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(iPixelType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColorBits) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cRedShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenBits) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenShift) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cGreenShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueBits) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueShift) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cBlueShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaShift) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAlphaShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBits) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumRedBits) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumGreenBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBlueBits) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumAlphaBits) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDepthBits) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cDepthBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStencilBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cStencilBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuxBuffers) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAuxBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLayerType) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(iLayerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLayerMask) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwLayerMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVisibleMask) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwVisibleMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDamageMask) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwDamageMask) + ) + ); +} +pub type PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR; +pub type PPIXELFORMATDESCRIPTOR = *mut tagPIXELFORMATDESCRIPTOR; +pub type LPPIXELFORMATDESCRIPTOR = *mut tagPIXELFORMATDESCRIPTOR; +pub type OLDFONTENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const LOGFONTA, + arg2: *const TEXTMETRICA, + arg3: DWORD, + arg4: LPARAM, + ) -> ::std::os::raw::c_int, +>; +pub type OLDFONTENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const LOGFONTW, + arg2: *const TEXTMETRICW, + arg3: DWORD, + arg4: LPARAM, + ) -> ::std::os::raw::c_int, +>; +pub type FONTENUMPROCA = OLDFONTENUMPROCA; +pub type FONTENUMPROCW = OLDFONTENUMPROCW; +pub type FONTENUMPROC = FONTENUMPROCA; +pub type GOBJENUMPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: LPVOID, arg2: LPARAM) -> ::std::os::raw::c_int, +>; +pub type LINEDDAPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: LPARAM), +>; +extern "C" { + pub fn AddFontResourceA(arg1: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AddFontResourceW(arg1: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AnimatePalette( + hPal: HPALETTE, + iStartIndex: UINT, + cEntries: UINT, + ppe: *const PALETTEENTRY, + ) -> BOOL; +} +extern "C" { + pub fn Arc( + hdc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + x3: ::std::os::raw::c_int, + y3: ::std::os::raw::c_int, + x4: ::std::os::raw::c_int, + y4: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn BitBlt( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + hdcSrc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CancelDC(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn Chord( + hdc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + x3: ::std::os::raw::c_int, + y3: ::std::os::raw::c_int, + x4: ::std::os::raw::c_int, + y4: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ChoosePixelFormat(hdc: HDC, ppfd: *const PIXELFORMATDESCRIPTOR) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CloseMetaFile(hdc: HDC) -> HMETAFILE; +} +extern "C" { + pub fn CombineRgn( + hrgnDst: HRGN, + hrgnSrc1: HRGN, + hrgnSrc2: HRGN, + iMode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CopyMetaFileA(arg1: HMETAFILE, arg2: LPCSTR) -> HMETAFILE; +} +extern "C" { + pub fn CopyMetaFileW(arg1: HMETAFILE, arg2: LPCWSTR) -> HMETAFILE; +} +extern "C" { + pub fn CreateBitmap( + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + nPlanes: UINT, + nBitCount: UINT, + lpBits: *const ::std::os::raw::c_void, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateBitmapIndirect(pbm: *const BITMAP) -> HBITMAP; +} +extern "C" { + pub fn CreateBrushIndirect(plbrush: *const LOGBRUSH) -> HBRUSH; +} +extern "C" { + pub fn CreateCompatibleBitmap( + hdc: HDC, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateDiscardableBitmap( + hdc: HDC, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateCompatibleDC(hdc: HDC) -> HDC; +} +extern "C" { + pub fn CreateDCA( + pwszDriver: LPCSTR, + pwszDevice: LPCSTR, + pszPort: LPCSTR, + pdm: *const DEVMODEA, + ) -> HDC; +} +extern "C" { + pub fn CreateDCW( + pwszDriver: LPCWSTR, + pwszDevice: LPCWSTR, + pszPort: LPCWSTR, + pdm: *const DEVMODEW, + ) -> HDC; +} +extern "C" { + pub fn CreateDIBitmap( + hdc: HDC, + pbmih: *const BITMAPINFOHEADER, + flInit: DWORD, + pjBits: *const ::std::os::raw::c_void, + pbmi: *const BITMAPINFO, + iUsage: UINT, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateDIBPatternBrush(h: HGLOBAL, iUsage: UINT) -> HBRUSH; +} +extern "C" { + pub fn CreateDIBPatternBrushPt( + lpPackedDIB: *const ::std::os::raw::c_void, + iUsage: UINT, + ) -> HBRUSH; +} +extern "C" { + pub fn CreateEllipticRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateEllipticRgnIndirect(lprect: *const RECT) -> HRGN; +} +extern "C" { + pub fn CreateFontIndirectA(lplf: *const LOGFONTA) -> HFONT; +} +extern "C" { + pub fn CreateFontIndirectW(lplf: *const LOGFONTW) -> HFONT; +} +extern "C" { + pub fn CreateFontA( + cHeight: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + cEscapement: ::std::os::raw::c_int, + cOrientation: ::std::os::raw::c_int, + cWeight: ::std::os::raw::c_int, + bItalic: DWORD, + bUnderline: DWORD, + bStrikeOut: DWORD, + iCharSet: DWORD, + iOutPrecision: DWORD, + iClipPrecision: DWORD, + iQuality: DWORD, + iPitchAndFamily: DWORD, + pszFaceName: LPCSTR, + ) -> HFONT; +} +extern "C" { + pub fn CreateFontW( + cHeight: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + cEscapement: ::std::os::raw::c_int, + cOrientation: ::std::os::raw::c_int, + cWeight: ::std::os::raw::c_int, + bItalic: DWORD, + bUnderline: DWORD, + bStrikeOut: DWORD, + iCharSet: DWORD, + iOutPrecision: DWORD, + iClipPrecision: DWORD, + iQuality: DWORD, + iPitchAndFamily: DWORD, + pszFaceName: LPCWSTR, + ) -> HFONT; +} +extern "C" { + pub fn CreateHatchBrush(iHatch: ::std::os::raw::c_int, color: COLORREF) -> HBRUSH; +} +extern "C" { + pub fn CreateICA( + pszDriver: LPCSTR, + pszDevice: LPCSTR, + pszPort: LPCSTR, + pdm: *const DEVMODEA, + ) -> HDC; +} +extern "C" { + pub fn CreateICW( + pszDriver: LPCWSTR, + pszDevice: LPCWSTR, + pszPort: LPCWSTR, + pdm: *const DEVMODEW, + ) -> HDC; +} +extern "C" { + pub fn CreateMetaFileA(pszFile: LPCSTR) -> HDC; +} +extern "C" { + pub fn CreateMetaFileW(pszFile: LPCWSTR) -> HDC; +} +extern "C" { + pub fn CreatePalette(plpal: *const LOGPALETTE) -> HPALETTE; +} +extern "C" { + pub fn CreatePen( + iStyle: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + color: COLORREF, + ) -> HPEN; +} +extern "C" { + pub fn CreatePenIndirect(plpen: *const LOGPEN) -> HPEN; +} +extern "C" { + pub fn CreatePolyPolygonRgn( + pptl: *const POINT, + pc: *const INT, + cPoly: ::std::os::raw::c_int, + iMode: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreatePatternBrush(hbm: HBITMAP) -> HBRUSH; +} +extern "C" { + pub fn CreateRectRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateRectRgnIndirect(lprect: *const RECT) -> HRGN; +} +extern "C" { + pub fn CreateRoundRectRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateScalableFontResourceA( + fdwHidden: DWORD, + lpszFont: LPCSTR, + lpszFile: LPCSTR, + lpszPath: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateScalableFontResourceW( + fdwHidden: DWORD, + lpszFont: LPCWSTR, + lpszFile: LPCWSTR, + lpszPath: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateSolidBrush(color: COLORREF) -> HBRUSH; +} +extern "C" { + pub fn DeleteDC(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn DeleteMetaFile(hmf: HMETAFILE) -> BOOL; +} +extern "C" { + pub fn DeleteObject(ho: HGDIOBJ) -> BOOL; +} +extern "C" { + pub fn DescribePixelFormat( + hdc: HDC, + iPixelFormat: ::std::os::raw::c_int, + nBytes: UINT, + ppfd: LPPIXELFORMATDESCRIPTOR, + ) -> ::std::os::raw::c_int; +} +pub type LPFNDEVMODE = ::std::option::Option< + unsafe extern "C" fn( + arg1: HWND, + arg2: HMODULE, + arg3: LPDEVMODE, + arg4: LPSTR, + arg5: LPSTR, + arg6: LPDEVMODE, + arg7: LPSTR, + arg8: UINT, + ) -> UINT, +>; +pub type LPFNDEVCAPS = ::std::option::Option< + unsafe extern "C" fn( + arg1: LPSTR, + arg2: LPSTR, + arg3: UINT, + arg4: LPSTR, + arg5: LPDEVMODE, + ) -> DWORD, +>; +extern "C" { + pub fn DeviceCapabilitiesA( + pDevice: LPCSTR, + pPort: LPCSTR, + fwCapability: WORD, + pOutput: LPSTR, + pDevMode: *const DEVMODEA, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DeviceCapabilitiesW( + pDevice: LPCWSTR, + pPort: LPCWSTR, + fwCapability: WORD, + pOutput: LPWSTR, + pDevMode: *const DEVMODEW, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawEscape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjIn: ::std::os::raw::c_int, + lpIn: LPCSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn Ellipse( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn EnumFontFamiliesExA( + hdc: HDC, + lpLogfont: LPLOGFONTA, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesExW( + hdc: HDC, + lpLogfont: LPLOGFONTW, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesA( + hdc: HDC, + lpLogfont: LPCSTR, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesW( + hdc: HDC, + lpLogfont: LPCWSTR, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontsA( + hdc: HDC, + lpLogfont: LPCSTR, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontsW( + hdc: HDC, + lpLogfont: LPCWSTR, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumObjects( + hdc: HDC, + nType: ::std::os::raw::c_int, + lpFunc: GOBJENUMPROC, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EqualRgn(hrgn1: HRGN, hrgn2: HRGN) -> BOOL; +} +extern "C" { + pub fn Escape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjIn: ::std::os::raw::c_int, + pvIn: LPCSTR, + pvOut: LPVOID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtEscape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjInput: ::std::os::raw::c_int, + lpInData: LPCSTR, + cjOutput: ::std::os::raw::c_int, + lpOutData: LPSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExcludeClipRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtCreateRegion(lpx: *const XFORM, nCount: DWORD, lpData: *const RGNDATA) -> HRGN; +} +extern "C" { + pub fn ExtFloodFill( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + type_: UINT, + ) -> BOOL; +} +extern "C" { + pub fn FillRgn(hdc: HDC, hrgn: HRGN, hbr: HBRUSH) -> BOOL; +} +extern "C" { + pub fn FloodFill( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn FrameRgn( + hdc: HDC, + hrgn: HRGN, + hbr: HBRUSH, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetROP2(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetAspectRatioFilterEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetBkColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetDCBrushColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetDCPenColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetBkMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetBitmapBits(hbit: HBITMAP, cb: LONG, lpvBits: LPVOID) -> LONG; +} +extern "C" { + pub fn GetBitmapDimensionEx(hbit: HBITMAP, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetBoundsRect(hdc: HDC, lprect: LPRECT, flags: UINT) -> UINT; +} +extern "C" { + pub fn GetBrushOrgEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthA(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthW(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidth32A(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidth32W(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthFloatA(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthFloatW(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsA(hdc: HDC, wFirst: UINT, wLast: UINT, lpABC: LPABC) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsW(hdc: HDC, wFirst: UINT, wLast: UINT, lpABC: LPABC) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsFloatA(hdc: HDC, iFirst: UINT, iLast: UINT, lpABC: LPABCFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsFloatW(hdc: HDC, iFirst: UINT, iLast: UINT, lpABC: LPABCFLOAT) -> BOOL; +} +extern "C" { + pub fn GetClipBox(hdc: HDC, lprect: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClipRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMetaRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrentObject(hdc: HDC, type_: UINT) -> HGDIOBJ; +} +extern "C" { + pub fn GetCurrentPositionEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetDeviceCaps(hdc: HDC, index: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDIBits( + hdc: HDC, + hbm: HBITMAP, + start: UINT, + cLines: UINT, + lpvBits: LPVOID, + lpbmi: LPBITMAPINFO, + usage: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetFontData( + hdc: HDC, + dwTable: DWORD, + dwOffset: DWORD, + pvBuffer: PVOID, + cjBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphOutlineA( + hdc: HDC, + uChar: UINT, + fuFormat: UINT, + lpgm: LPGLYPHMETRICS, + cjBuffer: DWORD, + pvBuffer: LPVOID, + lpmat2: *const MAT2, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphOutlineW( + hdc: HDC, + uChar: UINT, + fuFormat: UINT, + lpgm: LPGLYPHMETRICS, + cjBuffer: DWORD, + pvBuffer: LPVOID, + lpmat2: *const MAT2, + ) -> DWORD; +} +extern "C" { + pub fn GetGraphicsMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMapMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMetaFileBitsEx(hMF: HMETAFILE, cbBuffer: UINT, lpData: LPVOID) -> UINT; +} +extern "C" { + pub fn GetMetaFileA(lpName: LPCSTR) -> HMETAFILE; +} +extern "C" { + pub fn GetMetaFileW(lpName: LPCWSTR) -> HMETAFILE; +} +extern "C" { + pub fn GetNearestColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn GetNearestPaletteIndex(h: HPALETTE, color: COLORREF) -> UINT; +} +extern "C" { + pub fn GetObjectType(h: HGDIOBJ) -> DWORD; +} +extern "C" { + pub fn GetOutlineTextMetricsA(hdc: HDC, cjCopy: UINT, potm: LPOUTLINETEXTMETRICA) -> UINT; +} +extern "C" { + pub fn GetOutlineTextMetricsW(hdc: HDC, cjCopy: UINT, potm: LPOUTLINETEXTMETRICW) -> UINT; +} +extern "C" { + pub fn GetPaletteEntries( + hpal: HPALETTE, + iStart: UINT, + cEntries: UINT, + pPalEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetPixel(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> COLORREF; +} +extern "C" { + pub fn GetPixelFormat(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetPolyFillMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetRasterizerCaps(lpraststat: LPRASTERIZER_STATUS, cjBytes: UINT) -> BOOL; +} +extern "C" { + pub fn GetRandomRgn(hdc: HDC, hrgn: HRGN, i: INT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetRegionData(hrgn: HRGN, nCount: DWORD, lpRgnData: LPRGNDATA) -> DWORD; +} +extern "C" { + pub fn GetRgnBox(hrgn: HRGN, lprc: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetStockObject(i: ::std::os::raw::c_int) -> HGDIOBJ; +} +extern "C" { + pub fn GetStretchBltMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemPaletteEntries( + hdc: HDC, + iStart: UINT, + cEntries: UINT, + pPalEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetSystemPaletteUse(hdc: HDC) -> UINT; +} +extern "C" { + pub fn GetTextCharacterExtra(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextAlign(hdc: HDC) -> UINT; +} +extern "C" { + pub fn GetTextColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetTextExtentPointA( + hdc: HDC, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPointW( + hdc: HDC, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPoint32A( + hdc: HDC, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + psizl: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPoint32W( + hdc: HDC, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + psizl: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointA( + hdc: HDC, + lpszString: LPCSTR, + cchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointW( + hdc: HDC, + lpszString: LPCWSTR, + cchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextCharset(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextCharsetInfo( + hdc: HDC, + lpSig: LPFONTSIGNATURE, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateCharsetInfo(lpSrc: *mut DWORD, lpCs: LPCHARSETINFO, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetFontLanguageInfo(hdc: HDC) -> DWORD; +} +extern "C" { + pub fn GetCharacterPlacementA( + hdc: HDC, + lpString: LPCSTR, + nCount: ::std::os::raw::c_int, + nMexExtent: ::std::os::raw::c_int, + lpResults: LPGCP_RESULTSA, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetCharacterPlacementW( + hdc: HDC, + lpString: LPCWSTR, + nCount: ::std::os::raw::c_int, + nMexExtent: ::std::os::raw::c_int, + lpResults: LPGCP_RESULTSW, + dwFlags: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWCRANGE { + pub wcLow: WCHAR, + pub cGlyphs: USHORT, +} +#[test] +fn bindgen_test_layout_tagWCRANGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagWCRANGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagWCRANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWCRANGE), + "::", + stringify!(wcLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGlyphs) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWCRANGE), + "::", + stringify!(cGlyphs) + ) + ); +} +pub type WCRANGE = tagWCRANGE; +pub type PWCRANGE = *mut tagWCRANGE; +pub type LPWCRANGE = *mut tagWCRANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGLYPHSET { + pub cbThis: DWORD, + pub flAccel: DWORD, + pub cGlyphsSupported: DWORD, + pub cRanges: DWORD, + pub ranges: [WCRANGE; 1usize], +} +#[test] +fn bindgen_test_layout_tagGLYPHSET() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagGLYPHSET)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagGLYPHSET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbThis) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cbThis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flAccel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(flAccel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGlyphsSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cGlyphsSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRanges) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(ranges) + ) + ); +} +pub type GLYPHSET = tagGLYPHSET; +pub type PGLYPHSET = *mut tagGLYPHSET; +pub type LPGLYPHSET = *mut tagGLYPHSET; +extern "C" { + pub fn GetFontUnicodeRanges(hdc: HDC, lpgs: LPGLYPHSET) -> DWORD; +} +extern "C" { + pub fn GetGlyphIndicesA( + hdc: HDC, + lpstr: LPCSTR, + c: ::std::os::raw::c_int, + pgi: LPWORD, + fl: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphIndicesW( + hdc: HDC, + lpstr: LPCWSTR, + c: ::std::os::raw::c_int, + pgi: LPWORD, + fl: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetTextExtentPointI( + hdc: HDC, + pgiIn: LPWORD, + cgi: ::std::os::raw::c_int, + psize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointI( + hdc: HDC, + lpwszString: LPWORD, + cwchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetCharWidthI(hdc: HDC, giFirst: UINT, cgi: UINT, pgi: LPWORD, piWidths: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsI(hdc: HDC, giFirst: UINT, cgi: UINT, pgi: LPWORD, pabc: LPABC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDESIGNVECTOR { + pub dvReserved: DWORD, + pub dvNumAxes: DWORD, + pub dvValues: [LONG; 16usize], +} +#[test] +fn bindgen_test_layout_tagDESIGNVECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagDESIGNVECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDESIGNVECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvValues) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvValues) + ) + ); +} +pub type DESIGNVECTOR = tagDESIGNVECTOR; +pub type PDESIGNVECTOR = *mut tagDESIGNVECTOR; +pub type LPDESIGNVECTOR = *mut tagDESIGNVECTOR; +extern "C" { + pub fn AddFontResourceExA(name: LPCSTR, fl: DWORD, res: PVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AddFontResourceExW(name: LPCWSTR, fl: DWORD, res: PVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn RemoveFontResourceExA(name: LPCSTR, fl: DWORD, pdv: PVOID) -> BOOL; +} +extern "C" { + pub fn RemoveFontResourceExW(name: LPCWSTR, fl: DWORD, pdv: PVOID) -> BOOL; +} +extern "C" { + pub fn AddFontMemResourceEx( + pFileView: PVOID, + cjSize: DWORD, + pvResrved: PVOID, + pNumFonts: *mut DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn RemoveFontMemResourceEx(h: HANDLE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXISINFOA { + pub axMinValue: LONG, + pub axMaxValue: LONG, + pub axAxisName: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXISINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagAXISINFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXISINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMinValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axMinValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMaxValue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axMaxValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axAxisName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axAxisName) + ) + ); +} +pub type AXISINFOA = tagAXISINFOA; +pub type PAXISINFOA = *mut tagAXISINFOA; +pub type LPAXISINFOA = *mut tagAXISINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXISINFOW { + pub axMinValue: LONG, + pub axMaxValue: LONG, + pub axAxisName: [WCHAR; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXISINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagAXISINFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXISINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMinValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axMinValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMaxValue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axMaxValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axAxisName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axAxisName) + ) + ); +} +pub type AXISINFOW = tagAXISINFOW; +pub type PAXISINFOW = *mut tagAXISINFOW; +pub type LPAXISINFOW = *mut tagAXISINFOW; +pub type AXISINFO = AXISINFOA; +pub type PAXISINFO = PAXISINFOA; +pub type LPAXISINFO = LPAXISINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXESLISTA { + pub axlReserved: DWORD, + pub axlNumAxes: DWORD, + pub axlAxisInfo: [AXISINFOA; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXESLISTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 392usize, + concat!("Size of: ", stringify!(tagAXESLISTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXESLISTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlAxisInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlAxisInfo) + ) + ); +} +pub type AXESLISTA = tagAXESLISTA; +pub type PAXESLISTA = *mut tagAXESLISTA; +pub type LPAXESLISTA = *mut tagAXESLISTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXESLISTW { + pub axlReserved: DWORD, + pub axlNumAxes: DWORD, + pub axlAxisInfo: [AXISINFOW; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXESLISTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 648usize, + concat!("Size of: ", stringify!(tagAXESLISTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXESLISTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlAxisInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlAxisInfo) + ) + ); +} +pub type AXESLISTW = tagAXESLISTW; +pub type PAXESLISTW = *mut tagAXESLISTW; +pub type LPAXESLISTW = *mut tagAXESLISTW; +pub type AXESLIST = AXESLISTA; +pub type PAXESLIST = PAXESLISTA; +pub type LPAXESLIST = LPAXESLISTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXDVA { + pub elfEnumLogfontEx: ENUMLOGFONTEXA, + pub elfDesignVector: DESIGNVECTOR, +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXDVA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 260usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXDVA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXDVA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfEnumLogfontEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVA), + "::", + stringify!(elfEnumLogfontEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfDesignVector) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVA), + "::", + stringify!(elfDesignVector) + ) + ); +} +pub type ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA; +pub type PENUMLOGFONTEXDVA = *mut tagENUMLOGFONTEXDVA; +pub type LPENUMLOGFONTEXDVA = *mut tagENUMLOGFONTEXDVA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXDVW { + pub elfEnumLogfontEx: ENUMLOGFONTEXW, + pub elfDesignVector: DESIGNVECTOR, +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXDVW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 420usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXDVW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXDVW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfEnumLogfontEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVW), + "::", + stringify!(elfEnumLogfontEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfDesignVector) as usize - ptr as usize }, + 348usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVW), + "::", + stringify!(elfDesignVector) + ) + ); +} +pub type ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW; +pub type PENUMLOGFONTEXDVW = *mut tagENUMLOGFONTEXDVW; +pub type LPENUMLOGFONTEXDVW = *mut tagENUMLOGFONTEXDVW; +pub type ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA; +pub type PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA; +pub type LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA; +extern "C" { + pub fn CreateFontIndirectExA(arg1: *const ENUMLOGFONTEXDVA) -> HFONT; +} +extern "C" { + pub fn CreateFontIndirectExW(arg1: *const ENUMLOGFONTEXDVW) -> HFONT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMTEXTMETRICA { + pub etmNewTextMetricEx: NEWTEXTMETRICEXA, + pub etmAxesList: AXESLISTA, +} +#[test] +fn bindgen_test_layout_tagENUMTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 488usize, + concat!("Size of: ", stringify!(tagENUMTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmNewTextMetricEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICA), + "::", + stringify!(etmNewTextMetricEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmAxesList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICA), + "::", + stringify!(etmAxesList) + ) + ); +} +pub type ENUMTEXTMETRICA = tagENUMTEXTMETRICA; +pub type PENUMTEXTMETRICA = *mut tagENUMTEXTMETRICA; +pub type LPENUMTEXTMETRICA = *mut tagENUMTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMTEXTMETRICW { + pub etmNewTextMetricEx: NEWTEXTMETRICEXW, + pub etmAxesList: AXESLISTW, +} +#[test] +fn bindgen_test_layout_tagENUMTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 748usize, + concat!("Size of: ", stringify!(tagENUMTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmNewTextMetricEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICW), + "::", + stringify!(etmNewTextMetricEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmAxesList) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICW), + "::", + stringify!(etmAxesList) + ) + ); +} +pub type ENUMTEXTMETRICW = tagENUMTEXTMETRICW; +pub type PENUMTEXTMETRICW = *mut tagENUMTEXTMETRICW; +pub type LPENUMTEXTMETRICW = *mut tagENUMTEXTMETRICW; +pub type ENUMTEXTMETRIC = ENUMTEXTMETRICA; +pub type PENUMTEXTMETRIC = PENUMTEXTMETRICA; +pub type LPENUMTEXTMETRIC = LPENUMTEXTMETRICA; +extern "C" { + pub fn GetViewportExtEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetViewportOrgEx(hdc: HDC, lppoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetWindowExtEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetWindowOrgEx(hdc: HDC, lppoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn IntersectClipRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvertRgn(hdc: HDC, hrgn: HRGN) -> BOOL; +} +extern "C" { + pub fn LineDDA( + xStart: ::std::os::raw::c_int, + yStart: ::std::os::raw::c_int, + xEnd: ::std::os::raw::c_int, + yEnd: ::std::os::raw::c_int, + lpProc: LINEDDAPROC, + data: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn LineTo(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn MaskBlt( + hdcDest: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + hbmMask: HBITMAP, + xMask: ::std::os::raw::c_int, + yMask: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PlgBlt( + hdcDest: HDC, + lpPoint: *const POINT, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + hbmMask: HBITMAP, + xMask: ::std::os::raw::c_int, + yMask: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn OffsetClipRgn( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OffsetRgn( + hrgn: HRGN, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn PatBlt( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn Pie( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + xr1: ::std::os::raw::c_int, + yr1: ::std::os::raw::c_int, + xr2: ::std::os::raw::c_int, + yr2: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn PlayMetaFile(hdc: HDC, hmf: HMETAFILE) -> BOOL; +} +extern "C" { + pub fn PaintRgn(hdc: HDC, hrgn: HRGN) -> BOOL; +} +extern "C" { + pub fn PolyPolygon( + hdc: HDC, + apt: *const POINT, + asz: *const INT, + csz: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn PtInRegion(hrgn: HRGN, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PtVisible(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn RectInRegion(hrgn: HRGN, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn RectVisible(hdc: HDC, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn Rectangle( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn RestoreDC(hdc: HDC, nSavedDC: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn ResetDCA(hdc: HDC, lpdm: *const DEVMODEA) -> HDC; +} +extern "C" { + pub fn ResetDCW(hdc: HDC, lpdm: *const DEVMODEW) -> HDC; +} +extern "C" { + pub fn RealizePalette(hdc: HDC) -> UINT; +} +extern "C" { + pub fn RemoveFontResourceA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn RemoveFontResourceW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn RoundRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ResizePalette(hpal: HPALETTE, n: UINT) -> BOOL; +} +extern "C" { + pub fn SaveDC(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SelectClipRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtSelectClipRgn( + hdc: HDC, + hrgn: HRGN, + mode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMetaRgn(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SelectObject(hdc: HDC, h: HGDIOBJ) -> HGDIOBJ; +} +extern "C" { + pub fn SelectPalette(hdc: HDC, hPal: HPALETTE, bForceBkgd: BOOL) -> HPALETTE; +} +extern "C" { + pub fn SetBkColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetDCBrushColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetDCPenColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetBkMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetBitmapBits(hbm: HBITMAP, cb: DWORD, pvBits: *const ::std::os::raw::c_void) -> LONG; +} +extern "C" { + pub fn SetBoundsRect(hdc: HDC, lprect: *const RECT, flags: UINT) -> UINT; +} +extern "C" { + pub fn SetDIBits( + hdc: HDC, + hbm: HBITMAP, + start: UINT, + cLines: UINT, + lpBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + ColorUse: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetDIBitsToDevice( + hdc: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + w: DWORD, + h: DWORD, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + StartScan: UINT, + cLines: UINT, + lpvBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + ColorUse: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMapperFlags(hdc: HDC, flags: DWORD) -> DWORD; +} +extern "C" { + pub fn SetGraphicsMode(hdc: HDC, iMode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMapMode(hdc: HDC, iMode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetLayout(hdc: HDC, l: DWORD) -> DWORD; +} +extern "C" { + pub fn GetLayout(hdc: HDC) -> DWORD; +} +extern "C" { + pub fn SetMetaFileBitsEx(cbBuffer: UINT, lpData: *const BYTE) -> HMETAFILE; +} +extern "C" { + pub fn SetPaletteEntries( + hpal: HPALETTE, + iStart: UINT, + cEntries: UINT, + pPalEntries: *const PALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn SetPixel( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> COLORREF; +} +extern "C" { + pub fn SetPixelV( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn SetPixelFormat( + hdc: HDC, + format: ::std::os::raw::c_int, + ppfd: *const PIXELFORMATDESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetPolyFillMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StretchBlt( + hdcDest: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetRectRgn( + hrgn: HRGN, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn StretchDIBits( + hdc: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + DestWidth: ::std::os::raw::c_int, + DestHeight: ::std::os::raw::c_int, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + SrcWidth: ::std::os::raw::c_int, + SrcHeight: ::std::os::raw::c_int, + lpBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + iUsage: UINT, + rop: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetROP2(hdc: HDC, rop2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetStretchBltMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetSystemPaletteUse(hdc: HDC, use_: UINT) -> UINT; +} +extern "C" { + pub fn SetTextCharacterExtra(hdc: HDC, extra: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetTextColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetTextAlign(hdc: HDC, align: UINT) -> UINT; +} +extern "C" { + pub fn SetTextJustification( + hdc: HDC, + extra: ::std::os::raw::c_int, + count: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn UpdateColors(hdc: HDC) -> BOOL; +} +pub type COLOR16 = USHORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRIVERTEX { + pub x: LONG, + pub y: LONG, + pub Red: COLOR16, + pub Green: COLOR16, + pub Blue: COLOR16, + pub Alpha: COLOR16, +} +#[test] +fn bindgen_test_layout__TRIVERTEX() { + const UNINIT: ::std::mem::MaybeUninit<_TRIVERTEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRIVERTEX>(), + 16usize, + concat!("Size of: ", stringify!(_TRIVERTEX)) + ); + assert_eq!( + ::std::mem::align_of::<_TRIVERTEX>(), + 4usize, + concat!("Alignment of ", stringify!(_TRIVERTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Red) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Red) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Green) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Green) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Blue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alpha) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Alpha) + ) + ); +} +pub type TRIVERTEX = _TRIVERTEX; +pub type PTRIVERTEX = *mut _TRIVERTEX; +pub type LPTRIVERTEX = *mut _TRIVERTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRADIENT_TRIANGLE { + pub Vertex1: ULONG, + pub Vertex2: ULONG, + pub Vertex3: ULONG, +} +#[test] +fn bindgen_test_layout__GRADIENT_TRIANGLE() { + const UNINIT: ::std::mem::MaybeUninit<_GRADIENT_TRIANGLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GRADIENT_TRIANGLE>(), + 12usize, + concat!("Size of: ", stringify!(_GRADIENT_TRIANGLE)) + ); + assert_eq!( + ::std::mem::align_of::<_GRADIENT_TRIANGLE>(), + 4usize, + concat!("Alignment of ", stringify!(_GRADIENT_TRIANGLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex3) + ) + ); +} +pub type GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE; +pub type PGRADIENT_TRIANGLE = *mut _GRADIENT_TRIANGLE; +pub type LPGRADIENT_TRIANGLE = *mut _GRADIENT_TRIANGLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRADIENT_RECT { + pub UpperLeft: ULONG, + pub LowerRight: ULONG, +} +#[test] +fn bindgen_test_layout__GRADIENT_RECT() { + const UNINIT: ::std::mem::MaybeUninit<_GRADIENT_RECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GRADIENT_RECT>(), + 8usize, + concat!("Size of: ", stringify!(_GRADIENT_RECT)) + ); + assert_eq!( + ::std::mem::align_of::<_GRADIENT_RECT>(), + 4usize, + concat!("Alignment of ", stringify!(_GRADIENT_RECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpperLeft) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_RECT), + "::", + stringify!(UpperLeft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowerRight) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_RECT), + "::", + stringify!(LowerRight) + ) + ); +} +pub type GRADIENT_RECT = _GRADIENT_RECT; +pub type PGRADIENT_RECT = *mut _GRADIENT_RECT; +pub type LPGRADIENT_RECT = *mut _GRADIENT_RECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BLENDFUNCTION { + pub BlendOp: BYTE, + pub BlendFlags: BYTE, + pub SourceConstantAlpha: BYTE, + pub AlphaFormat: BYTE, +} +#[test] +fn bindgen_test_layout__BLENDFUNCTION() { + const UNINIT: ::std::mem::MaybeUninit<_BLENDFUNCTION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BLENDFUNCTION>(), + 4usize, + concat!("Size of: ", stringify!(_BLENDFUNCTION)) + ); + assert_eq!( + ::std::mem::align_of::<_BLENDFUNCTION>(), + 1usize, + concat!("Alignment of ", stringify!(_BLENDFUNCTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlendOp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(BlendOp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlendFlags) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(BlendFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceConstantAlpha) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(SourceConstantAlpha) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlphaFormat) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(AlphaFormat) + ) + ); +} +pub type BLENDFUNCTION = _BLENDFUNCTION; +pub type PBLENDFUNCTION = *mut _BLENDFUNCTION; +extern "C" { + pub fn AlphaBlend( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + ftn: BLENDFUNCTION, + ) -> BOOL; +} +extern "C" { + pub fn TransparentBlt( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + crTransparent: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GradientFill( + hdc: HDC, + pVertex: PTRIVERTEX, + nVertex: ULONG, + pMesh: PVOID, + nMesh: ULONG, + ulMode: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GdiAlphaBlend( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + ftn: BLENDFUNCTION, + ) -> BOOL; +} +extern "C" { + pub fn GdiTransparentBlt( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + crTransparent: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GdiGradientFill( + hdc: HDC, + pVertex: PTRIVERTEX, + nVertex: ULONG, + pMesh: PVOID, + nCount: ULONG, + ulMode: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn PlayMetaFileRecord( + hdc: HDC, + lpHandleTable: LPHANDLETABLE, + lpMR: LPMETARECORD, + noObjs: UINT, + ) -> BOOL; +} +pub type MFENUMPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lpht: *mut HANDLETABLE, + lpMR: *mut METARECORD, + nObj: ::std::os::raw::c_int, + param: LPARAM, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn EnumMetaFile(hdc: HDC, hmf: HMETAFILE, proc_: MFENUMPROC, param: LPARAM) -> BOOL; +} +pub type ENHMFENUMPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lpht: *mut HANDLETABLE, + lpmr: *const ENHMETARECORD, + nHandles: ::std::os::raw::c_int, + data: LPARAM, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn CloseEnhMetaFile(hdc: HDC) -> HENHMETAFILE; +} +extern "C" { + pub fn CopyEnhMetaFileA(hEnh: HENHMETAFILE, lpFileName: LPCSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn CopyEnhMetaFileW(hEnh: HENHMETAFILE, lpFileName: LPCWSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn CreateEnhMetaFileA( + hdc: HDC, + lpFilename: LPCSTR, + lprc: *const RECT, + lpDesc: LPCSTR, + ) -> HDC; +} +extern "C" { + pub fn CreateEnhMetaFileW( + hdc: HDC, + lpFilename: LPCWSTR, + lprc: *const RECT, + lpDesc: LPCWSTR, + ) -> HDC; +} +extern "C" { + pub fn DeleteEnhMetaFile(hmf: HENHMETAFILE) -> BOOL; +} +extern "C" { + pub fn EnumEnhMetaFile( + hdc: HDC, + hmf: HENHMETAFILE, + proc_: ENHMFENUMPROC, + param: LPVOID, + lpRect: *const RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetEnhMetaFileA(lpName: LPCSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn GetEnhMetaFileW(lpName: LPCWSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn GetEnhMetaFileBits(hEMF: HENHMETAFILE, nSize: UINT, lpData: LPBYTE) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileDescriptionA( + hemf: HENHMETAFILE, + cchBuffer: UINT, + lpDescription: LPSTR, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileDescriptionW( + hemf: HENHMETAFILE, + cchBuffer: UINT, + lpDescription: LPWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileHeader( + hemf: HENHMETAFILE, + nSize: UINT, + lpEnhMetaHeader: LPENHMETAHEADER, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFilePaletteEntries( + hemf: HENHMETAFILE, + nNumEntries: UINT, + lpPaletteEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFilePixelFormat( + hemf: HENHMETAFILE, + cbBuffer: UINT, + ppfd: *mut PIXELFORMATDESCRIPTOR, + ) -> UINT; +} +extern "C" { + pub fn GetWinMetaFileBits( + hemf: HENHMETAFILE, + cbData16: UINT, + pData16: LPBYTE, + iMapMode: INT, + hdcRef: HDC, + ) -> UINT; +} +extern "C" { + pub fn PlayEnhMetaFile(hdc: HDC, hmf: HENHMETAFILE, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn PlayEnhMetaFileRecord( + hdc: HDC, + pht: LPHANDLETABLE, + pmr: *const ENHMETARECORD, + cht: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SetEnhMetaFileBits(nSize: UINT, pb: *const BYTE) -> HENHMETAFILE; +} +extern "C" { + pub fn SetWinMetaFileBits( + nSize: UINT, + lpMeta16Data: *const BYTE, + hdcRef: HDC, + lpMFP: *const METAFILEPICT, + ) -> HENHMETAFILE; +} +extern "C" { + pub fn GdiComment(hdc: HDC, nSize: UINT, lpData: *const BYTE) -> BOOL; +} +extern "C" { + pub fn GetTextMetricsA(hdc: HDC, lptm: LPTEXTMETRICA) -> BOOL; +} +extern "C" { + pub fn GetTextMetricsW(hdc: HDC, lptm: LPTEXTMETRICW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDIBSECTION { + pub dsBm: BITMAP, + pub dsBmih: BITMAPINFOHEADER, + pub dsBitfields: [DWORD; 3usize], + pub dshSection: HANDLE, + pub dsOffset: DWORD, +} +#[test] +fn bindgen_test_layout_tagDIBSECTION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagDIBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDIBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBmih) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBmih) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBitfields) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBitfields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dshSection) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dshSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsOffset) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsOffset) + ) + ); +} +pub type DIBSECTION = tagDIBSECTION; +pub type LPDIBSECTION = *mut tagDIBSECTION; +pub type PDIBSECTION = *mut tagDIBSECTION; +extern "C" { + pub fn AngleArc( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + r: DWORD, + StartAngle: FLOAT, + SweepAngle: FLOAT, + ) -> BOOL; +} +extern "C" { + pub fn PolyPolyline(hdc: HDC, apt: *const POINT, asz: *const DWORD, csz: DWORD) -> BOOL; +} +extern "C" { + pub fn GetWorldTransform(hdc: HDC, lpxf: LPXFORM) -> BOOL; +} +extern "C" { + pub fn SetWorldTransform(hdc: HDC, lpxf: *const XFORM) -> BOOL; +} +extern "C" { + pub fn ModifyWorldTransform(hdc: HDC, lpxf: *const XFORM, mode: DWORD) -> BOOL; +} +extern "C" { + pub fn CombineTransform(lpxfOut: LPXFORM, lpxf1: *const XFORM, lpxf2: *const XFORM) -> BOOL; +} +extern "C" { + pub fn CreateDIBSection( + hdc: HDC, + pbmi: *const BITMAPINFO, + usage: UINT, + ppvBits: *mut *mut ::std::os::raw::c_void, + hSection: HANDLE, + offset: DWORD, + ) -> HBITMAP; +} +extern "C" { + pub fn GetDIBColorTable(hdc: HDC, iStart: UINT, cEntries: UINT, prgbq: *mut RGBQUAD) -> UINT; +} +extern "C" { + pub fn SetDIBColorTable(hdc: HDC, iStart: UINT, cEntries: UINT, prgbq: *const RGBQUAD) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORADJUSTMENT { + pub caSize: WORD, + pub caFlags: WORD, + pub caIlluminantIndex: WORD, + pub caRedGamma: WORD, + pub caGreenGamma: WORD, + pub caBlueGamma: WORD, + pub caReferenceBlack: WORD, + pub caReferenceWhite: WORD, + pub caContrast: SHORT, + pub caBrightness: SHORT, + pub caColorfulness: SHORT, + pub caRedGreenTint: SHORT, +} +#[test] +fn bindgen_test_layout_tagCOLORADJUSTMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOLORADJUSTMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagCOLORADJUSTMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caIlluminantIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caIlluminantIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caRedGamma) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caRedGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caGreenGamma) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caGreenGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caBlueGamma) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caBlueGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caReferenceBlack) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caReferenceBlack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caReferenceWhite) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caReferenceWhite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caContrast) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caBrightness) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caBrightness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caColorfulness) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caColorfulness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caRedGreenTint) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caRedGreenTint) + ) + ); +} +pub type COLORADJUSTMENT = tagCOLORADJUSTMENT; +pub type PCOLORADJUSTMENT = *mut tagCOLORADJUSTMENT; +pub type LPCOLORADJUSTMENT = *mut tagCOLORADJUSTMENT; +extern "C" { + pub fn SetColorAdjustment(hdc: HDC, lpca: *const COLORADJUSTMENT) -> BOOL; +} +extern "C" { + pub fn GetColorAdjustment(hdc: HDC, lpca: LPCOLORADJUSTMENT) -> BOOL; +} +extern "C" { + pub fn CreateHalftonePalette(hdc: HDC) -> HPALETTE; +} +pub type ABORTPROC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOCINFOA { + pub cbSize: ::std::os::raw::c_int, + pub lpszDocName: LPCSTR, + pub lpszOutput: LPCSTR, + pub lpszDatatype: LPCSTR, + pub fwType: DWORD, +} +#[test] +fn bindgen_test_layout__DOCINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_DOCINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOCINFOA>(), + 40usize, + concat!("Size of: ", stringify!(_DOCINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_DOCINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_DOCINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDocName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDatatype) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fwType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(fwType) + ) + ); +} +pub type DOCINFOA = _DOCINFOA; +pub type LPDOCINFOA = *mut _DOCINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOCINFOW { + pub cbSize: ::std::os::raw::c_int, + pub lpszDocName: LPCWSTR, + pub lpszOutput: LPCWSTR, + pub lpszDatatype: LPCWSTR, + pub fwType: DWORD, +} +#[test] +fn bindgen_test_layout__DOCINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_DOCINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOCINFOW>(), + 40usize, + concat!("Size of: ", stringify!(_DOCINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_DOCINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_DOCINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDocName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDatatype) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fwType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(fwType) + ) + ); +} +pub type DOCINFOW = _DOCINFOW; +pub type LPDOCINFOW = *mut _DOCINFOW; +pub type DOCINFO = DOCINFOA; +pub type LPDOCINFO = LPDOCINFOA; +extern "C" { + pub fn StartDocA(hdc: HDC, lpdi: *const DOCINFOA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StartDocW(hdc: HDC, lpdi: *const DOCINFOW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EndDoc(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StartPage(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EndPage(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AbortDoc(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetAbortProc(hdc: HDC, proc_: ABORTPROC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AbortPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn ArcTo( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + xr1: ::std::os::raw::c_int, + yr1: ::std::os::raw::c_int, + xr2: ::std::os::raw::c_int, + yr2: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn BeginPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn CloseFigure(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn EndPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn FillPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn FlattenPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn GetPath( + hdc: HDC, + apt: LPPOINT, + aj: LPBYTE, + cpt: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn PathToRegion(hdc: HDC) -> HRGN; +} +extern "C" { + pub fn PolyDraw( + hdc: HDC, + apt: *const POINT, + aj: *const BYTE, + cpt: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn SelectClipPath(hdc: HDC, mode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetArcDirection(hdc: HDC, dir: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMiterLimit(hdc: HDC, limit: FLOAT, old: PFLOAT) -> BOOL; +} +extern "C" { + pub fn StrokeAndFillPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn StrokePath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn WidenPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn ExtCreatePen( + iPenStyle: DWORD, + cWidth: DWORD, + plbrush: *const LOGBRUSH, + cStyle: DWORD, + pstyle: *const DWORD, + ) -> HPEN; +} +extern "C" { + pub fn GetMiterLimit(hdc: HDC, plimit: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetArcDirection(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetObjectA(h: HANDLE, c: ::std::os::raw::c_int, pv: LPVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetObjectW(h: HANDLE, c: ::std::os::raw::c_int, pv: LPVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MoveToEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn TextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn TextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ExtTextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + options: UINT, + lprect: *const RECT, + lpString: LPCSTR, + c: UINT, + lpDx: *const INT, + ) -> BOOL; +} +extern "C" { + pub fn ExtTextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + options: UINT, + lprect: *const RECT, + lpString: LPCWSTR, + c: UINT, + lpDx: *const INT, + ) -> BOOL; +} +extern "C" { + pub fn PolyTextOutA(hdc: HDC, ppt: *const POLYTEXTA, nstrings: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PolyTextOutW(hdc: HDC, ppt: *const POLYTEXTW, nstrings: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn CreatePolygonRgn( + pptl: *const POINT, + cPoint: ::std::os::raw::c_int, + iMode: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn DPtoLP(hdc: HDC, lppt: LPPOINT, c: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn LPtoDP(hdc: HDC, lppt: LPPOINT, c: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn Polygon(hdc: HDC, apt: *const POINT, cpt: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn Polyline(hdc: HDC, apt: *const POINT, cpt: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PolyBezier(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn PolyBezierTo(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn PolylineTo(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn SetViewportExtEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetViewportOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowExtEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn OffsetViewportOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn OffsetWindowOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn ScaleViewportExtEx( + hdc: HDC, + xn: ::std::os::raw::c_int, + dx: ::std::os::raw::c_int, + yn: ::std::os::raw::c_int, + yd: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn ScaleWindowExtEx( + hdc: HDC, + xn: ::std::os::raw::c_int, + xd: ::std::os::raw::c_int, + yn: ::std::os::raw::c_int, + yd: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetBitmapDimensionEx( + hbm: HBITMAP, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetBrushOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn GetTextFaceA(hdc: HDC, c: ::std::os::raw::c_int, lpName: LPSTR) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextFaceW( + hdc: HDC, + c: ::std::os::raw::c_int, + lpName: LPWSTR, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKERNINGPAIR { + pub wFirst: WORD, + pub wSecond: WORD, + pub iKernAmount: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagKERNINGPAIR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagKERNINGPAIR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagKERNINGPAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFirst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(wFirst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSecond) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(wSecond) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iKernAmount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(iKernAmount) + ) + ); +} +pub type KERNINGPAIR = tagKERNINGPAIR; +pub type LPKERNINGPAIR = *mut tagKERNINGPAIR; +extern "C" { + pub fn GetKerningPairsA(hdc: HDC, nPairs: DWORD, lpKernPair: LPKERNINGPAIR) -> DWORD; +} +extern "C" { + pub fn GetKerningPairsW(hdc: HDC, nPairs: DWORD, lpKernPair: LPKERNINGPAIR) -> DWORD; +} +extern "C" { + pub fn GetDCOrgEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn FixBrushOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ptl: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn UnrealizeObject(h: HGDIOBJ) -> BOOL; +} +extern "C" { + pub fn GdiFlush() -> BOOL; +} +extern "C" { + pub fn GdiSetBatchLimit(dw: DWORD) -> DWORD; +} +extern "C" { + pub fn GdiGetBatchLimit() -> DWORD; +} +pub type ICMENUMPROCA = + ::std::option::Option ::std::os::raw::c_int>; +pub type ICMENUMPROCW = ::std::option::Option< + unsafe extern "C" fn(arg1: LPWSTR, arg2: LPARAM) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn SetICMMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CheckColorsInGamut( + hdc: HDC, + lpRGBTriple: LPRGBTRIPLE, + dlpBuffer: LPVOID, + nCount: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetColorSpace(hdc: HDC) -> HCOLORSPACE; +} +extern "C" { + pub fn GetLogColorSpaceA( + hColorSpace: HCOLORSPACE, + lpBuffer: LPLOGCOLORSPACEA, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLogColorSpaceW( + hColorSpace: HCOLORSPACE, + lpBuffer: LPLOGCOLORSPACEW, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreateColorSpaceA(lplcs: LPLOGCOLORSPACEA) -> HCOLORSPACE; +} +extern "C" { + pub fn CreateColorSpaceW(lplcs: LPLOGCOLORSPACEW) -> HCOLORSPACE; +} +extern "C" { + pub fn SetColorSpace(hdc: HDC, hcs: HCOLORSPACE) -> HCOLORSPACE; +} +extern "C" { + pub fn DeleteColorSpace(hcs: HCOLORSPACE) -> BOOL; +} +extern "C" { + pub fn GetICMProfileA(hdc: HDC, pBufSize: LPDWORD, pszFilename: LPSTR) -> BOOL; +} +extern "C" { + pub fn GetICMProfileW(hdc: HDC, pBufSize: LPDWORD, pszFilename: LPWSTR) -> BOOL; +} +extern "C" { + pub fn SetICMProfileA(hdc: HDC, lpFileName: LPSTR) -> BOOL; +} +extern "C" { + pub fn SetICMProfileW(hdc: HDC, lpFileName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetDeviceGammaRamp(hdc: HDC, lpRamp: LPVOID) -> BOOL; +} +extern "C" { + pub fn SetDeviceGammaRamp(hdc: HDC, lpRamp: LPVOID) -> BOOL; +} +extern "C" { + pub fn ColorMatchToTarget(hdc: HDC, hdcTarget: HDC, action: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumICMProfilesA(hdc: HDC, proc_: ICMENUMPROCA, param: LPARAM) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumICMProfilesW(hdc: HDC, proc_: ICMENUMPROCW, param: LPARAM) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UpdateICMRegKeyA( + reserved: DWORD, + lpszCMID: LPSTR, + lpszFileName: LPSTR, + command: UINT, + ) -> BOOL; +} +extern "C" { + pub fn UpdateICMRegKeyW( + reserved: DWORD, + lpszCMID: LPWSTR, + lpszFileName: LPWSTR, + command: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ColorCorrectPalette(hdc: HDC, hPal: HPALETTE, deFirst: DWORD, num: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMR { + pub iType: DWORD, + pub nSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagEMR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMR), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEMR), + "::", + stringify!(nSize) + ) + ); +} +pub type EMR = tagEMR; +pub type PEMR = *mut tagEMR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRTEXT { + pub ptlReference: POINTL, + pub nChars: DWORD, + pub offString: DWORD, + pub fOptions: DWORD, + pub rcl: RECTL, + pub offDx: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(ptlReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChars) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(nChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offString) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(offString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOptions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(fOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offDx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(offDx) + ) + ); +} +pub type EMRTEXT = tagEMRTEXT; +pub type PEMRTEXT = *mut tagEMRTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagABORTPATH { + pub emr: EMR, +} +#[test] +fn bindgen_test_layout_tagABORTPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagABORTPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagABORTPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagABORTPATH), + "::", + stringify!(emr) + ) + ); +} +pub type EMRABORTPATH = tagABORTPATH; +pub type PEMRABORTPATH = *mut tagABORTPATH; +pub type EMRBEGINPATH = tagABORTPATH; +pub type PEMRBEGINPATH = *mut tagABORTPATH; +pub type EMRENDPATH = tagABORTPATH; +pub type PEMRENDPATH = *mut tagABORTPATH; +pub type EMRCLOSEFIGURE = tagABORTPATH; +pub type PEMRCLOSEFIGURE = *mut tagABORTPATH; +pub type EMRFLATTENPATH = tagABORTPATH; +pub type PEMRFLATTENPATH = *mut tagABORTPATH; +pub type EMRWIDENPATH = tagABORTPATH; +pub type PEMRWIDENPATH = *mut tagABORTPATH; +pub type EMRSETMETARGN = tagABORTPATH; +pub type PEMRSETMETARGN = *mut tagABORTPATH; +pub type EMRSAVEDC = tagABORTPATH; +pub type PEMRSAVEDC = *mut tagABORTPATH; +pub type EMRREALIZEPALETTE = tagABORTPATH; +pub type PEMRREALIZEPALETTE = *mut tagABORTPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTCLIPPATH { + pub emr: EMR, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTCLIPPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTCLIPPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTCLIPPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTCLIPPATH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTCLIPPATH), + "::", + stringify!(iMode) + ) + ); +} +pub type EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH; +pub type PEMRSELECTCLIPPATH = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETBKMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETBKMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETMAPMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETMAPMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETLAYOUT = tagEMRSELECTCLIPPATH; +pub type PEMRSETLAYOUT = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETPOLYFILLMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETROP2 = tagEMRSELECTCLIPPATH; +pub type PEMRSETROP2 = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETSTRETCHBLTMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETICMMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETICMMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH; +pub type PEMRSETTEXTALIGN = *mut tagEMRSELECTCLIPPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETMITERLIMIT { + pub emr: EMR, + pub eMiterLimit: FLOAT, +} +#[test] +fn bindgen_test_layout_tagEMRSETMITERLIMIT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETMITERLIMIT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETMITERLIMIT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMITERLIMIT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eMiterLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMITERLIMIT), + "::", + stringify!(eMiterLimit) + ) + ); +} +pub type EMRSETMITERLIMIT = tagEMRSETMITERLIMIT; +pub type PEMRSETMITERLIMIT = *mut tagEMRSETMITERLIMIT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRRESTOREDC { + pub emr: EMR, + pub iRelative: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRRESTOREDC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRRESTOREDC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRRESTOREDC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESTOREDC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRelative) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESTOREDC), + "::", + stringify!(iRelative) + ) + ); +} +pub type EMRRESTOREDC = tagEMRRESTOREDC; +pub type PEMRRESTOREDC = *mut tagEMRRESTOREDC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETARCDIRECTION { + pub emr: EMR, + pub iArcDirection: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETARCDIRECTION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETARCDIRECTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETARCDIRECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETARCDIRECTION), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iArcDirection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETARCDIRECTION), + "::", + stringify!(iArcDirection) + ) + ); +} +pub type EMRSETARCDIRECTION = tagEMRSETARCDIRECTION; +pub type PEMRSETARCDIRECTION = *mut tagEMRSETARCDIRECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETMAPPERFLAGS { + pub emr: EMR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETMAPPERFLAGS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETMAPPERFLAGS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETMAPPERFLAGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMAPPERFLAGS), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMAPPERFLAGS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS; +pub type PEMRSETMAPPERFLAGS = *mut tagEMRSETMAPPERFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETTEXTCOLOR { + pub emr: EMR, + pub crColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagEMRSETTEXTCOLOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETTEXTCOLOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETTEXTCOLOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETTEXTCOLOR), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETTEXTCOLOR), + "::", + stringify!(crColor) + ) + ); +} +pub type EMRSETBKCOLOR = tagEMRSETTEXTCOLOR; +pub type PEMRSETBKCOLOR = *mut tagEMRSETTEXTCOLOR; +pub type EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR; +pub type PEMRSETTEXTCOLOR = *mut tagEMRSETTEXTCOLOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTOBJECT { + pub emr: EMR, + pub ihObject: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTOBJECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTOBJECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTOBJECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTOBJECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihObject) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTOBJECT), + "::", + stringify!(ihObject) + ) + ); +} +pub type EMRSELECTOBJECT = tagEMRSELECTOBJECT; +pub type PEMRSELECTOBJECT = *mut tagEMRSELECTOBJECT; +pub type EMRDELETEOBJECT = tagEMRSELECTOBJECT; +pub type PEMRDELETEOBJECT = *mut tagEMRSELECTOBJECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTPALETTE { + pub emr: EMR, + pub ihPal: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTPALETTE), + "::", + stringify!(ihPal) + ) + ); +} +pub type EMRSELECTPALETTE = tagEMRSELECTPALETTE; +pub type PEMRSELECTPALETTE = *mut tagEMRSELECTPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRRESIZEPALETTE { + pub emr: EMR, + pub ihPal: DWORD, + pub cEntries: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRRESIZEPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRRESIZEPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRRESIZEPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(cEntries) + ) + ); +} +pub type EMRRESIZEPALETTE = tagEMRRESIZEPALETTE; +pub type PEMRRESIZEPALETTE = *mut tagEMRRESIZEPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETPALETTEENTRIES { + pub emr: EMR, + pub ihPal: DWORD, + pub iStart: DWORD, + pub cEntries: DWORD, + pub aPalEntries: [PALETTEENTRY; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRSETPALETTEENTRIES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSETPALETTEENTRIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETPALETTEENTRIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iStart) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(iStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cEntries) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(cEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPalEntries) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(aPalEntries) + ) + ); +} +pub type EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES; +pub type PEMRSETPALETTEENTRIES = *mut tagEMRSETPALETTEENTRIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETCOLORADJUSTMENT { + pub emr: EMR, + pub ColorAdjustment: COLORADJUSTMENT, +} +#[test] +fn bindgen_test_layout_tagEMRSETCOLORADJUSTMENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRSETCOLORADJUSTMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETCOLORADJUSTMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORADJUSTMENT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ColorAdjustment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORADJUSTMENT), + "::", + stringify!(ColorAdjustment) + ) + ); +} +pub type EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT; +pub type PEMRSETCOLORADJUSTMENT = *mut tagEMRSETCOLORADJUSTMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGDICOMMENT { + pub emr: EMR, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGDICOMMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRGDICOMMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGDICOMMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGDICOMMENT = tagEMRGDICOMMENT; +pub type PEMRGDICOMMENT = *mut tagEMRGDICOMMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREOF { + pub emr: EMR, + pub nPalEntries: DWORD, + pub offPalEntries: DWORD, + pub nSizeLast: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMREOF() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREOF)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREOF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offPalEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(offPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeLast) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(nSizeLast) + ) + ); +} +pub type EMREOF = tagEMREOF; +pub type PEMREOF = *mut tagEMREOF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRLINETO { + pub emr: EMR, + pub ptl: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRLINETO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRLINETO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRLINETO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRLINETO), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRLINETO), + "::", + stringify!(ptl) + ) + ); +} +pub type EMRLINETO = tagEMRLINETO; +pub type PEMRLINETO = *mut tagEMRLINETO; +pub type EMRMOVETOEX = tagEMRLINETO; +pub type PEMRMOVETOEX = *mut tagEMRLINETO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMROFFSETCLIPRGN { + pub emr: EMR, + pub ptlOffset: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMROFFSETCLIPRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMROFFSETCLIPRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMROFFSETCLIPRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMROFFSETCLIPRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMROFFSETCLIPRGN), + "::", + stringify!(ptlOffset) + ) + ); +} +pub type EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN; +pub type PEMROFFSETCLIPRGN = *mut tagEMROFFSETCLIPRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFILLPATH { + pub emr: EMR, + pub rclBounds: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMRFILLPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRFILLPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFILLPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLPATH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLPATH), + "::", + stringify!(rclBounds) + ) + ); +} +pub type EMRFILLPATH = tagEMRFILLPATH; +pub type PEMRFILLPATH = *mut tagEMRFILLPATH; +pub type EMRSTROKEANDFILLPATH = tagEMRFILLPATH; +pub type PEMRSTROKEANDFILLPATH = *mut tagEMRFILLPATH; +pub type EMRSTROKEPATH = tagEMRFILLPATH; +pub type PEMRSTROKEPATH = *mut tagEMRFILLPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXCLUDECLIPRECT { + pub emr: EMR, + pub rclClip: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMREXCLUDECLIPRECT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMREXCLUDECLIPRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXCLUDECLIPRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXCLUDECLIPRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclClip) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXCLUDECLIPRECT), + "::", + stringify!(rclClip) + ) + ); +} +pub type EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT; +pub type PEMREXCLUDECLIPRECT = *mut tagEMREXCLUDECLIPRECT; +pub type EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT; +pub type PEMRINTERSECTCLIPRECT = *mut tagEMREXCLUDECLIPRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETVIEWPORTORGEX { + pub emr: EMR, + pub ptlOrigin: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRSETVIEWPORTORGEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRSETVIEWPORTORGEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETVIEWPORTORGEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTORGEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTORGEX), + "::", + stringify!(ptlOrigin) + ) + ); +} +pub type EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETVIEWPORTORGEX = *mut tagEMRSETVIEWPORTORGEX; +pub type EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETWINDOWORGEX = *mut tagEMRSETVIEWPORTORGEX; +pub type EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETBRUSHORGEX = *mut tagEMRSETVIEWPORTORGEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETVIEWPORTEXTEX { + pub emr: EMR, + pub szlExtent: SIZEL, +} +#[test] +fn bindgen_test_layout_tagEMRSETVIEWPORTEXTEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRSETVIEWPORTEXTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETVIEWPORTEXTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTEXTEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlExtent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTEXTEX), + "::", + stringify!(szlExtent) + ) + ); +} +pub type EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX; +pub type PEMRSETVIEWPORTEXTEX = *mut tagEMRSETVIEWPORTEXTEX; +pub type EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX; +pub type PEMRSETWINDOWEXTEX = *mut tagEMRSETVIEWPORTEXTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSCALEVIEWPORTEXTEX { + pub emr: EMR, + pub xNum: LONG, + pub xDenom: LONG, + pub yNum: LONG, + pub yDenom: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSCALEVIEWPORTEXTEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSCALEVIEWPORTEXTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSCALEVIEWPORTEXTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xNum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(xNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDenom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(xDenom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yNum) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(yNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDenom) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(yDenom) + ) + ); +} +pub type EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX; +pub type PEMRSCALEVIEWPORTEXTEX = *mut tagEMRSCALEVIEWPORTEXTEX; +pub type EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX; +pub type PEMRSCALEWINDOWEXTEX = *mut tagEMRSCALEVIEWPORTEXTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETWORLDTRANSFORM { + pub emr: EMR, + pub xform: XFORM, +} +#[test] +fn bindgen_test_layout_tagEMRSETWORLDTRANSFORM() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRSETWORLDTRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETWORLDTRANSFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETWORLDTRANSFORM), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xform) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETWORLDTRANSFORM), + "::", + stringify!(xform) + ) + ); +} +pub type EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM; +pub type PEMRSETWORLDTRANSFORM = *mut tagEMRSETWORLDTRANSFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRMODIFYWORLDTRANSFORM { + pub emr: EMR, + pub xform: XFORM, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRMODIFYWORLDTRANSFORM() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRMODIFYWORLDTRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRMODIFYWORLDTRANSFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xform) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(xform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(iMode) + ) + ); +} +pub type EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM; +pub type PEMRMODIFYWORLDTRANSFORM = *mut tagEMRMODIFYWORLDTRANSFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETPIXELV { + pub emr: EMR, + pub ptlPixel: POINTL, + pub crColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagEMRSETPIXELV() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMRSETPIXELV)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETPIXELV)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlPixel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(ptlPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(crColor) + ) + ); +} +pub type EMRSETPIXELV = tagEMRSETPIXELV; +pub type PEMRSETPIXELV = *mut tagEMRSETPIXELV; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTFLOODFILL { + pub emr: EMR, + pub ptlStart: POINTL, + pub crColor: COLORREF, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMREXTFLOODFILL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMREXTFLOODFILL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTFLOODFILL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(ptlStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(crColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(iMode) + ) + ); +} +pub type EMREXTFLOODFILL = tagEMREXTFLOODFILL; +pub type PEMREXTFLOODFILL = *mut tagEMREXTFLOODFILL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRELLIPSE { + pub emr: EMR, + pub rclBox: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMRELLIPSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRELLIPSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRELLIPSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRELLIPSE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRELLIPSE), + "::", + stringify!(rclBox) + ) + ); +} +pub type EMRELLIPSE = tagEMRELLIPSE; +pub type PEMRELLIPSE = *mut tagEMRELLIPSE; +pub type EMRRECTANGLE = tagEMRELLIPSE; +pub type PEMRRECTANGLE = *mut tagEMRELLIPSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRROUNDRECT { + pub emr: EMR, + pub rclBox: RECTL, + pub szlCorner: SIZEL, +} +#[test] +fn bindgen_test_layout_tagEMRROUNDRECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRROUNDRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRROUNDRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(rclBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlCorner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(szlCorner) + ) + ); +} +pub type EMRROUNDRECT = tagEMRROUNDRECT; +pub type PEMRROUNDRECT = *mut tagEMRROUNDRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRARC { + pub emr: EMR, + pub rclBox: RECTL, + pub ptlStart: POINTL, + pub ptlEnd: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRARC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRARC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRARC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(rclBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlStart) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(ptlStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlEnd) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(ptlEnd) + ) + ); +} +pub type EMRARC = tagEMRARC; +pub type PEMRARC = *mut tagEMRARC; +pub type EMRARCTO = tagEMRARC; +pub type PEMRARCTO = *mut tagEMRARC; +pub type EMRCHORD = tagEMRARC; +pub type PEMRCHORD = *mut tagEMRARC; +pub type EMRPIE = tagEMRARC; +pub type PEMRPIE = *mut tagEMRARC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRANGLEARC { + pub emr: EMR, + pub ptlCenter: POINTL, + pub nRadius: DWORD, + pub eStartAngle: FLOAT, + pub eSweepAngle: FLOAT, +} +#[test] +fn bindgen_test_layout_tagEMRANGLEARC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEMRANGLEARC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRANGLEARC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlCenter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(ptlCenter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRadius) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(nRadius) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eStartAngle) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(eStartAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eSweepAngle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(eSweepAngle) + ) + ); +} +pub type EMRANGLEARC = tagEMRANGLEARC; +pub type PEMRANGLEARC = *mut tagEMRANGLEARC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYLINE { + pub emr: EMR, + pub rclBounds: RECTL, + pub cptl: DWORD, + pub aptl: [POINTL; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYLINE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRPOLYLINE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYLINE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(aptl) + ) + ); +} +pub type EMRPOLYLINE = tagEMRPOLYLINE; +pub type PEMRPOLYLINE = *mut tagEMRPOLYLINE; +pub type EMRPOLYBEZIER = tagEMRPOLYLINE; +pub type PEMRPOLYBEZIER = *mut tagEMRPOLYLINE; +pub type EMRPOLYGON = tagEMRPOLYLINE; +pub type PEMRPOLYGON = *mut tagEMRPOLYLINE; +pub type EMRPOLYBEZIERTO = tagEMRPOLYLINE; +pub type PEMRPOLYBEZIERTO = *mut tagEMRPOLYLINE; +pub type EMRPOLYLINETO = tagEMRPOLYLINE; +pub type PEMRPOLYLINETO = *mut tagEMRPOLYLINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYLINE16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub cpts: DWORD, + pub apts: [POINTS; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYLINE16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRPOLYLINE16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYLINE16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(apts) + ) + ); +} +pub type EMRPOLYLINE16 = tagEMRPOLYLINE16; +pub type PEMRPOLYLINE16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYBEZIER16 = tagEMRPOLYLINE16; +pub type PEMRPOLYBEZIER16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYGON16 = tagEMRPOLYLINE16; +pub type PEMRPOLYGON16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16; +pub type PEMRPOLYBEZIERTO16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYLINETO16 = tagEMRPOLYLINE16; +pub type PEMRPOLYLINETO16 = *mut tagEMRPOLYLINE16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYDRAW { + pub emr: EMR, + pub rclBounds: RECTL, + pub cptl: DWORD, + pub aptl: [POINTL; 1usize], + pub abTypes: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYDRAW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRPOLYDRAW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYDRAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(aptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abTypes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(abTypes) + ) + ); +} +pub type EMRPOLYDRAW = tagEMRPOLYDRAW; +pub type PEMRPOLYDRAW = *mut tagEMRPOLYDRAW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYDRAW16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub cpts: DWORD, + pub apts: [POINTS; 1usize], + pub abTypes: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYDRAW16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRPOLYDRAW16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYDRAW16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(apts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abTypes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(abTypes) + ) + ); +} +pub type EMRPOLYDRAW16 = tagEMRPOLYDRAW16; +pub type PEMRPOLYDRAW16 = *mut tagEMRPOLYDRAW16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYPOLYLINE { + pub emr: EMR, + pub rclBounds: RECTL, + pub nPolys: DWORD, + pub cptl: DWORD, + pub aPolyCounts: [DWORD; 1usize], + pub aptl: [POINTL; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYPOLYLINE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagEMRPOLYPOLYLINE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYPOLYLINE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPolys) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(nPolys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPolyCounts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(aPolyCounts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(aptl) + ) + ); +} +pub type EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE; +pub type PEMRPOLYPOLYLINE = *mut tagEMRPOLYPOLYLINE; +pub type EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE; +pub type PEMRPOLYPOLYGON = *mut tagEMRPOLYPOLYLINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYPOLYLINE16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub nPolys: DWORD, + pub cpts: DWORD, + pub aPolyCounts: [DWORD; 1usize], + pub apts: [POINTS; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYPOLYLINE16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRPOLYPOLYLINE16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYPOLYLINE16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPolys) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(nPolys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPolyCounts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(aPolyCounts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(apts) + ) + ); +} +pub type EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16; +pub type PEMRPOLYPOLYLINE16 = *mut tagEMRPOLYPOLYLINE16; +pub type EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16; +pub type PEMRPOLYPOLYGON16 = *mut tagEMRPOLYPOLYLINE16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRINVERTRGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRINVERTRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRINVERTRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRINVERTRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRINVERTRGN = tagEMRINVERTRGN; +pub type PEMRINVERTRGN = *mut tagEMRINVERTRGN; +pub type EMRPAINTRGN = tagEMRINVERTRGN; +pub type PEMRPAINTRGN = *mut tagEMRINVERTRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFILLRGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub ihBrush: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRFILLRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRFILLRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFILLRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRFILLRGN = tagEMRFILLRGN; +pub type PEMRFILLRGN = *mut tagEMRFILLRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFRAMERGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub ihBrush: DWORD, + pub szlStroke: SIZEL, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRFRAMERGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagEMRFRAMERGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFRAMERGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlStroke) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(szlStroke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRFRAMERGN = tagEMRFRAMERGN; +pub type PEMRFRAMERGN = *mut tagEMRFRAMERGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTSELECTCLIPRGN { + pub emr: EMR, + pub cbRgnData: DWORD, + pub iMode: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMREXTSELECTCLIPRGN() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREXTSELECTCLIPRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTSELECTCLIPRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(iMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN; +pub type PEMREXTSELECTCLIPRGN = *mut tagEMREXTSELECTCLIPRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTTEXTOUTA { + pub emr: EMR, + pub rclBounds: RECTL, + pub iGraphicsMode: DWORD, + pub exScale: FLOAT, + pub eyScale: FLOAT, + pub emrtext: EMRTEXT, +} +#[test] +fn bindgen_test_layout_tagEMREXTTEXTOUTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagEMREXTTEXTOUTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTTEXTOUTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iGraphicsMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(iGraphicsMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exScale) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(exScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eyScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(eyScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emrtext) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(emrtext) + ) + ); +} +pub type EMREXTTEXTOUTA = tagEMREXTTEXTOUTA; +pub type PEMREXTTEXTOUTA = *mut tagEMREXTTEXTOUTA; +pub type EMREXTTEXTOUTW = tagEMREXTTEXTOUTA; +pub type PEMREXTTEXTOUTW = *mut tagEMREXTTEXTOUTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYTEXTOUTA { + pub emr: EMR, + pub rclBounds: RECTL, + pub iGraphicsMode: DWORD, + pub exScale: FLOAT, + pub eyScale: FLOAT, + pub cStrings: LONG, + pub aemrtext: [EMRTEXT; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYTEXTOUTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagEMRPOLYTEXTOUTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYTEXTOUTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iGraphicsMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(iGraphicsMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exScale) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(exScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eyScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(eyScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStrings) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(cStrings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aemrtext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(aemrtext) + ) + ); +} +pub type EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA; +pub type PEMRPOLYTEXTOUTA = *mut tagEMRPOLYTEXTOUTA; +pub type EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA; +pub type PEMRPOLYTEXTOUTW = *mut tagEMRPOLYTEXTOUTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRBITBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRBITBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagEMRBITBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRBITBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cbBitsSrc) + ) + ); +} +pub type EMRBITBLT = tagEMRBITBLT; +pub type PEMRBITBLT = *mut tagEMRBITBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSTRETCHBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSTRETCHBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRSTRETCHBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSTRETCHBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRSTRETCHBLT = tagEMRSTRETCHBLT; +pub type PEMRSTRETCHBLT = *mut tagEMRSTRETCHBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRMASKBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub xMask: LONG, + pub yMask: LONG, + pub iUsageMask: DWORD, + pub offBmiMask: DWORD, + pub cbBmiMask: DWORD, + pub offBitsMask: DWORD, + pub cbBitsMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRMASKBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagEMRMASKBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRMASKBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yMask) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(yMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageMask) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(iUsageMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiMask) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiMask) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsMask) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBitsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsMask) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBitsMask) + ) + ); +} +pub type EMRMASKBLT = tagEMRMASKBLT; +pub type PEMRMASKBLT = *mut tagEMRMASKBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPLGBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub aptlDest: [POINTL; 3usize], + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub xMask: LONG, + pub yMask: LONG, + pub iUsageMask: DWORD, + pub offBmiMask: DWORD, + pub cbBmiMask: DWORD, + pub offBitsMask: DWORD, + pub cbBitsMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRPLGBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 140usize, + concat!("Size of: ", stringify!(tagEMRPLGBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPLGBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptlDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(aptlDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xMask) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yMask) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(yMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageMask) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(iUsageMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiMask) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiMask) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsMask) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBitsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsMask) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBitsMask) + ) + ); +} +pub type EMRPLGBLT = tagEMRPLGBLT; +pub type PEMRPLGBLT = *mut tagEMRPLGBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETDIBITSTODEVICE { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub iUsageSrc: DWORD, + pub iStartScan: DWORD, + pub cScans: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETDIBITSTODEVICE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagEMRSETDIBITSTODEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETDIBITSTODEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iStartScan) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(iStartScan) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cScans) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cScans) + ) + ); +} +pub type EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE; +pub type PEMRSETDIBITSTODEVICE = *mut tagEMRSETDIBITSTODEVICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSTRETCHDIBITS { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub iUsageSrc: DWORD, + pub dwRop: DWORD, + pub cxDest: LONG, + pub cyDest: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSTRETCHDIBITS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagEMRSTRETCHDIBITS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSTRETCHDIBITS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cyDest) + ) + ); +} +pub type EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS; +pub type PEMRSTRETCHDIBITS = *mut tagEMRSTRETCHDIBITS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTCREATEFONTINDIRECTW { + pub emr: EMR, + pub ihFont: DWORD, + pub elfw: EXTLOGFONTW, +} +#[test] +fn bindgen_test_layout_tagEMREXTCREATEFONTINDIRECTW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 332usize, + concat!("Size of: ", stringify!(tagEMREXTCREATEFONTINDIRECTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTCREATEFONTINDIRECTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihFont) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(ihFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfw) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(elfw) + ) + ); +} +pub type EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW; +pub type PEMREXTCREATEFONTINDIRECTW = *mut tagEMREXTCREATEFONTINDIRECTW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEPALETTE { + pub emr: EMR, + pub ihPal: DWORD, + pub lgpl: LOGPALETTE, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMRCREATEPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lgpl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(lgpl) + ) + ); +} +pub type EMRCREATEPALETTE = tagEMRCREATEPALETTE; +pub type PEMRCREATEPALETTE = *mut tagEMRCREATEPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEPEN { + pub emr: EMR, + pub ihPen: DWORD, + pub lopn: LOGPEN, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEMRCREATEPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(ihPen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopn) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(lopn) + ) + ); +} +pub type EMRCREATEPEN = tagEMRCREATEPEN; +pub type PEMRCREATEPEN = *mut tagEMRCREATEPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTCREATEPEN { + pub emr: EMR, + pub ihPen: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, + pub elp: EXTLOGPEN32, +} +#[test] +fn bindgen_test_layout_tagEMREXTCREATEPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagEMREXTCREATEPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTCREATEPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(ihPen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(cbBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elp) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(elp) + ) + ); +} +pub type EMREXTCREATEPEN = tagEMREXTCREATEPEN; +pub type PEMREXTCREATEPEN = *mut tagEMREXTCREATEPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEBRUSHINDIRECT { + pub emr: EMR, + pub ihBrush: DWORD, + pub lb: LOGBRUSH32, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEBRUSHINDIRECT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRCREATEBRUSHINDIRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEBRUSHINDIRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lb) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(lb) + ) + ); +} +pub type EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT; +pub type PEMRCREATEBRUSHINDIRECT = *mut tagEMRCREATEBRUSHINDIRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEMONOBRUSH { + pub emr: EMR, + pub ihBrush: DWORD, + pub iUsage: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEMONOBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRCREATEMONOBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEMONOBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(iUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(cbBits) + ) + ); +} +pub type EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH; +pub type PEMRCREATEMONOBRUSH = *mut tagEMRCREATEMONOBRUSH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEDIBPATTERNBRUSHPT { + pub emr: EMR, + pub ihBrush: DWORD, + pub iUsage: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEDIBPATTERNBRUSHPT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(iUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(cbBits) + ) + ); +} +pub type EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT; +pub type PEMRCREATEDIBPATTERNBRUSHPT = *mut tagEMRCREATEDIBPATTERNBRUSHPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFORMAT { + pub dSignature: DWORD, + pub nVersion: DWORD, + pub cbData: DWORD, + pub offData: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRFORMAT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(dSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(offData) + ) + ); +} +pub type EMRFORMAT = tagEMRFORMAT; +pub type PEMRFORMAT = *mut tagEMRFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGLSRECORD { + pub emr: EMR, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGLSRECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRGLSRECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGLSRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGLSRECORD = tagEMRGLSRECORD; +pub type PEMRGLSRECORD = *mut tagEMRGLSRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGLSBOUNDEDRECORD { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGLSBOUNDEDRECORD() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRGLSBOUNDEDRECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGLSBOUNDEDRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD; +pub type PEMRGLSBOUNDEDRECORD = *mut tagEMRGLSBOUNDEDRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPIXELFORMAT { + pub emr: EMR, + pub pfd: PIXELFORMATDESCRIPTOR, +} +#[test] +fn bindgen_test_layout_tagEMRPIXELFORMAT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagEMRPIXELFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPIXELFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPIXELFORMAT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPIXELFORMAT), + "::", + stringify!(pfd) + ) + ); +} +pub type EMRPIXELFORMAT = tagEMRPIXELFORMAT; +pub type PEMRPIXELFORMAT = *mut tagEMRPIXELFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATECOLORSPACE { + pub emr: EMR, + pub ihCS: DWORD, + pub lcs: LOGCOLORSPACEA, +} +#[test] +fn bindgen_test_layout_tagEMRCREATECOLORSPACE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 340usize, + concat!("Size of: ", stringify!(tagEMRCREATECOLORSPACE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATECOLORSPACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(ihCS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(lcs) + ) + ); +} +pub type EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE; +pub type PEMRCREATECOLORSPACE = *mut tagEMRCREATECOLORSPACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETCOLORSPACE { + pub emr: EMR, + pub ihCS: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETCOLORSPACE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETCOLORSPACE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETCOLORSPACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORSPACE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORSPACE), + "::", + stringify!(ihCS) + ) + ); +} +pub type EMRSETCOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRSETCOLORSPACE = *mut tagEMRSETCOLORSPACE; +pub type EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRSELECTCOLORSPACE = *mut tagEMRSETCOLORSPACE; +pub type EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRDELETECOLORSPACE = *mut tagEMRSETCOLORSPACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTESCAPE { + pub emr: EMR, + pub iEscape: INT, + pub cbEscData: INT, + pub EscData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMREXTESCAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREXTESCAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTESCAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iEscape) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(iEscape) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEscData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(cbEscData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EscData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(EscData) + ) + ); +} +pub type EMREXTESCAPE = tagEMREXTESCAPE; +pub type PEMREXTESCAPE = *mut tagEMREXTESCAPE; +pub type EMRDRAWESCAPE = tagEMREXTESCAPE; +pub type PEMRDRAWESCAPE = *mut tagEMREXTESCAPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRNAMEDESCAPE { + pub emr: EMR, + pub iEscape: INT, + pub cbDriver: INT, + pub cbEscData: INT, + pub EscData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRNAMEDESCAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRNAMEDESCAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRNAMEDESCAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iEscape) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(iEscape) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDriver) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(cbDriver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEscData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(cbEscData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EscData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(EscData) + ) + ); +} +pub type EMRNAMEDESCAPE = tagEMRNAMEDESCAPE; +pub type PEMRNAMEDESCAPE = *mut tagEMRNAMEDESCAPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETICMPROFILE { + pub emr: EMR, + pub dwFlags: DWORD, + pub cbName: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRSETICMPROFILE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSETICMPROFILE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETICMPROFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(cbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(Data) + ) + ); +} +pub type EMRSETICMPROFILE = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILE = *mut tagEMRSETICMPROFILE; +pub type EMRSETICMPROFILEA = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILEA = *mut tagEMRSETICMPROFILE; +pub type EMRSETICMPROFILEW = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILEW = *mut tagEMRSETICMPROFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATECOLORSPACEW { + pub emr: EMR, + pub ihCS: DWORD, + pub lcs: LOGCOLORSPACEW, + pub dwFlags: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRCREATECOLORSPACEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 612usize, + concat!("Size of: ", stringify!(tagEMRCREATECOLORSPACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATECOLORSPACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(ihCS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(lcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 600usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 604usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 608usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(Data) + ) + ); +} +pub type EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW; +pub type PEMRCREATECOLORSPACEW = *mut tagEMRCREATECOLORSPACEW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORMATCHTOTARGET { + pub emr: EMR, + pub dwAction: DWORD, + pub dwFlags: DWORD, + pub cbName: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagCOLORMATCHTOTARGET() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCOLORMATCHTOTARGET)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOLORMATCHTOTARGET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(dwAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(cbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(Data) + ) + ); +} +pub type EMRCOLORMATCHTOTARGET = tagCOLORMATCHTOTARGET; +pub type PEMRCOLORMATCHTOTARGET = *mut tagCOLORMATCHTOTARGET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORCORRECTPALETTE { + pub emr: EMR, + pub ihPalette: DWORD, + pub nFirstEntry: DWORD, + pub nPalEntries: DWORD, + pub nReserved: DWORD, +} +#[test] +fn bindgen_test_layout_tagCOLORCORRECTPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOLORCORRECTPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOLORCORRECTPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPalette) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(ihPalette) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFirstEntry) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nFirstEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nReserved) + ) + ); +} +pub type EMRCOLORCORRECTPALETTE = tagCOLORCORRECTPALETTE; +pub type PEMRCOLORCORRECTPALETTE = *mut tagCOLORCORRECTPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRALPHABLEND { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRALPHABLEND() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRALPHABLEND)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRALPHABLEND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRALPHABLEND = tagEMRALPHABLEND; +pub type PEMRALPHABLEND = *mut tagEMRALPHABLEND; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGRADIENTFILL { + pub emr: EMR, + pub rclBounds: RECTL, + pub nVer: DWORD, + pub nTri: DWORD, + pub ulMode: ULONG, + pub Ver: [TRIVERTEX; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGRADIENTFILL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagEMRGRADIENTFILL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGRADIENTFILL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(nVer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nTri) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(nTri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(ulMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ver) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(Ver) + ) + ); +} +pub type EMRGRADIENTFILL = tagEMRGRADIENTFILL; +pub type PEMRGRADIENTFILL = *mut tagEMRGRADIENTFILL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRTRANSPARENTBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRTRANSPARENTBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRTRANSPARENTBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRTRANSPARENTBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT; +pub type PEMRTRANSPARENTBLT = *mut tagEMRTRANSPARENTBLT; +extern "C" { + pub fn wglCopyContext(arg1: HGLRC, arg2: HGLRC, arg3: UINT) -> BOOL; +} +extern "C" { + pub fn wglCreateContext(arg1: HDC) -> HGLRC; +} +extern "C" { + pub fn wglCreateLayerContext(arg1: HDC, arg2: ::std::os::raw::c_int) -> HGLRC; +} +extern "C" { + pub fn wglDeleteContext(arg1: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglGetCurrentContext() -> HGLRC; +} +extern "C" { + pub fn wglGetCurrentDC() -> HDC; +} +extern "C" { + pub fn wglGetProcAddress(arg1: LPCSTR) -> PROC; +} +extern "C" { + pub fn wglMakeCurrent(arg1: HDC, arg2: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglShareLists(arg1: HGLRC, arg2: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglUseFontBitmapsA(arg1: HDC, arg2: DWORD, arg3: DWORD, arg4: DWORD) -> BOOL; +} +extern "C" { + pub fn wglUseFontBitmapsW(arg1: HDC, arg2: DWORD, arg3: DWORD, arg4: DWORD) -> BOOL; +} +extern "C" { + pub fn SwapBuffers(arg1: HDC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POINTFLOAT { + pub x: FLOAT, + pub y: FLOAT, +} +#[test] +fn bindgen_test_layout__POINTFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_POINTFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POINTFLOAT>(), + 8usize, + concat!("Size of: ", stringify!(_POINTFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_POINTFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_POINTFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POINTFLOAT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POINTFLOAT), + "::", + stringify!(y) + ) + ); +} +pub type POINTFLOAT = _POINTFLOAT; +pub type PPOINTFLOAT = *mut _POINTFLOAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GLYPHMETRICSFLOAT { + pub gmfBlackBoxX: FLOAT, + pub gmfBlackBoxY: FLOAT, + pub gmfptGlyphOrigin: POINTFLOAT, + pub gmfCellIncX: FLOAT, + pub gmfCellIncY: FLOAT, +} +#[test] +fn bindgen_test_layout__GLYPHMETRICSFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_GLYPHMETRICSFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GLYPHMETRICSFLOAT>(), + 24usize, + concat!("Size of: ", stringify!(_GLYPHMETRICSFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_GLYPHMETRICSFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_GLYPHMETRICSFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfBlackBoxX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfBlackBoxX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfBlackBoxY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfBlackBoxY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfptGlyphOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfptGlyphOrigin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfCellIncX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfCellIncX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfCellIncY) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfCellIncY) + ) + ); +} +pub type GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT; +pub type PGLYPHMETRICSFLOAT = *mut _GLYPHMETRICSFLOAT; +pub type LPGLYPHMETRICSFLOAT = *mut _GLYPHMETRICSFLOAT; +extern "C" { + pub fn wglUseFontOutlinesA( + arg1: HDC, + arg2: DWORD, + arg3: DWORD, + arg4: DWORD, + arg5: FLOAT, + arg6: FLOAT, + arg7: ::std::os::raw::c_int, + arg8: LPGLYPHMETRICSFLOAT, + ) -> BOOL; +} +extern "C" { + pub fn wglUseFontOutlinesW( + arg1: HDC, + arg2: DWORD, + arg3: DWORD, + arg4: DWORD, + arg5: FLOAT, + arg6: FLOAT, + arg7: ::std::os::raw::c_int, + arg8: LPGLYPHMETRICSFLOAT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLAYERPLANEDESCRIPTOR { + pub nSize: WORD, + pub nVersion: WORD, + pub dwFlags: DWORD, + pub iPixelType: BYTE, + pub cColorBits: BYTE, + pub cRedBits: BYTE, + pub cRedShift: BYTE, + pub cGreenBits: BYTE, + pub cGreenShift: BYTE, + pub cBlueBits: BYTE, + pub cBlueShift: BYTE, + pub cAlphaBits: BYTE, + pub cAlphaShift: BYTE, + pub cAccumBits: BYTE, + pub cAccumRedBits: BYTE, + pub cAccumGreenBits: BYTE, + pub cAccumBlueBits: BYTE, + pub cAccumAlphaBits: BYTE, + pub cDepthBits: BYTE, + pub cStencilBits: BYTE, + pub cAuxBuffers: BYTE, + pub iLayerPlane: BYTE, + pub bReserved: BYTE, + pub crTransparent: COLORREF, +} +#[test] +fn bindgen_test_layout_tagLAYERPLANEDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagLAYERPLANEDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLAYERPLANEDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPixelType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(iPixelType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColorBits) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cRedShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenBits) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenShift) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cGreenShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueBits) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueShift) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cBlueShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaShift) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAlphaShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBits) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumRedBits) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumGreenBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBlueBits) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumAlphaBits) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDepthBits) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cDepthBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStencilBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cStencilBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuxBuffers) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAuxBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLayerPlane) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(iLayerPlane) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crTransparent) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(crTransparent) + ) + ); +} +pub type LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR; +pub type PLAYERPLANEDESCRIPTOR = *mut tagLAYERPLANEDESCRIPTOR; +pub type LPLAYERPLANEDESCRIPTOR = *mut tagLAYERPLANEDESCRIPTOR; +extern "C" { + pub fn wglDescribeLayerPlane( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: UINT, + arg5: LPLAYERPLANEDESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn wglSetLayerPaletteEntries( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + arg5: *const COLORREF, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wglGetLayerPaletteEntries( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + arg5: *mut COLORREF, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wglRealizeLayerPalette(arg1: HDC, arg2: ::std::os::raw::c_int, arg3: BOOL) -> BOOL; +} +extern "C" { + pub fn wglSwapLayerBuffers(arg1: HDC, arg2: UINT) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WGLSWAP { + pub hdc: HDC, + pub uiFlags: UINT, +} +#[test] +fn bindgen_test_layout__WGLSWAP() { + const UNINIT: ::std::mem::MaybeUninit<_WGLSWAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WGLSWAP>(), + 16usize, + concat!("Size of: ", stringify!(_WGLSWAP)) + ); + assert_eq!( + ::std::mem::align_of::<_WGLSWAP>(), + 8usize, + concat!("Alignment of ", stringify!(_WGLSWAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WGLSWAP), + "::", + stringify!(hdc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WGLSWAP), + "::", + stringify!(uiFlags) + ) + ); +} +pub type WGLSWAP = _WGLSWAP; +pub type PWGLSWAP = *mut _WGLSWAP; +pub type LPWGLSWAP = *mut _WGLSWAP; +extern "C" { + pub fn wglSwapMultipleBuffers(arg1: UINT, arg2: *const WGLSWAP) -> DWORD; +} +pub type HDWP = HANDLE; +pub type MENUTEMPLATEA = ::std::os::raw::c_void; +pub type MENUTEMPLATEW = ::std::os::raw::c_void; +pub type MENUTEMPLATE = MENUTEMPLATEA; +pub type LPMENUTEMPLATEA = PVOID; +pub type LPMENUTEMPLATEW = PVOID; +pub type LPMENUTEMPLATE = LPMENUTEMPLATEA; +pub type WNDPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> LRESULT, +>; +pub type DLGPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> INT_PTR, +>; +pub type TIMERPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: UINT_PTR, arg4: DWORD), +>; +pub type GRAYSTRINGPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HDC, arg2: LPARAM, arg3: ::std::os::raw::c_int) -> BOOL, +>; +pub type WNDENUMPROC = + ::std::option::Option BOOL>; +pub type HOOKPROC = ::std::option::Option< + unsafe extern "C" fn(code: ::std::os::raw::c_int, wParam: WPARAM, lParam: LPARAM) -> LRESULT, +>; +pub type SENDASYNCPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: ULONG_PTR, arg4: LRESULT), +>; +pub type PROPENUMPROCA = + ::std::option::Option BOOL>; +pub type PROPENUMPROCW = + ::std::option::Option BOOL>; +pub type PROPENUMPROCEXA = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: LPSTR, arg3: HANDLE, arg4: ULONG_PTR) -> BOOL, +>; +pub type PROPENUMPROCEXW = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: LPWSTR, arg3: HANDLE, arg4: ULONG_PTR) -> BOOL, +>; +pub type EDITWORDBREAKPROCA = ::std::option::Option< + unsafe extern "C" fn( + lpch: LPSTR, + ichCurrent: ::std::os::raw::c_int, + cch: ::std::os::raw::c_int, + code: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type EDITWORDBREAKPROCW = ::std::option::Option< + unsafe extern "C" fn( + lpch: LPWSTR, + ichCurrent: ::std::os::raw::c_int, + cch: ::std::os::raw::c_int, + code: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type DRAWSTATEPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lData: LPARAM, + wData: WPARAM, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> BOOL, +>; +pub type PROPENUMPROC = PROPENUMPROCA; +pub type PROPENUMPROCEX = PROPENUMPROCEXA; +pub type EDITWORDBREAKPROC = EDITWORDBREAKPROCA; +pub type NAMEENUMPROCA = + ::std::option::Option BOOL>; +pub type NAMEENUMPROCW = + ::std::option::Option BOOL>; +pub type WINSTAENUMPROCA = NAMEENUMPROCA; +pub type DESKTOPENUMPROCA = NAMEENUMPROCA; +pub type WINSTAENUMPROCW = NAMEENUMPROCW; +pub type DESKTOPENUMPROCW = NAMEENUMPROCW; +pub type WINSTAENUMPROC = WINSTAENUMPROCA; +pub type DESKTOPENUMPROC = DESKTOPENUMPROCA; +extern "C" { + pub fn wvsprintfA(arg1: LPSTR, arg2: LPCSTR, arglist: va_list) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wvsprintfW(arg1: LPWSTR, arg2: LPCWSTR, arglist: va_list) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wsprintfA(arg1: LPSTR, arg2: LPCSTR, ...) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wsprintfW(arg1: LPWSTR, arg2: LPCWSTR, ...) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBT_CREATEWNDA { + pub lpcs: *mut tagCREATESTRUCTA, + pub hwndInsertAfter: HWND, +} +#[test] +fn bindgen_test_layout_tagCBT_CREATEWNDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBT_CREATEWNDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBT_CREATEWNDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDA), + "::", + stringify!(lpcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDA), + "::", + stringify!(hwndInsertAfter) + ) + ); +} +pub type CBT_CREATEWNDA = tagCBT_CREATEWNDA; +pub type LPCBT_CREATEWNDA = *mut tagCBT_CREATEWNDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBT_CREATEWNDW { + pub lpcs: *mut tagCREATESTRUCTW, + pub hwndInsertAfter: HWND, +} +#[test] +fn bindgen_test_layout_tagCBT_CREATEWNDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBT_CREATEWNDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBT_CREATEWNDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDW), + "::", + stringify!(lpcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDW), + "::", + stringify!(hwndInsertAfter) + ) + ); +} +pub type CBT_CREATEWNDW = tagCBT_CREATEWNDW; +pub type LPCBT_CREATEWNDW = *mut tagCBT_CREATEWNDW; +pub type CBT_CREATEWND = CBT_CREATEWNDA; +pub type LPCBT_CREATEWND = LPCBT_CREATEWNDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBTACTIVATESTRUCT { + pub fMouse: BOOL, + pub hWndActive: HWND, +} +#[test] +fn bindgen_test_layout_tagCBTACTIVATESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBTACTIVATESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBTACTIVATESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBTACTIVATESTRUCT), + "::", + stringify!(fMouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndActive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBTACTIVATESTRUCT), + "::", + stringify!(hWndActive) + ) + ); +} +pub type CBTACTIVATESTRUCT = tagCBTACTIVATESTRUCT; +pub type LPCBTACTIVATESTRUCT = *mut tagCBTACTIVATESTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWTSSESSION_NOTIFICATION { + pub cbSize: DWORD, + pub dwSessionId: DWORD, +} +#[test] +fn bindgen_test_layout_tagWTSSESSION_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagWTSSESSION_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWTSSESSION_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWTSSESSION_NOTIFICATION), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSessionId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWTSSESSION_NOTIFICATION), + "::", + stringify!(dwSessionId) + ) + ); +} +pub type WTSSESSION_NOTIFICATION = tagWTSSESSION_NOTIFICATION; +pub type PWTSSESSION_NOTIFICATION = *mut tagWTSSESSION_NOTIFICATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SHELLHOOKINFO { + pub hwnd: HWND, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_SHELLHOOKINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(SHELLHOOKINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SHELLHOOKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SHELLHOOKINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SHELLHOOKINFO), + "::", + stringify!(rc) + ) + ); +} +pub type LPSHELLHOOKINFO = *mut SHELLHOOKINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEVENTMSG { + pub message: UINT, + pub paramL: UINT, + pub paramH: UINT, + pub time: DWORD, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagEVENTMSG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEVENTMSG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEVENTMSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramL) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(paramL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramH) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(paramH) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(hwnd) + ) + ); +} +pub type EVENTMSG = tagEVENTMSG; +pub type PEVENTMSGMSG = *mut tagEVENTMSG; +pub type NPEVENTMSGMSG = *mut tagEVENTMSG; +pub type LPEVENTMSGMSG = *mut tagEVENTMSG; +pub type PEVENTMSG = *mut tagEVENTMSG; +pub type NPEVENTMSG = *mut tagEVENTMSG; +pub type LPEVENTMSG = *mut tagEVENTMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCWPSTRUCT { + pub lParam: LPARAM, + pub wParam: WPARAM, + pub message: UINT, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagCWPSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCWPSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCWPSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(hwnd) + ) + ); +} +pub type CWPSTRUCT = tagCWPSTRUCT; +pub type PCWPSTRUCT = *mut tagCWPSTRUCT; +pub type NPCWPSTRUCT = *mut tagCWPSTRUCT; +pub type LPCWPSTRUCT = *mut tagCWPSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCWPRETSTRUCT { + pub lResult: LRESULT, + pub lParam: LPARAM, + pub wParam: WPARAM, + pub message: UINT, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagCWPRETSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagCWPRETSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCWPRETSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lResult) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(lResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(hwnd) + ) + ); +} +pub type CWPRETSTRUCT = tagCWPRETSTRUCT; +pub type PCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +pub type NPCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +pub type LPCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKBDLLHOOKSTRUCT { + pub vkCode: DWORD, + pub scanCode: DWORD, + pub flags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagKBDLLHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagKBDLLHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagKBDLLHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vkCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(vkCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(scanCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT; +pub type LPKBDLLHOOKSTRUCT = *mut tagKBDLLHOOKSTRUCT; +pub type PKBDLLHOOKSTRUCT = *mut tagKBDLLHOOKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSLLHOOKSTRUCT { + pub pt: POINT, + pub mouseData: DWORD, + pub flags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMSLLHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMSLLHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSLLHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(mouseData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MSLLHOOKSTRUCT = tagMSLLHOOKSTRUCT; +pub type LPMSLLHOOKSTRUCT = *mut tagMSLLHOOKSTRUCT; +pub type PMSLLHOOKSTRUCT = *mut tagMSLLHOOKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEBUGHOOKINFO { + pub idThread: DWORD, + pub idThreadInstaller: DWORD, + pub lParam: LPARAM, + pub wParam: WPARAM, + pub code: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagDEBUGHOOKINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagDEBUGHOOKINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEBUGHOOKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(idThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idThreadInstaller) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(idThreadInstaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(code) + ) + ); +} +pub type DEBUGHOOKINFO = tagDEBUGHOOKINFO; +pub type PDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +pub type NPDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +pub type LPDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEHOOKSTRUCT { + pub pt: POINT, + pub hwnd: HWND, + pub wHitTestCode: UINT, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMOUSEHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHitTestCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(wHitTestCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEHOOKSTRUCT = tagMOUSEHOOKSTRUCT; +pub type LPMOUSEHOOKSTRUCT = *mut tagMOUSEHOOKSTRUCT; +pub type PMOUSEHOOKSTRUCT = *mut tagMOUSEHOOKSTRUCT; +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEHOOKSTRUCTEX { + pub __bindgen_padding_0: [u32; 8usize], + pub mouseData: DWORD, +} +#[test] +fn bindgen_test_layout_tagMOUSEHOOKSTRUCTEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMOUSEHOOKSTRUCTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEHOOKSTRUCTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCTEX), + "::", + stringify!(mouseData) + ) + ); +} +pub type MOUSEHOOKSTRUCTEX = tagMOUSEHOOKSTRUCTEX; +pub type LPMOUSEHOOKSTRUCTEX = *mut tagMOUSEHOOKSTRUCTEX; +pub type PMOUSEHOOKSTRUCTEX = *mut tagMOUSEHOOKSTRUCTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHARDWAREHOOKSTRUCT { + pub hwnd: HWND, + pub message: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagHARDWAREHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagHARDWAREHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHARDWAREHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(lParam) + ) + ); +} +pub type HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT; +pub type LPHARDWAREHOOKSTRUCT = *mut tagHARDWAREHOOKSTRUCT; +pub type PHARDWAREHOOKSTRUCT = *mut tagHARDWAREHOOKSTRUCT; +extern "C" { + pub fn LoadKeyboardLayoutA(pwszKLID: LPCSTR, Flags: UINT) -> HKL; +} +extern "C" { + pub fn LoadKeyboardLayoutW(pwszKLID: LPCWSTR, Flags: UINT) -> HKL; +} +extern "C" { + pub fn ActivateKeyboardLayout(hkl: HKL, Flags: UINT) -> HKL; +} +extern "C" { + pub fn ToUnicodeEx( + wVirtKey: UINT, + wScanCode: UINT, + lpKeyState: *const BYTE, + pwszBuff: LPWSTR, + cchBuff: ::std::os::raw::c_int, + wFlags: UINT, + dwhkl: HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UnloadKeyboardLayout(hkl: HKL) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutNameA(pwszKLID: LPSTR) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutNameW(pwszKLID: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutList( + nBuff: ::std::os::raw::c_int, + lpList: *mut HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyboardLayout(idThread: DWORD) -> HKL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEMOVEPOINT { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEMOVEPOINT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMOUSEMOVEPOINT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEMOVEPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEMOVEPOINT = tagMOUSEMOVEPOINT; +pub type PMOUSEMOVEPOINT = *mut tagMOUSEMOVEPOINT; +pub type LPMOUSEMOVEPOINT = *mut tagMOUSEMOVEPOINT; +extern "C" { + pub fn GetMouseMovePointsEx( + cbSize: UINT, + lppt: LPMOUSEMOVEPOINT, + lpptBuf: LPMOUSEMOVEPOINT, + nBufPoints: ::std::os::raw::c_int, + resolution: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CreateDesktopA( + lpszDesktop: LPCSTR, + lpszDevice: LPCSTR, + pDevmode: *mut DEVMODEA, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopW( + lpszDesktop: LPCWSTR, + lpszDevice: LPCWSTR, + pDevmode: *mut DEVMODEW, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopExA( + lpszDesktop: LPCSTR, + lpszDevice: LPCSTR, + pDevmode: *mut DEVMODEA, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ulHeapSize: ULONG, + pvoid: PVOID, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopExW( + lpszDesktop: LPCWSTR, + lpszDevice: LPCWSTR, + pDevmode: *mut DEVMODEW, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ulHeapSize: ULONG, + pvoid: PVOID, + ) -> HDESK; +} +extern "C" { + pub fn OpenDesktopA( + lpszDesktop: LPCSTR, + dwFlags: DWORD, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HDESK; +} +extern "C" { + pub fn OpenDesktopW( + lpszDesktop: LPCWSTR, + dwFlags: DWORD, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HDESK; +} +extern "C" { + pub fn OpenInputDesktop(dwFlags: DWORD, fInherit: BOOL, dwDesiredAccess: ACCESS_MASK) -> HDESK; +} +extern "C" { + pub fn EnumDesktopsA(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROCA, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumDesktopsW(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROCW, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumDesktopWindows(hDesktop: HDESK, lpfn: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SwitchDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn SetThreadDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn CloseDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn GetThreadDesktop(dwThreadId: DWORD) -> HDESK; +} +extern "C" { + pub fn CreateWindowStationA( + lpwinsta: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HWINSTA; +} +extern "C" { + pub fn CreateWindowStationW( + lpwinsta: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HWINSTA; +} +extern "C" { + pub fn OpenWindowStationA( + lpszWinSta: LPCSTR, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HWINSTA; +} +extern "C" { + pub fn OpenWindowStationW( + lpszWinSta: LPCWSTR, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HWINSTA; +} +extern "C" { + pub fn EnumWindowStationsA(lpEnumFunc: WINSTAENUMPROCA, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumWindowStationsW(lpEnumFunc: WINSTAENUMPROCW, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn CloseWindowStation(hWinSta: HWINSTA) -> BOOL; +} +extern "C" { + pub fn SetProcessWindowStation(hWinSta: HWINSTA) -> BOOL; +} +extern "C" { + pub fn GetProcessWindowStation() -> HWINSTA; +} +extern "C" { + pub fn SetUserObjectSecurity( + hObj: HANDLE, + pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn GetUserObjectSecurity( + hObj: HANDLE, + pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUSEROBJECTFLAGS { + pub fInherit: BOOL, + pub fReserved: BOOL, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagUSEROBJECTFLAGS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagUSEROBJECTFLAGS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagUSEROBJECTFLAGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fInherit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(fInherit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(fReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type USEROBJECTFLAGS = tagUSEROBJECTFLAGS; +pub type PUSEROBJECTFLAGS = *mut tagUSEROBJECTFLAGS; +extern "C" { + pub fn GetUserObjectInformationA( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetUserObjectInformationW( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetUserObjectInformationA( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetUserObjectInformationW( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSEXA { + pub cbSize: UINT, + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCSTR, + pub lpszClassName: LPCSTR, + pub hIconSm: HICON, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWNDCLASSEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpszClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIconSm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hIconSm) + ) + ); +} +pub type WNDCLASSEXA = tagWNDCLASSEXA; +pub type PWNDCLASSEXA = *mut tagWNDCLASSEXA; +pub type NPWNDCLASSEXA = *mut tagWNDCLASSEXA; +pub type LPWNDCLASSEXA = *mut tagWNDCLASSEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSEXW { + pub cbSize: UINT, + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCWSTR, + pub lpszClassName: LPCWSTR, + pub hIconSm: HICON, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWNDCLASSEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpszClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIconSm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hIconSm) + ) + ); +} +pub type WNDCLASSEXW = tagWNDCLASSEXW; +pub type PWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type NPWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type LPWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type WNDCLASSEX = WNDCLASSEXA; +pub type PWNDCLASSEX = PWNDCLASSEXA; +pub type NPWNDCLASSEX = NPWNDCLASSEXA; +pub type LPWNDCLASSEX = LPWNDCLASSEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSA { + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCSTR, + pub lpszClassName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagWNDCLASSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpszClassName) + ) + ); +} +pub type WNDCLASSA = tagWNDCLASSA; +pub type PWNDCLASSA = *mut tagWNDCLASSA; +pub type NPWNDCLASSA = *mut tagWNDCLASSA; +pub type LPWNDCLASSA = *mut tagWNDCLASSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSW { + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCWSTR, + pub lpszClassName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagWNDCLASSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpszClassName) + ) + ); +} +pub type WNDCLASSW = tagWNDCLASSW; +pub type PWNDCLASSW = *mut tagWNDCLASSW; +pub type NPWNDCLASSW = *mut tagWNDCLASSW; +pub type LPWNDCLASSW = *mut tagWNDCLASSW; +pub type WNDCLASS = WNDCLASSA; +pub type PWNDCLASS = PWNDCLASSA; +pub type NPWNDCLASS = NPWNDCLASSA; +pub type LPWNDCLASS = LPWNDCLASSA; +extern "C" { + pub fn IsHungAppWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn DisableProcessWindowsGhosting(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSG { + pub hwnd: HWND, + pub message: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, + pub time: DWORD, + pub pt: POINT, +} +#[test] +fn bindgen_test_layout_tagMSG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMSG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(pt) + ) + ); +} +pub type MSG = tagMSG; +pub type PMSG = *mut tagMSG; +pub type NPMSG = *mut tagMSG; +pub type LPMSG = *mut tagMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMINMAXINFO { + pub ptReserved: POINT, + pub ptMaxSize: POINT, + pub ptMaxPosition: POINT, + pub ptMinTrackSize: POINT, + pub ptMaxTrackSize: POINT, +} +#[test] +fn bindgen_test_layout_tagMINMAXINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMINMAXINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMINMAXINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxPosition) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMinTrackSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMinTrackSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxTrackSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxTrackSize) + ) + ); +} +pub type MINMAXINFO = tagMINMAXINFO; +pub type PMINMAXINFO = *mut tagMINMAXINFO; +pub type LPMINMAXINFO = *mut tagMINMAXINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOPYDATASTRUCT { + pub dwData: ULONG_PTR, + pub cbData: DWORD, + pub lpData: PVOID, +} +#[test] +fn bindgen_test_layout_tagCOPYDATASTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOPYDATASTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOPYDATASTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(dwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(lpData) + ) + ); +} +pub type COPYDATASTRUCT = tagCOPYDATASTRUCT; +pub type PCOPYDATASTRUCT = *mut tagCOPYDATASTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDINEXTMENU { + pub hmenuIn: HMENU, + pub hmenuNext: HMENU, + pub hwndNext: HWND, +} +#[test] +fn bindgen_test_layout_tagMDINEXTMENU() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMDINEXTMENU)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDINEXTMENU)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenuIn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hmenuIn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenuNext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hmenuNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndNext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hwndNext) + ) + ); +} +pub type MDINEXTMENU = tagMDINEXTMENU; +pub type PMDINEXTMENU = *mut tagMDINEXTMENU; +pub type LPMDINEXTMENU = *mut tagMDINEXTMENU; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct POWERBROADCAST_SETTING { + pub PowerSetting: GUID, + pub DataLength: DWORD, + pub Data: [UCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_POWERBROADCAST_SETTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(POWERBROADCAST_SETTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(POWERBROADCAST_SETTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerSetting) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(PowerSetting) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(Data) + ) + ); +} +pub type PPOWERBROADCAST_SETTING = *mut POWERBROADCAST_SETTING; +extern "C" { + pub fn RegisterWindowMessageA(lpString: LPCSTR) -> UINT; +} +extern "C" { + pub fn RegisterWindowMessageW(lpString: LPCWSTR) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWPOS { + pub hwnd: HWND, + pub hwndInsertAfter: HWND, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub flags: UINT, +} +#[test] +fn bindgen_test_layout_tagWINDOWPOS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagWINDOWPOS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWINDOWPOS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(hwndInsertAfter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(flags) + ) + ); +} +pub type WINDOWPOS = tagWINDOWPOS; +pub type LPWINDOWPOS = *mut tagWINDOWPOS; +pub type PWINDOWPOS = *mut tagWINDOWPOS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNCCALCSIZE_PARAMS { + pub rgrc: [RECT; 3usize], + pub lppos: PWINDOWPOS, +} +#[test] +fn bindgen_test_layout_tagNCCALCSIZE_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagNCCALCSIZE_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNCCALCSIZE_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgrc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNCCALCSIZE_PARAMS), + "::", + stringify!(rgrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lppos) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNCCALCSIZE_PARAMS), + "::", + stringify!(lppos) + ) + ); +} +pub type NCCALCSIZE_PARAMS = tagNCCALCSIZE_PARAMS; +pub type LPNCCALCSIZE_PARAMS = *mut tagNCCALCSIZE_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTRACKMOUSEEVENT { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub hwndTrack: HWND, + pub dwHoverTime: DWORD, +} +#[test] +fn bindgen_test_layout_tagTRACKMOUSEEVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagTRACKMOUSEEVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTRACKMOUSEEVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTrack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(hwndTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHoverTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(dwHoverTime) + ) + ); +} +pub type TRACKMOUSEEVENT = tagTRACKMOUSEEVENT; +pub type LPTRACKMOUSEEVENT = *mut tagTRACKMOUSEEVENT; +extern "C" { + pub fn TrackMouseEvent(lpEventTrack: LPTRACKMOUSEEVENT) -> BOOL; +} +extern "C" { + pub fn DrawEdge(hdc: HDC, qrc: LPRECT, edge: UINT, grfFlags: UINT) -> BOOL; +} +extern "C" { + pub fn DrawFrameControl(arg1: HDC, arg2: LPRECT, arg3: UINT, arg4: UINT) -> BOOL; +} +extern "C" { + pub fn DrawCaption(hwnd: HWND, hdc: HDC, lprect: *const RECT, flags: UINT) -> BOOL; +} +extern "C" { + pub fn DrawAnimatedRects( + hwnd: HWND, + idAni: ::std::os::raw::c_int, + lprcFrom: *const RECT, + lprcTo: *const RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACCEL { + pub fVirt: BYTE, + pub key: WORD, + pub cmd: WORD, +} +#[test] +fn bindgen_test_layout_tagACCEL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(tagACCEL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagACCEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fVirt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(fVirt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(cmd) + ) + ); +} +pub type ACCEL = tagACCEL; +pub type LPACCEL = *mut tagACCEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPAINTSTRUCT { + pub hdc: HDC, + pub fErase: BOOL, + pub rcPaint: RECT, + pub fRestore: BOOL, + pub fIncUpdate: BOOL, + pub rgbReserved: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagPAINTSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagPAINTSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPAINTSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(hdc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fErase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fErase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcPaint) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(rcPaint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRestore) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fRestore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIncUpdate) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fIncUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type PAINTSTRUCT = tagPAINTSTRUCT; +pub type PPAINTSTRUCT = *mut tagPAINTSTRUCT; +pub type NPPAINTSTRUCT = *mut tagPAINTSTRUCT; +pub type LPPAINTSTRUCT = *mut tagPAINTSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCREATESTRUCTA { + pub lpCreateParams: LPVOID, + pub hInstance: HINSTANCE, + pub hMenu: HMENU, + pub hwndParent: HWND, + pub cy: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub style: LONG, + pub lpszName: LPCSTR, + pub lpszClass: LPCSTR, + pub dwExStyle: DWORD, +} +#[test] +fn bindgen_test_layout_tagCREATESTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagCREATESTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCREATESTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCreateParams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpCreateParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClass) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpszClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(dwExStyle) + ) + ); +} +pub type CREATESTRUCTA = tagCREATESTRUCTA; +pub type LPCREATESTRUCTA = *mut tagCREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCREATESTRUCTW { + pub lpCreateParams: LPVOID, + pub hInstance: HINSTANCE, + pub hMenu: HMENU, + pub hwndParent: HWND, + pub cy: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub style: LONG, + pub lpszName: LPCWSTR, + pub lpszClass: LPCWSTR, + pub dwExStyle: DWORD, +} +#[test] +fn bindgen_test_layout_tagCREATESTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagCREATESTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCREATESTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCreateParams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpCreateParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClass) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpszClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(dwExStyle) + ) + ); +} +pub type CREATESTRUCTW = tagCREATESTRUCTW; +pub type LPCREATESTRUCTW = *mut tagCREATESTRUCTW; +pub type CREATESTRUCT = CREATESTRUCTA; +pub type LPCREATESTRUCT = LPCREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWPLACEMENT { + pub length: UINT, + pub flags: UINT, + pub showCmd: UINT, + pub ptMinPosition: POINT, + pub ptMaxPosition: POINT, + pub rcNormalPosition: RECT, +} +#[test] +fn bindgen_test_layout_tagWINDOWPLACEMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagWINDOWPLACEMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWINDOWPLACEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).showCmd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(showCmd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMinPosition) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(ptMinPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxPosition) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(ptMaxPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcNormalPosition) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(rcNormalPosition) + ) + ); +} +pub type WINDOWPLACEMENT = tagWINDOWPLACEMENT; +pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNMHDR { + pub hwndFrom: HWND, + pub idFrom: UINT_PTR, + pub code: UINT, +} +#[test] +fn bindgen_test_layout_tagNMHDR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagNMHDR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNMHDR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFrom) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(hwndFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(idFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(code) + ) + ); +} +pub type NMHDR = tagNMHDR; +pub type LPNMHDR = *mut NMHDR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLESTRUCT { + pub styleOld: DWORD, + pub styleNew: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTYLESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTYLESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).styleOld) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLESTRUCT), + "::", + stringify!(styleOld) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).styleNew) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLESTRUCT), + "::", + stringify!(styleNew) + ) + ); +} +pub type STYLESTRUCT = tagSTYLESTRUCT; +pub type LPSTYLESTRUCT = *mut tagSTYLESTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMEASUREITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub itemWidth: UINT, + pub itemHeight: UINT, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMEASUREITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMEASUREITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMEASUREITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemWidth) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemHeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type MEASUREITEMSTRUCT = tagMEASUREITEMSTRUCT; +pub type PMEASUREITEMSTRUCT = *mut tagMEASUREITEMSTRUCT; +pub type LPMEASUREITEMSTRUCT = *mut tagMEASUREITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRAWITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub itemAction: UINT, + pub itemState: UINT, + pub hwndItem: HWND, + pub hDC: HDC, + pub rcItem: RECT, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagDRAWITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagDRAWITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDRAWITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemAction) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcItem) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(rcItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type DRAWITEMSTRUCT = tagDRAWITEMSTRUCT; +pub type PDRAWITEMSTRUCT = *mut tagDRAWITEMSTRUCT; +pub type LPDRAWITEMSTRUCT = *mut tagDRAWITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDELETEITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub hwndItem: HWND, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagDELETEITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagDELETEITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDELETEITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type DELETEITEMSTRUCT = tagDELETEITEMSTRUCT; +pub type PDELETEITEMSTRUCT = *mut tagDELETEITEMSTRUCT; +pub type LPDELETEITEMSTRUCT = *mut tagDELETEITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMPAREITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub hwndItem: HWND, + pub itemID1: UINT, + pub itemData1: ULONG_PTR, + pub itemID2: UINT, + pub itemData2: ULONG_PTR, + pub dwLocaleId: DWORD, +} +#[test] +fn bindgen_test_layout_tagCOMPAREITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagCOMPAREITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOMPAREITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemID1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemData1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemID2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData2) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemData2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLocaleId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(dwLocaleId) + ) + ); +} +pub type COMPAREITEMSTRUCT = tagCOMPAREITEMSTRUCT; +pub type PCOMPAREITEMSTRUCT = *mut tagCOMPAREITEMSTRUCT; +pub type LPCOMPAREITEMSTRUCT = *mut tagCOMPAREITEMSTRUCT; +extern "C" { + pub fn GetMessageA(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL; +} +extern "C" { + pub fn GetMessageW(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL; +} +extern "C" { + pub fn TranslateMessage(lpMsg: *const MSG) -> BOOL; +} +extern "C" { + pub fn DispatchMessageA(lpMsg: *const MSG) -> LRESULT; +} +extern "C" { + pub fn DispatchMessageW(lpMsg: *const MSG) -> LRESULT; +} +extern "C" { + pub fn SetMessageQueue(cMessagesMax: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PeekMessageA( + lpMsg: LPMSG, + hWnd: HWND, + wMsgFilterMin: UINT, + wMsgFilterMax: UINT, + wRemoveMsg: UINT, + ) -> BOOL; +} +extern "C" { + pub fn PeekMessageW( + lpMsg: LPMSG, + hWnd: HWND, + wMsgFilterMin: UINT, + wMsgFilterMax: UINT, + wRemoveMsg: UINT, + ) -> BOOL; +} +extern "C" { + pub fn RegisterHotKey( + hWnd: HWND, + id: ::std::os::raw::c_int, + fsModifiers: UINT, + vk: UINT, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterHotKey(hWnd: HWND, id: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn ExitWindowsEx(uFlags: UINT, dwReason: DWORD) -> BOOL; +} +extern "C" { + pub fn SwapMouseButton(fSwap: BOOL) -> BOOL; +} +extern "C" { + pub fn GetMessagePos() -> DWORD; +} +extern "C" { + pub fn GetMessageTime() -> LONG; +} +extern "C" { + pub fn GetMessageExtraInfo() -> LPARAM; +} +extern "C" { + pub fn GetUnpredictedMessagePos() -> DWORD; +} +extern "C" { + pub fn IsWow64Message() -> BOOL; +} +extern "C" { + pub fn SetMessageExtraInfo(lParam: LPARAM) -> LPARAM; +} +extern "C" { + pub fn SendMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn SendMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn SendMessageTimeoutA( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + fuFlags: UINT, + uTimeout: UINT, + lpdwResult: PDWORD_PTR, + ) -> LRESULT; +} +extern "C" { + pub fn SendMessageTimeoutW( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + fuFlags: UINT, + uTimeout: UINT, + lpdwResult: PDWORD_PTR, + ) -> LRESULT; +} +extern "C" { + pub fn SendNotifyMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SendNotifyMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SendMessageCallbackA( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + lpResultCallBack: SENDASYNCPROC, + dwData: ULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn SendMessageCallbackW( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + lpResultCallBack: SENDASYNCPROC, + dwData: ULONG_PTR, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BSMINFO { + pub cbSize: UINT, + pub hdesk: HDESK, + pub hwnd: HWND, + pub luid: LUID, +} +#[test] +fn bindgen_test_layout_BSMINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(BSMINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(BSMINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdesk) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(hdesk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).luid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(luid) + ) + ); +} +pub type PBSMINFO = *mut BSMINFO; +extern "C" { + pub fn BroadcastSystemMessageExA( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pbsmInfo: PBSMINFO, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageExW( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pbsmInfo: PBSMINFO, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageA( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageW( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> ::std::os::raw::c_long; +} +pub type HDEVNOTIFY = PVOID; +pub type PHDEVNOTIFY = *mut HDEVNOTIFY; +extern "C" { + pub fn RegisterDeviceNotificationA( + hRecipient: HANDLE, + NotificationFilter: LPVOID, + Flags: DWORD, + ) -> HDEVNOTIFY; +} +extern "C" { + pub fn RegisterDeviceNotificationW( + hRecipient: HANDLE, + NotificationFilter: LPVOID, + Flags: DWORD, + ) -> HDEVNOTIFY; +} +extern "C" { + pub fn UnregisterDeviceNotification(Handle: HDEVNOTIFY) -> BOOL; +} +pub type HPOWERNOTIFY = PVOID; +pub type PHPOWERNOTIFY = *mut HPOWERNOTIFY; +extern "C" { + pub fn RegisterPowerSettingNotification( + hRecipient: HANDLE, + PowerSettingGuid: LPCGUID, + Flags: DWORD, + ) -> HPOWERNOTIFY; +} +extern "C" { + pub fn UnregisterPowerSettingNotification(Handle: HPOWERNOTIFY) -> BOOL; +} +extern "C" { + pub fn RegisterSuspendResumeNotification(hRecipient: HANDLE, Flags: DWORD) -> HPOWERNOTIFY; +} +extern "C" { + pub fn UnregisterSuspendResumeNotification(Handle: HPOWERNOTIFY) -> BOOL; +} +extern "C" { + pub fn PostMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostThreadMessageA(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostThreadMessageW(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn AttachThreadInput(idAttach: DWORD, idAttachTo: DWORD, fAttach: BOOL) -> BOOL; +} +extern "C" { + pub fn ReplyMessage(lResult: LRESULT) -> BOOL; +} +extern "C" { + pub fn WaitMessage() -> BOOL; +} +extern "C" { + pub fn WaitForInputIdle(hProcess: HANDLE, dwMilliseconds: DWORD) -> DWORD; +} +extern "C" { + pub fn DefWindowProcA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefWindowProcW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn PostQuitMessage(nExitCode: ::std::os::raw::c_int); +} +extern "C" { + pub fn CallWindowProcA( + lpPrevWndFunc: WNDPROC, + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn CallWindowProcW( + lpPrevWndFunc: WNDPROC, + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn InSendMessage() -> BOOL; +} +extern "C" { + pub fn InSendMessageEx(lpReserved: LPVOID) -> DWORD; +} +extern "C" { + pub fn GetDoubleClickTime() -> UINT; +} +extern "C" { + pub fn SetDoubleClickTime(arg1: UINT) -> BOOL; +} +extern "C" { + pub fn RegisterClassA(lpWndClass: *const WNDCLASSA) -> ATOM; +} +extern "C" { + pub fn RegisterClassW(lpWndClass: *const WNDCLASSW) -> ATOM; +} +extern "C" { + pub fn UnregisterClassA(lpClassName: LPCSTR, hInstance: HINSTANCE) -> BOOL; +} +extern "C" { + pub fn UnregisterClassW(lpClassName: LPCWSTR, hInstance: HINSTANCE) -> BOOL; +} +extern "C" { + pub fn GetClassInfoA( + hInstance: HINSTANCE, + lpClassName: LPCSTR, + lpWndClass: LPWNDCLASSA, + ) -> BOOL; +} +extern "C" { + pub fn GetClassInfoW( + hInstance: HINSTANCE, + lpClassName: LPCWSTR, + lpWndClass: LPWNDCLASSW, + ) -> BOOL; +} +extern "C" { + pub fn RegisterClassExA(arg1: *const WNDCLASSEXA) -> ATOM; +} +extern "C" { + pub fn RegisterClassExW(arg1: *const WNDCLASSEXW) -> ATOM; +} +extern "C" { + pub fn GetClassInfoExA(hInstance: HINSTANCE, lpszClass: LPCSTR, lpwcx: LPWNDCLASSEXA) -> BOOL; +} +extern "C" { + pub fn GetClassInfoExW(hInstance: HINSTANCE, lpszClass: LPCWSTR, lpwcx: LPWNDCLASSEXW) -> BOOL; +} +pub type PREGISTERCLASSNAMEW = + ::std::option::Option BOOLEAN>; +extern "C" { + pub fn CreateWindowExA( + dwExStyle: DWORD, + lpClassName: LPCSTR, + lpWindowName: LPCSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hMenu: HMENU, + hInstance: HINSTANCE, + lpParam: LPVOID, + ) -> HWND; +} +extern "C" { + pub fn CreateWindowExW( + dwExStyle: DWORD, + lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hMenu: HMENU, + hInstance: HINSTANCE, + lpParam: LPVOID, + ) -> HWND; +} +extern "C" { + pub fn IsWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsMenu(hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn IsChild(hWndParent: HWND, hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn DestroyWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn ShowWindow(hWnd: HWND, nCmdShow: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn AnimateWindow(hWnd: HWND, dwTime: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn UpdateLayeredWindow( + hWnd: HWND, + hdcDst: HDC, + pptDst: *mut POINT, + psize: *mut SIZE, + hdcSrc: HDC, + pptSrc: *mut POINT, + crKey: COLORREF, + pblend: *mut BLENDFUNCTION, + dwFlags: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUPDATELAYEREDWINDOWINFO { + pub cbSize: DWORD, + pub hdcDst: HDC, + pub pptDst: *const POINT, + pub psize: *const SIZE, + pub hdcSrc: HDC, + pub pptSrc: *const POINT, + pub crKey: COLORREF, + pub pblend: *const BLENDFUNCTION, + pub dwFlags: DWORD, + pub prcDirty: *const RECT, +} +#[test] +fn bindgen_test_layout_tagUPDATELAYEREDWINDOWINFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagUPDATELAYEREDWINDOWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagUPDATELAYEREDWINDOWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdcDst) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(hdcDst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pptDst) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pptDst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(psize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdcSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(hdcSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pptSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pptSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(crKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pblend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pblend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).prcDirty) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(prcDirty) + ) + ); +} +pub type UPDATELAYEREDWINDOWINFO = tagUPDATELAYEREDWINDOWINFO; +pub type PUPDATELAYEREDWINDOWINFO = *mut tagUPDATELAYEREDWINDOWINFO; +extern "C" { + pub fn UpdateLayeredWindowIndirect( + hWnd: HWND, + pULWInfo: *const UPDATELAYEREDWINDOWINFO, + ) -> BOOL; +} +extern "C" { + pub fn GetLayeredWindowAttributes( + hwnd: HWND, + pcrKey: *mut COLORREF, + pbAlpha: *mut BYTE, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PrintWindow(hwnd: HWND, hdcBlt: HDC, nFlags: UINT) -> BOOL; +} +extern "C" { + pub fn SetLayeredWindowAttributes( + hwnd: HWND, + crKey: COLORREF, + bAlpha: BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ShowWindowAsync(hWnd: HWND, nCmdShow: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn FlashWindow(hWnd: HWND, bInvert: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FLASHWINFO { + pub cbSize: UINT, + pub hwnd: HWND, + pub dwFlags: DWORD, + pub uCount: UINT, + pub dwTimeout: DWORD, +} +#[test] +fn bindgen_test_layout_FLASHWINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(FLASHWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(FLASHWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(uCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(dwTimeout) + ) + ); +} +pub type PFLASHWINFO = *mut FLASHWINFO; +extern "C" { + pub fn FlashWindowEx(pfwi: PFLASHWINFO) -> BOOL; +} +extern "C" { + pub fn ShowOwnedPopups(hWnd: HWND, fShow: BOOL) -> BOOL; +} +extern "C" { + pub fn OpenIcon(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn CloseWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn MoveWindow( + hWnd: HWND, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + bRepaint: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowPos( + hWnd: HWND, + hWndInsertAfter: HWND, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetWindowPlacement(hWnd: HWND, lpwndpl: *mut WINDOWPLACEMENT) -> BOOL; +} +extern "C" { + pub fn SetWindowPlacement(hWnd: HWND, lpwndpl: *const WINDOWPLACEMENT) -> BOOL; +} +extern "C" { + pub fn GetWindowDisplayAffinity(hWnd: HWND, pdwAffinity: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn SetWindowDisplayAffinity(hWnd: HWND, dwAffinity: DWORD) -> BOOL; +} +extern "C" { + pub fn BeginDeferWindowPos(nNumWindows: ::std::os::raw::c_int) -> HDWP; +} +extern "C" { + pub fn DeferWindowPos( + hWinPosInfo: HDWP, + hWnd: HWND, + hWndInsertAfter: HWND, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> HDWP; +} +extern "C" { + pub fn EndDeferWindowPos(hWinPosInfo: HDWP) -> BOOL; +} +extern "C" { + pub fn IsWindowVisible(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsIconic(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn AnyPopup() -> BOOL; +} +extern "C" { + pub fn BringWindowToTop(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsZoomed(hWnd: HWND) -> BOOL; +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct DLGTEMPLATE { + pub style: DWORD, + pub dwExtendedStyle: DWORD, + pub cdit: WORD, + pub x: ::std::os::raw::c_short, + pub y: ::std::os::raw::c_short, + pub cx: ::std::os::raw::c_short, + pub cy: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DLGTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(DLGTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DLGTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtendedStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(dwExtendedStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cdit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cy) + ) + ); +} +pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE; +pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE; +pub type LPDLGTEMPLATE = LPDLGTEMPLATEA; +pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE; +pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE; +pub type LPCDLGTEMPLATE = LPCDLGTEMPLATEA; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct DLGITEMTEMPLATE { + pub style: DWORD, + pub dwExtendedStyle: DWORD, + pub x: ::std::os::raw::c_short, + pub y: ::std::os::raw::c_short, + pub cx: ::std::os::raw::c_short, + pub cy: ::std::os::raw::c_short, + pub id: WORD, +} +#[test] +fn bindgen_test_layout_DLGITEMTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(DLGITEMTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DLGITEMTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtendedStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(dwExtendedStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(id) + ) + ); +} +pub type PDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; +pub type PDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; +pub type PDLGITEMTEMPLATE = PDLGITEMTEMPLATEA; +pub type LPDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; +pub type LPDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; +pub type LPDLGITEMTEMPLATE = LPDLGITEMTEMPLATEA; +extern "C" { + pub fn CreateDialogParamA( + hInstance: HINSTANCE, + lpTemplateName: LPCSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogParamW( + hInstance: HINSTANCE, + lpTemplateName: LPCWSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogIndirectParamA( + hInstance: HINSTANCE, + lpTemplate: LPCDLGTEMPLATEA, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogIndirectParamW( + hInstance: HINSTANCE, + lpTemplate: LPCDLGTEMPLATEW, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn DialogBoxParamA( + hInstance: HINSTANCE, + lpTemplateName: LPCSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxParamW( + hInstance: HINSTANCE, + lpTemplateName: LPCWSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxIndirectParamA( + hInstance: HINSTANCE, + hDialogTemplate: LPCDLGTEMPLATEA, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxIndirectParamW( + hInstance: HINSTANCE, + hDialogTemplate: LPCDLGTEMPLATEW, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn EndDialog(hDlg: HWND, nResult: INT_PTR) -> BOOL; +} +extern "C" { + pub fn GetDlgItem(hDlg: HWND, nIDDlgItem: ::std::os::raw::c_int) -> HWND; +} +extern "C" { + pub fn SetDlgItemInt( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + uValue: UINT, + bSigned: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetDlgItemInt( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpTranslated: *mut BOOL, + bSigned: BOOL, + ) -> UINT; +} +extern "C" { + pub fn SetDlgItemTextA(hDlg: HWND, nIDDlgItem: ::std::os::raw::c_int, lpString: LPCSTR) + -> BOOL; +} +extern "C" { + pub fn SetDlgItemTextW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetDlgItemTextA( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPSTR, + cchMax: ::std::os::raw::c_int, + ) -> UINT; +} +extern "C" { + pub fn GetDlgItemTextW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPWSTR, + cchMax: ::std::os::raw::c_int, + ) -> UINT; +} +extern "C" { + pub fn CheckDlgButton(hDlg: HWND, nIDButton: ::std::os::raw::c_int, uCheck: UINT) -> BOOL; +} +extern "C" { + pub fn CheckRadioButton( + hDlg: HWND, + nIDFirstButton: ::std::os::raw::c_int, + nIDLastButton: ::std::os::raw::c_int, + nIDCheckButton: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn IsDlgButtonChecked(hDlg: HWND, nIDButton: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn SendDlgItemMessageA( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn SendDlgItemMessageW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn GetNextDlgGroupItem(hDlg: HWND, hCtl: HWND, bPrevious: BOOL) -> HWND; +} +extern "C" { + pub fn GetNextDlgTabItem(hDlg: HWND, hCtl: HWND, bPrevious: BOOL) -> HWND; +} +extern "C" { + pub fn GetDlgCtrlID(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDialogBaseUnits() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn DefDlgProcA(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefDlgProcW(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DEFAULT: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 0; +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DISABLE_FONT_UPDATE: + DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 1; +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DISABLE_RELAYOUT: + DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 2; +pub type DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = ::std::os::raw::c_int; +extern "C" { + pub fn SetDialogControlDpiChangeBehavior( + hWnd: HWND, + mask: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, + values: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, + ) -> BOOL; +} +extern "C" { + pub fn GetDialogControlDpiChangeBehavior(hWnd: HWND) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; +} +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DEFAULT: DIALOG_DPI_CHANGE_BEHAVIORS = 0; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_ALL: DIALOG_DPI_CHANGE_BEHAVIORS = 1; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_RESIZE: DIALOG_DPI_CHANGE_BEHAVIORS = 2; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_CONTROL_RELAYOUT: DIALOG_DPI_CHANGE_BEHAVIORS = 4; +pub type DIALOG_DPI_CHANGE_BEHAVIORS = ::std::os::raw::c_int; +extern "C" { + pub fn SetDialogDpiChangeBehavior( + hDlg: HWND, + mask: DIALOG_DPI_CHANGE_BEHAVIORS, + values: DIALOG_DPI_CHANGE_BEHAVIORS, + ) -> BOOL; +} +extern "C" { + pub fn GetDialogDpiChangeBehavior(hDlg: HWND) -> DIALOG_DPI_CHANGE_BEHAVIORS; +} +extern "C" { + pub fn CallMsgFilterA(lpMsg: LPMSG, nCode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn CallMsgFilterW(lpMsg: LPMSG, nCode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn OpenClipboard(hWndNewOwner: HWND) -> BOOL; +} +extern "C" { + pub fn CloseClipboard() -> BOOL; +} +extern "C" { + pub fn GetClipboardSequenceNumber() -> DWORD; +} +extern "C" { + pub fn GetClipboardOwner() -> HWND; +} +extern "C" { + pub fn SetClipboardViewer(hWndNewViewer: HWND) -> HWND; +} +extern "C" { + pub fn GetClipboardViewer() -> HWND; +} +extern "C" { + pub fn ChangeClipboardChain(hWndRemove: HWND, hWndNewNext: HWND) -> BOOL; +} +extern "C" { + pub fn SetClipboardData(uFormat: UINT, hMem: HANDLE) -> HANDLE; +} +extern "C" { + pub fn GetClipboardData(uFormat: UINT) -> HANDLE; +} +extern "C" { + pub fn RegisterClipboardFormatA(lpszFormat: LPCSTR) -> UINT; +} +extern "C" { + pub fn RegisterClipboardFormatW(lpszFormat: LPCWSTR) -> UINT; +} +extern "C" { + pub fn CountClipboardFormats() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumClipboardFormats(format: UINT) -> UINT; +} +extern "C" { + pub fn GetClipboardFormatNameA( + format: UINT, + lpszFormatName: LPSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClipboardFormatNameW( + format: UINT, + lpszFormatName: LPWSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EmptyClipboard() -> BOOL; +} +extern "C" { + pub fn IsClipboardFormatAvailable(format: UINT) -> BOOL; +} +extern "C" { + pub fn GetPriorityClipboardFormat( + paFormatPriorityList: *mut UINT, + cFormats: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetOpenClipboardWindow() -> HWND; +} +extern "C" { + pub fn AddClipboardFormatListener(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn RemoveClipboardFormatListener(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn GetUpdatedClipboardFormats( + lpuiFormats: PUINT, + cFormats: UINT, + pcFormatsOut: PUINT, + ) -> BOOL; +} +extern "C" { + pub fn CharToOemA(pSrc: LPCSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn CharToOemW(pSrc: LPCWSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn OemToCharA(pSrc: LPCSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn OemToCharW(pSrc: LPCSTR, pDst: LPWSTR) -> BOOL; +} +extern "C" { + pub fn CharToOemBuffA(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn CharToOemBuffW(lpszSrc: LPCWSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn OemToCharBuffA(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn OemToCharBuffW(lpszSrc: LPCSTR, lpszDst: LPWSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn CharUpperA(lpsz: LPSTR) -> LPSTR; +} +extern "C" { + pub fn CharUpperW(lpsz: LPWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharUpperBuffA(lpsz: LPSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharUpperBuffW(lpsz: LPWSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharLowerA(lpsz: LPSTR) -> LPSTR; +} +extern "C" { + pub fn CharLowerW(lpsz: LPWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharLowerBuffA(lpsz: LPSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharLowerBuffW(lpsz: LPWSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharNextA(lpsz: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn CharNextW(lpsz: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharPrevA(lpszStart: LPCSTR, lpszCurrent: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn CharPrevW(lpszStart: LPCWSTR, lpszCurrent: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharNextExA(CodePage: WORD, lpCurrentChar: LPCSTR, dwFlags: DWORD) -> LPSTR; +} +extern "C" { + pub fn CharPrevExA( + CodePage: WORD, + lpStart: LPCSTR, + lpCurrentChar: LPCSTR, + dwFlags: DWORD, + ) -> LPSTR; +} +extern "C" { + pub fn IsCharAlphaA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaNumericA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaNumericW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharUpperA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharUpperW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharLowerA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharLowerW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn SetFocus(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetActiveWindow() -> HWND; +} +extern "C" { + pub fn GetFocus() -> HWND; +} +extern "C" { + pub fn GetKBCodePage() -> UINT; +} +extern "C" { + pub fn GetKeyState(nVirtKey: ::std::os::raw::c_int) -> SHORT; +} +extern "C" { + pub fn GetAsyncKeyState(vKey: ::std::os::raw::c_int) -> SHORT; +} +extern "C" { + pub fn GetKeyboardState(lpKeyState: PBYTE) -> BOOL; +} +extern "C" { + pub fn SetKeyboardState(lpKeyState: LPBYTE) -> BOOL; +} +extern "C" { + pub fn GetKeyNameTextA( + lParam: LONG, + lpString: LPSTR, + cchSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyNameTextW( + lParam: LONG, + lpString: LPWSTR, + cchSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyboardType(nTypeFlag: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToAscii( + uVirtKey: UINT, + uScanCode: UINT, + lpKeyState: *const BYTE, + lpChar: LPWORD, + uFlags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToAsciiEx( + uVirtKey: UINT, + uScanCode: UINT, + lpKeyState: *const BYTE, + lpChar: LPWORD, + uFlags: UINT, + dwhkl: HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToUnicode( + wVirtKey: UINT, + wScanCode: UINT, + lpKeyState: *const BYTE, + pwszBuff: LPWSTR, + cchBuff: ::std::os::raw::c_int, + wFlags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OemKeyScan(wOemChar: WORD) -> DWORD; +} +extern "C" { + pub fn VkKeyScanA(ch: CHAR) -> SHORT; +} +extern "C" { + pub fn VkKeyScanW(ch: WCHAR) -> SHORT; +} +extern "C" { + pub fn VkKeyScanExA(ch: CHAR, dwhkl: HKL) -> SHORT; +} +extern "C" { + pub fn VkKeyScanExW(ch: WCHAR, dwhkl: HKL) -> SHORT; +} +extern "C" { + pub fn keybd_event(bVk: BYTE, bScan: BYTE, dwFlags: DWORD, dwExtraInfo: ULONG_PTR); +} +extern "C" { + pub fn mouse_event(dwFlags: DWORD, dx: DWORD, dy: DWORD, dwData: DWORD, dwExtraInfo: ULONG_PTR); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEINPUT { + pub dx: LONG, + pub dy: LONG, + pub mouseData: DWORD, + pub dwFlags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMOUSEINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(mouseData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEINPUT = tagMOUSEINPUT; +pub type PMOUSEINPUT = *mut tagMOUSEINPUT; +pub type LPMOUSEINPUT = *mut tagMOUSEINPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKEYBDINPUT { + pub wVk: WORD, + pub wScan: WORD, + pub dwFlags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagKEYBDINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagKEYBDINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagKEYBDINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(wVk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wScan) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(wScan) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type KEYBDINPUT = tagKEYBDINPUT; +pub type PKEYBDINPUT = *mut tagKEYBDINPUT; +pub type LPKEYBDINPUT = *mut tagKEYBDINPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHARDWAREINPUT { + pub uMsg: DWORD, + pub wParamL: WORD, + pub wParamH: WORD, +} +#[test] +fn bindgen_test_layout_tagHARDWAREINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagHARDWAREINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHARDWAREINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uMsg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(uMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamL) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(wParamL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamH) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(wParamH) + ) + ); +} +pub type HARDWAREINPUT = tagHARDWAREINPUT; +pub type PHARDWAREINPUT = *mut tagHARDWAREINPUT; +pub type LPHARDWAREINPUT = *mut tagHARDWAREINPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagINPUT { + pub type_: DWORD, + pub __bindgen_anon_1: tagINPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagINPUT__bindgen_ty_1 { + pub mi: MOUSEINPUT, + pub ki: KEYBDINPUT, + pub hi: HARDWAREINPUT, +} +#[test] +fn bindgen_test_layout_tagINPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagINPUT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINPUT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(mi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ki) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(ki) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(hi) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT), + "::", + stringify!(type_) + ) + ); +} +pub type INPUT = tagINPUT; +pub type PINPUT = *mut tagINPUT; +pub type LPINPUT = *mut tagINPUT; +extern "C" { + pub fn SendInput(cInputs: UINT, pInputs: LPINPUT, cbSize: ::std::os::raw::c_int) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HTOUCHINPUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HTOUCHINPUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HTOUCHINPUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HTOUCHINPUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HTOUCHINPUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HTOUCHINPUT = *mut HTOUCHINPUT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCHINPUT { + pub x: LONG, + pub y: LONG, + pub hSource: HANDLE, + pub dwID: DWORD, + pub dwFlags: DWORD, + pub dwMask: DWORD, + pub dwTime: DWORD, + pub dwExtraInfo: ULONG_PTR, + pub cxContact: DWORD, + pub cyContact: DWORD, +} +#[test] +fn bindgen_test_layout_tagTOUCHINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagTOUCHINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTOUCHINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(hSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxContact) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(cxContact) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyContact) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(cyContact) + ) + ); +} +pub type TOUCHINPUT = tagTOUCHINPUT; +pub type PTOUCHINPUT = *mut tagTOUCHINPUT; +pub type PCTOUCHINPUT = *const TOUCHINPUT; +extern "C" { + pub fn GetTouchInputInfo( + hTouchInput: HTOUCHINPUT, + cInputs: UINT, + pInputs: PTOUCHINPUT, + cbSize: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn CloseTouchInputHandle(hTouchInput: HTOUCHINPUT) -> BOOL; +} +extern "C" { + pub fn RegisterTouchWindow(hwnd: HWND, ulFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn UnregisterTouchWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsTouchWindow(hwnd: HWND, pulFlags: PULONG) -> BOOL; +} +pub const tagPOINTER_INPUT_TYPE_PT_POINTER: tagPOINTER_INPUT_TYPE = 1; +pub const tagPOINTER_INPUT_TYPE_PT_TOUCH: tagPOINTER_INPUT_TYPE = 2; +pub const tagPOINTER_INPUT_TYPE_PT_PEN: tagPOINTER_INPUT_TYPE = 3; +pub const tagPOINTER_INPUT_TYPE_PT_MOUSE: tagPOINTER_INPUT_TYPE = 4; +pub const tagPOINTER_INPUT_TYPE_PT_TOUCHPAD: tagPOINTER_INPUT_TYPE = 5; +pub type tagPOINTER_INPUT_TYPE = ::std::os::raw::c_int; +pub type POINTER_INPUT_TYPE = DWORD; +pub type POINTER_FLAGS = UINT32; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_NONE: tagPOINTER_BUTTON_CHANGE_TYPE = 0; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIRSTBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 1; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIRSTBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 2; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_SECONDBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 3; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_SECONDBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 4; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_THIRDBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 5; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_THIRDBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 6; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FOURTHBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 7; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FOURTHBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 8; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIFTHBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 9; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIFTHBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 10; +pub type tagPOINTER_BUTTON_CHANGE_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_BUTTON_CHANGE_TYPE as POINTER_BUTTON_CHANGE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_INFO { + pub pointerType: POINTER_INPUT_TYPE, + pub pointerId: UINT32, + pub frameId: UINT32, + pub pointerFlags: POINTER_FLAGS, + pub sourceDevice: HANDLE, + pub hwndTarget: HWND, + pub ptPixelLocation: POINT, + pub ptHimetricLocation: POINT, + pub ptPixelLocationRaw: POINT, + pub ptHimetricLocationRaw: POINT, + pub dwTime: DWORD, + pub historyCount: UINT32, + pub InputData: INT32, + pub dwKeyStates: DWORD, + pub PerformanceCount: UINT64, + pub ButtonChangeType: POINTER_BUTTON_CHANGE_TYPE, +} +#[test] +fn bindgen_test_layout_tagPOINTER_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagPOINTER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frameId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(frameId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceDevice) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(sourceDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPixelLocation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptPixelLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptHimetricLocation) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptHimetricLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPixelLocationRaw) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptPixelLocationRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptHimetricLocationRaw) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptHimetricLocationRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).historyCount) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(historyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InputData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(InputData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyStates) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(dwKeyStates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerformanceCount) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(PerformanceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ButtonChangeType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ButtonChangeType) + ) + ); +} +pub type POINTER_INFO = tagPOINTER_INFO; +pub type TOUCH_FLAGS = UINT32; +pub type TOUCH_MASK = UINT32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_TOUCH_INFO { + pub pointerInfo: POINTER_INFO, + pub touchFlags: TOUCH_FLAGS, + pub touchMask: TOUCH_MASK, + pub rcContact: RECT, + pub rcContactRaw: RECT, + pub orientation: UINT32, + pub pressure: UINT32, +} +#[test] +fn bindgen_test_layout_tagPOINTER_TOUCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagPOINTER_TOUCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_TOUCH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(pointerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(touchFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(touchMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcContact) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(rcContact) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcContactRaw) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(rcContactRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).orientation) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(orientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(pressure) + ) + ); +} +pub type POINTER_TOUCH_INFO = tagPOINTER_TOUCH_INFO; +pub type PEN_FLAGS = UINT32; +pub type PEN_MASK = UINT32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_PEN_INFO { + pub pointerInfo: POINTER_INFO, + pub penFlags: PEN_FLAGS, + pub penMask: PEN_MASK, + pub pressure: UINT32, + pub rotation: UINT32, + pub tiltX: INT32, + pub tiltY: INT32, +} +#[test] +fn bindgen_test_layout_tagPOINTER_PEN_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPOINTER_PEN_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_PEN_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(pointerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(penFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(penMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(pressure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(rotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tiltX) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(tiltX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tiltY) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(tiltY) + ) + ); +} +pub type POINTER_PEN_INFO = tagPOINTER_PEN_INFO; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_DEFAULT: POINTER_FEEDBACK_MODE = 1; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_INDIRECT: POINTER_FEEDBACK_MODE = 2; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_NONE: POINTER_FEEDBACK_MODE = 3; +pub type POINTER_FEEDBACK_MODE = ::std::os::raw::c_int; +extern "C" { + pub fn InitializeTouchInjection(maxCount: UINT32, dwMode: DWORD) -> BOOL; +} +extern "C" { + pub fn InjectTouchInput(count: UINT32, contacts: *const POINTER_TOUCH_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUSAGE_PROPERTIES { + pub level: USHORT, + pub page: USHORT, + pub usage: USHORT, + pub logicalMinimum: INT32, + pub logicalMaximum: INT32, + pub unit: USHORT, + pub exponent: USHORT, + pub count: BYTE, + pub physicalMinimum: INT32, + pub physicalMaximum: INT32, +} +#[test] +fn bindgen_test_layout_tagUSAGE_PROPERTIES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagUSAGE_PROPERTIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagUSAGE_PROPERTIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).page) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(page) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMinimum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(logicalMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMaximum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(logicalMaximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(unit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(exponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMinimum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(physicalMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMaximum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(physicalMaximum) + ) + ); +} +pub type USAGE_PROPERTIES = tagUSAGE_PROPERTIES; +pub type PUSAGE_PROPERTIES = *mut tagUSAGE_PROPERTIES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPOINTER_TYPE_INFO { + pub type_: POINTER_INPUT_TYPE, + pub __bindgen_anon_1: tagPOINTER_TYPE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPOINTER_TYPE_INFO__bindgen_ty_1 { + pub touchInfo: POINTER_TOUCH_INFO, + pub penInfo: POINTER_PEN_INFO, +} +#[test] +fn bindgen_test_layout_tagPOINTER_TYPE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), + "::", + stringify!(touchInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), + "::", + stringify!(penInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPOINTER_TYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagPOINTER_TYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_TYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO), + "::", + stringify!(type_) + ) + ); +} +pub type POINTER_TYPE_INFO = tagPOINTER_TYPE_INFO; +pub type PPOINTER_TYPE_INFO = *mut tagPOINTER_TYPE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_INJECTION_VALUE { + pub page: USHORT, + pub usage: USHORT, + pub value: INT32, + pub index: USHORT, +} +#[test] +fn bindgen_test_layout_tagINPUT_INJECTION_VALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagINPUT_INJECTION_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_INJECTION_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).page) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(page) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(index) + ) + ); +} +pub type INPUT_INJECTION_VALUE = tagINPUT_INJECTION_VALUE; +pub type PINPUT_INJECTION_VALUE = *mut tagINPUT_INJECTION_VALUE; +extern "C" { + pub fn GetPointerType(pointerId: UINT32, pointerType: *mut POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn GetPointerCursorId(pointerId: UINT32, cursorId: *mut UINT32) -> BOOL; +} +extern "C" { + pub fn GetPointerInfo(pointerId: UINT32, pointerInfo: *mut POINTER_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerTouchInfo(pointerId: UINT32, touchInfo: *mut POINTER_TOUCH_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerTouchInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameTouchInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameTouchInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerPenInfo(pointerId: UINT32, penInfo: *mut POINTER_PEN_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerPenInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFramePenInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFramePenInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SkipPointerFrameMessages(pointerId: UINT32) -> BOOL; +} +extern "C" { + pub fn RegisterPointerInputTarget(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn UnregisterPointerInputTarget(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn RegisterPointerInputTargetEx( + hwnd: HWND, + pointerType: POINTER_INPUT_TYPE, + fObserve: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterPointerInputTargetEx(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSYNTHETICPOINTERDEVICE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSYNTHETICPOINTERDEVICE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSYNTHETICPOINTERDEVICE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSYNTHETICPOINTERDEVICE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSYNTHETICPOINTERDEVICE__), + "::", + stringify!(unused) + ) + ); +} +pub type HSYNTHETICPOINTERDEVICE = *mut HSYNTHETICPOINTERDEVICE__; +extern "C" { + pub fn CreateSyntheticPointerDevice( + pointerType: POINTER_INPUT_TYPE, + maxCount: ULONG, + mode: POINTER_FEEDBACK_MODE, + ) -> HSYNTHETICPOINTERDEVICE; +} +extern "C" { + pub fn InjectSyntheticPointerInput( + device: HSYNTHETICPOINTERDEVICE, + pointerInfo: *const POINTER_TYPE_INFO, + count: UINT32, + ) -> BOOL; +} +extern "C" { + pub fn DestroySyntheticPointerDevice(device: HSYNTHETICPOINTERDEVICE); +} +extern "C" { + pub fn EnableMouseInPointer(fEnable: BOOL) -> BOOL; +} +extern "C" { + pub fn IsMouseInPointerEnabled() -> BOOL; +} +extern "C" { + pub fn EnableMouseInPointerForThread() -> BOOL; +} +extern "C" { + pub fn RegisterTouchHitTestingWindow(hwnd: HWND, value: ULONG) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { + pub score: UINT16, + pub adjustedPoint: POINT, +} +#[test] +fn bindgen_test_layout_tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!( + "Size of: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).score) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION), + "::", + stringify!(score) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adjustedPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION), + "::", + stringify!(adjustedPoint) + ) + ); +} +pub type TOUCH_HIT_TESTING_PROXIMITY_EVALUATION = tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; +pub type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION = *mut tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCH_HIT_TESTING_INPUT { + pub pointerId: UINT32, + pub point: POINT, + pub boundingBox: RECT, + pub nonOccludedBoundingBox: RECT, + pub orientation: UINT32, +} +#[test] +fn bindgen_test_layout_tagTOUCH_HIT_TESTING_INPUT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagTOUCH_HIT_TESTING_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTOUCH_HIT_TESTING_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(pointerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).point) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(point) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boundingBox) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(boundingBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nonOccludedBoundingBox) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(nonOccludedBoundingBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).orientation) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(orientation) + ) + ); +} +pub type TOUCH_HIT_TESTING_INPUT = tagTOUCH_HIT_TESTING_INPUT; +pub type PTOUCH_HIT_TESTING_INPUT = *mut tagTOUCH_HIT_TESTING_INPUT; +extern "C" { + pub fn EvaluateProximityToRect( + controlBoundingBox: *const RECT, + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> BOOL; +} +extern "C" { + pub fn EvaluateProximityToPolygon( + numVertices: UINT32, + controlPolygon: *const POINT, + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> BOOL; +} +extern "C" { + pub fn PackTouchHitTestingProximityEvaluation( + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> LRESULT; +} +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_CONTACTVISUALIZATION: tagFEEDBACK_TYPE = 1; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_BARRELVISUALIZATION: tagFEEDBACK_TYPE = 2; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_TAP: tagFEEDBACK_TYPE = 3; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_DOUBLETAP: tagFEEDBACK_TYPE = 4; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_PRESSANDHOLD: tagFEEDBACK_TYPE = 5; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_RIGHTTAP: tagFEEDBACK_TYPE = 6; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_TAP: tagFEEDBACK_TYPE = 7; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_DOUBLETAP: tagFEEDBACK_TYPE = 8; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_PRESSANDHOLD: tagFEEDBACK_TYPE = 9; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_RIGHTTAP: tagFEEDBACK_TYPE = 10; +pub const tagFEEDBACK_TYPE_FEEDBACK_GESTURE_PRESSANDTAP: tagFEEDBACK_TYPE = 11; +pub const tagFEEDBACK_TYPE_FEEDBACK_MAX: tagFEEDBACK_TYPE = -1; +pub type tagFEEDBACK_TYPE = ::std::os::raw::c_int; +pub use self::tagFEEDBACK_TYPE as FEEDBACK_TYPE; +extern "C" { + pub fn GetWindowFeedbackSetting( + hwnd: HWND, + feedback: FEEDBACK_TYPE, + dwFlags: DWORD, + pSize: *mut UINT32, + config: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowFeedbackSetting( + hwnd: HWND, + feedback: FEEDBACK_TYPE, + dwFlags: DWORD, + size: UINT32, + configuration: *const ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagINPUT_TRANSFORM { + pub __bindgen_anon_1: tagINPUT_TRANSFORM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagINPUT_TRANSFORM__bindgen_ty_1 { + pub __bindgen_anon_1: tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1, + pub m: [[f32; 4usize]; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1 { + pub _11: f32, + pub _12: f32, + pub _13: f32, + pub _14: f32, + pub _21: f32, + pub _22: f32, + pub _23: f32, + pub _24: f32, + pub _31: f32, + pub _32: f32, + pub _33: f32, + pub _34: f32, + pub _41: f32, + pub _42: f32, + pub _43: f32, + pub _44: f32, +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!( + "Size of: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._13) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._14) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._21) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._22) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._23) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_23) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._24) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_24) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._31) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_31) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._32) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._33) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_33) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._34) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_34) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._41) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_41) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._42) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_42) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._43) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_43) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._44) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_44) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1), + "::", + stringify!(m) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM() { + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagINPUT_TRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_TRANSFORM)) + ); +} +pub type INPUT_TRANSFORM = tagINPUT_TRANSFORM; +extern "C" { + pub fn GetPointerInputTransform( + pointerId: UINT32, + historyCount: UINT32, + inputTransform: *mut INPUT_TRANSFORM, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLASTINPUTINFO { + pub cbSize: UINT, + pub dwTime: DWORD, +} +#[test] +fn bindgen_test_layout_tagLASTINPUTINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagLASTINPUTINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLASTINPUTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLASTINPUTINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLASTINPUTINFO), + "::", + stringify!(dwTime) + ) + ); +} +pub type LASTINPUTINFO = tagLASTINPUTINFO; +pub type PLASTINPUTINFO = *mut tagLASTINPUTINFO; +extern "C" { + pub fn GetLastInputInfo(plii: PLASTINPUTINFO) -> BOOL; +} +extern "C" { + pub fn MapVirtualKeyA(uCode: UINT, uMapType: UINT) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyW(uCode: UINT, uMapType: UINT) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyExA(uCode: UINT, uMapType: UINT, dwhkl: HKL) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyExW(uCode: UINT, uMapType: UINT, dwhkl: HKL) -> UINT; +} +extern "C" { + pub fn GetInputState() -> BOOL; +} +extern "C" { + pub fn GetQueueStatus(flags: UINT) -> DWORD; +} +extern "C" { + pub fn GetCapture() -> HWND; +} +extern "C" { + pub fn SetCapture(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn ReleaseCapture() -> BOOL; +} +extern "C" { + pub fn MsgWaitForMultipleObjects( + nCount: DWORD, + pHandles: *const HANDLE, + fWaitAll: BOOL, + dwMilliseconds: DWORD, + dwWakeMask: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn MsgWaitForMultipleObjectsEx( + nCount: DWORD, + pHandles: *const HANDLE, + dwMilliseconds: DWORD, + dwWakeMask: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetTimer( + hWnd: HWND, + nIDEvent: UINT_PTR, + uElapse: UINT, + lpTimerFunc: TIMERPROC, + ) -> UINT_PTR; +} +extern "C" { + pub fn SetCoalescableTimer( + hWnd: HWND, + nIDEvent: UINT_PTR, + uElapse: UINT, + lpTimerFunc: TIMERPROC, + uToleranceDelay: ULONG, + ) -> UINT_PTR; +} +extern "C" { + pub fn KillTimer(hWnd: HWND, uIDEvent: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsWindowUnicode(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn EnableWindow(hWnd: HWND, bEnable: BOOL) -> BOOL; +} +extern "C" { + pub fn IsWindowEnabled(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn LoadAcceleratorsA(hInstance: HINSTANCE, lpTableName: LPCSTR) -> HACCEL; +} +extern "C" { + pub fn LoadAcceleratorsW(hInstance: HINSTANCE, lpTableName: LPCWSTR) -> HACCEL; +} +extern "C" { + pub fn CreateAcceleratorTableA(paccel: LPACCEL, cAccel: ::std::os::raw::c_int) -> HACCEL; +} +extern "C" { + pub fn CreateAcceleratorTableW(paccel: LPACCEL, cAccel: ::std::os::raw::c_int) -> HACCEL; +} +extern "C" { + pub fn DestroyAcceleratorTable(hAccel: HACCEL) -> BOOL; +} +extern "C" { + pub fn CopyAcceleratorTableA( + hAccelSrc: HACCEL, + lpAccelDst: LPACCEL, + cAccelEntries: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CopyAcceleratorTableW( + hAccelSrc: HACCEL, + lpAccelDst: LPACCEL, + cAccelEntries: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateAcceleratorA( + hWnd: HWND, + hAccTable: HACCEL, + lpMsg: LPMSG, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateAcceleratorW( + hWnd: HWND, + hAccTable: HACCEL, + lpMsg: LPMSG, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemMetrics(nIndex: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemMetricsForDpi( + nIndex: ::std::os::raw::c_int, + dpi: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LoadMenuA(hInstance: HINSTANCE, lpMenuName: LPCSTR) -> HMENU; +} +extern "C" { + pub fn LoadMenuW(hInstance: HINSTANCE, lpMenuName: LPCWSTR) -> HMENU; +} +extern "C" { + pub fn LoadMenuIndirectA(lpMenuTemplate: *const MENUTEMPLATEA) -> HMENU; +} +extern "C" { + pub fn LoadMenuIndirectW(lpMenuTemplate: *const MENUTEMPLATEW) -> HMENU; +} +extern "C" { + pub fn GetMenu(hWnd: HWND) -> HMENU; +} +extern "C" { + pub fn SetMenu(hWnd: HWND, hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn ChangeMenuA( + hMenu: HMENU, + cmd: UINT, + lpszNewItem: LPCSTR, + cmdInsert: UINT, + flags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ChangeMenuW( + hMenu: HMENU, + cmd: UINT, + lpszNewItem: LPCWSTR, + cmdInsert: UINT, + flags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn HiliteMenuItem(hWnd: HWND, hMenu: HMENU, uIDHiliteItem: UINT, uHilite: UINT) -> BOOL; +} +extern "C" { + pub fn GetMenuStringA( + hMenu: HMENU, + uIDItem: UINT, + lpString: LPSTR, + cchMax: ::std::os::raw::c_int, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMenuStringW( + hMenu: HMENU, + uIDItem: UINT, + lpString: LPWSTR, + cchMax: ::std::os::raw::c_int, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMenuState(hMenu: HMENU, uId: UINT, uFlags: UINT) -> UINT; +} +extern "C" { + pub fn DrawMenuBar(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn GetSystemMenu(hWnd: HWND, bRevert: BOOL) -> HMENU; +} +extern "C" { + pub fn CreateMenu() -> HMENU; +} +extern "C" { + pub fn CreatePopupMenu() -> HMENU; +} +extern "C" { + pub fn DestroyMenu(hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn CheckMenuItem(hMenu: HMENU, uIDCheckItem: UINT, uCheck: UINT) -> DWORD; +} +extern "C" { + pub fn EnableMenuItem(hMenu: HMENU, uIDEnableItem: UINT, uEnable: UINT) -> BOOL; +} +extern "C" { + pub fn GetSubMenu(hMenu: HMENU, nPos: ::std::os::raw::c_int) -> HMENU; +} +extern "C" { + pub fn GetMenuItemID(hMenu: HMENU, nPos: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetMenuItemCount(hMenu: HMENU) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InsertMenuA( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn InsertMenuW( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn AppendMenuA(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT_PTR, lpNewItem: LPCSTR) + -> BOOL; +} +extern "C" { + pub fn AppendMenuW( + hMenu: HMENU, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ModifyMenuA( + hMnu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ModifyMenuW( + hMnu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn RemoveMenu(hMenu: HMENU, uPosition: UINT, uFlags: UINT) -> BOOL; +} +extern "C" { + pub fn DeleteMenu(hMenu: HMENU, uPosition: UINT, uFlags: UINT) -> BOOL; +} +extern "C" { + pub fn SetMenuItemBitmaps( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + hBitmapUnchecked: HBITMAP, + hBitmapChecked: HBITMAP, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuCheckMarkDimensions() -> LONG; +} +extern "C" { + pub fn TrackPopupMenu( + hMenu: HMENU, + uFlags: UINT, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + nReserved: ::std::os::raw::c_int, + hWnd: HWND, + prcRect: *const RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTPMPARAMS { + pub cbSize: UINT, + pub rcExclude: RECT, +} +#[test] +fn bindgen_test_layout_tagTPMPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagTPMPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTPMPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTPMPARAMS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcExclude) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTPMPARAMS), + "::", + stringify!(rcExclude) + ) + ); +} +pub type TPMPARAMS = tagTPMPARAMS; +pub type LPTPMPARAMS = *mut TPMPARAMS; +extern "C" { + pub fn TrackPopupMenuEx( + hMenu: HMENU, + uFlags: UINT, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + hwnd: HWND, + lptpm: LPTPMPARAMS, + ) -> BOOL; +} +extern "C" { + pub fn CalculatePopupWindowPosition( + anchorPoint: *const POINT, + windowSize: *const SIZE, + flags: UINT, + excludeRect: *mut RECT, + popupWindowPosition: *mut RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUINFO { + pub cbSize: DWORD, + pub fMask: DWORD, + pub dwStyle: DWORD, + pub cyMax: UINT, + pub hbrBack: HBRUSH, + pub dwContextHelpID: DWORD, + pub dwMenuData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMENUINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMENUINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(cyMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(hbrBack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwContextHelpID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMenuData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwMenuData) + ) + ); +} +pub type MENUINFO = tagMENUINFO; +pub type LPMENUINFO = *mut tagMENUINFO; +pub type LPCMENUINFO = *const MENUINFO; +extern "C" { + pub fn GetMenuInfo(arg1: HMENU, arg2: LPMENUINFO) -> BOOL; +} +extern "C" { + pub fn SetMenuInfo(arg1: HMENU, arg2: LPCMENUINFO) -> BOOL; +} +extern "C" { + pub fn EndMenu() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUGETOBJECTINFO { + pub dwFlags: DWORD, + pub uPos: UINT, + pub hmenu: HMENU, + pub riid: PVOID, + pub pvObj: PVOID, +} +#[test] +fn bindgen_test_layout_tagMENUGETOBJECTINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMENUGETOBJECTINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUGETOBJECTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uPos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(uPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenu) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(hmenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).riid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(riid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvObj) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(pvObj) + ) + ); +} +pub type MENUGETOBJECTINFO = tagMENUGETOBJECTINFO; +pub type PMENUGETOBJECTINFO = *mut tagMENUGETOBJECTINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUITEMINFOA { + pub cbSize: UINT, + pub fMask: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hSubMenu: HMENU, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: ULONG_PTR, + pub dwTypeData: LPSTR, + pub cch: UINT, + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagMENUITEMINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMENUITEMINFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUITEMINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSubMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hSubMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(dwTypeData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(cch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type MENUITEMINFOA = tagMENUITEMINFOA; +pub type LPMENUITEMINFOA = *mut tagMENUITEMINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUITEMINFOW { + pub cbSize: UINT, + pub fMask: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hSubMenu: HMENU, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: ULONG_PTR, + pub dwTypeData: LPWSTR, + pub cch: UINT, + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagMENUITEMINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMENUITEMINFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUITEMINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSubMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hSubMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(dwTypeData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(cch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type MENUITEMINFOW = tagMENUITEMINFOW; +pub type LPMENUITEMINFOW = *mut tagMENUITEMINFOW; +pub type MENUITEMINFO = MENUITEMINFOA; +pub type LPMENUITEMINFO = LPMENUITEMINFOA; +pub type LPCMENUITEMINFOA = *const MENUITEMINFOA; +pub type LPCMENUITEMINFOW = *const MENUITEMINFOW; +pub type LPCMENUITEMINFO = LPCMENUITEMINFOA; +extern "C" { + pub fn InsertMenuItemA( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmi: LPCMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn InsertMenuItemW( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmi: LPCMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuItemInfoA( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmii: LPMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuItemInfoW( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmii: LPMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn SetMenuItemInfoA( + hmenu: HMENU, + item: UINT, + fByPositon: BOOL, + lpmii: LPCMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn SetMenuItemInfoW( + hmenu: HMENU, + item: UINT, + fByPositon: BOOL, + lpmii: LPCMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuDefaultItem(hMenu: HMENU, fByPos: UINT, gmdiFlags: UINT) -> UINT; +} +extern "C" { + pub fn SetMenuDefaultItem(hMenu: HMENU, uItem: UINT, fByPos: UINT) -> BOOL; +} +extern "C" { + pub fn GetMenuItemRect(hWnd: HWND, hMenu: HMENU, uItem: UINT, lprcItem: LPRECT) -> BOOL; +} +extern "C" { + pub fn MenuItemFromPoint(hWnd: HWND, hMenu: HMENU, ptScreen: POINT) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDROPSTRUCT { + pub hwndSource: HWND, + pub hwndSink: HWND, + pub wFmt: DWORD, + pub dwData: ULONG_PTR, + pub ptDrop: POINT, + pub dwControlData: DWORD, +} +#[test] +fn bindgen_test_layout_tagDROPSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagDROPSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDROPSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndSource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(hwndSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndSink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(hwndSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(dwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptDrop) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(ptDrop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(dwControlData) + ) + ); +} +pub type DROPSTRUCT = tagDROPSTRUCT; +pub type PDROPSTRUCT = *mut tagDROPSTRUCT; +pub type LPDROPSTRUCT = *mut tagDROPSTRUCT; +extern "C" { + pub fn DragObject( + hwndParent: HWND, + hwndFrom: HWND, + fmt: UINT, + data: ULONG_PTR, + hcur: HCURSOR, + ) -> DWORD; +} +extern "C" { + pub fn DragDetect(hwnd: HWND, pt: POINT) -> BOOL; +} +extern "C" { + pub fn DrawIcon( + hDC: HDC, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + hIcon: HICON, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRAWTEXTPARAMS { + pub cbSize: UINT, + pub iTabLength: ::std::os::raw::c_int, + pub iLeftMargin: ::std::os::raw::c_int, + pub iRightMargin: ::std::os::raw::c_int, + pub uiLengthDrawn: UINT, +} +#[test] +fn bindgen_test_layout_tagDRAWTEXTPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagDRAWTEXTPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDRAWTEXTPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTabLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iTabLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLeftMargin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iLeftMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRightMargin) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iRightMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiLengthDrawn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(uiLengthDrawn) + ) + ); +} +pub type DRAWTEXTPARAMS = tagDRAWTEXTPARAMS; +pub type LPDRAWTEXTPARAMS = *mut tagDRAWTEXTPARAMS; +extern "C" { + pub fn DrawTextA( + hdc: HDC, + lpchText: LPCSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextW( + hdc: HDC, + lpchText: LPCWSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextExA( + hdc: HDC, + lpchText: LPSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + lpdtp: LPDRAWTEXTPARAMS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextExW( + hdc: HDC, + lpchText: LPWSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + lpdtp: LPDRAWTEXTPARAMS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GrayStringA( + hDC: HDC, + hBrush: HBRUSH, + lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, + nCount: ::std::os::raw::c_int, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GrayStringW( + hDC: HDC, + hBrush: HBRUSH, + lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, + nCount: ::std::os::raw::c_int, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DrawStateA( + hdc: HDC, + hbrFore: HBRUSH, + qfnCallBack: DRAWSTATEPROC, + lData: LPARAM, + wData: WPARAM, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn DrawStateW( + hdc: HDC, + hbrFore: HBRUSH, + qfnCallBack: DRAWSTATEPROC, + lData: LPARAM, + wData: WPARAM, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn TabbedTextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + nTabOrigin: ::std::os::raw::c_int, + ) -> LONG; +} +extern "C" { + pub fn TabbedTextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCWSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + nTabOrigin: ::std::os::raw::c_int, + ) -> LONG; +} +extern "C" { + pub fn GetTabbedTextExtentA( + hdc: HDC, + lpString: LPCSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + ) -> DWORD; +} +extern "C" { + pub fn GetTabbedTextExtentW( + hdc: HDC, + lpString: LPCWSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + ) -> DWORD; +} +extern "C" { + pub fn UpdateWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn SetActiveWindow(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetForegroundWindow() -> HWND; +} +extern "C" { + pub fn PaintDesktop(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn SwitchToThisWindow(hwnd: HWND, fUnknown: BOOL); +} +extern "C" { + pub fn SetForegroundWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn AllowSetForegroundWindow(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn LockSetForegroundWindow(uLockCode: UINT) -> BOOL; +} +extern "C" { + pub fn WindowFromDC(hDC: HDC) -> HWND; +} +extern "C" { + pub fn GetDC(hWnd: HWND) -> HDC; +} +extern "C" { + pub fn GetDCEx(hWnd: HWND, hrgnClip: HRGN, flags: DWORD) -> HDC; +} +extern "C" { + pub fn GetWindowDC(hWnd: HWND) -> HDC; +} +extern "C" { + pub fn ReleaseDC(hWnd: HWND, hDC: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn BeginPaint(hWnd: HWND, lpPaint: LPPAINTSTRUCT) -> HDC; +} +extern "C" { + pub fn EndPaint(hWnd: HWND, lpPaint: *const PAINTSTRUCT) -> BOOL; +} +extern "C" { + pub fn GetUpdateRect(hWnd: HWND, lpRect: LPRECT, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn GetUpdateRgn(hWnd: HWND, hRgn: HRGN, bErase: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetWindowRgn(hWnd: HWND, hRgn: HRGN, bRedraw: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowRgn(hWnd: HWND, hRgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowRgnBox(hWnd: HWND, lprc: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExcludeUpdateRgn(hDC: HDC, hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvalidateRect(hWnd: HWND, lpRect: *const RECT, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn ValidateRect(hWnd: HWND, lpRect: *const RECT) -> BOOL; +} +extern "C" { + pub fn InvalidateRgn(hWnd: HWND, hRgn: HRGN, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn ValidateRgn(hWnd: HWND, hRgn: HRGN) -> BOOL; +} +extern "C" { + pub fn RedrawWindow(hWnd: HWND, lprcUpdate: *const RECT, hrgnUpdate: HRGN, flags: UINT) + -> BOOL; +} +extern "C" { + pub fn LockWindowUpdate(hWndLock: HWND) -> BOOL; +} +extern "C" { + pub fn ScrollWindow( + hWnd: HWND, + XAmount: ::std::os::raw::c_int, + YAmount: ::std::os::raw::c_int, + lpRect: *const RECT, + lpClipRect: *const RECT, + ) -> BOOL; +} +extern "C" { + pub fn ScrollDC( + hDC: HDC, + dx: ::std::os::raw::c_int, + dy: ::std::os::raw::c_int, + lprcScroll: *const RECT, + lprcClip: *const RECT, + hrgnUpdate: HRGN, + lprcUpdate: LPRECT, + ) -> BOOL; +} +extern "C" { + pub fn ScrollWindowEx( + hWnd: HWND, + dx: ::std::os::raw::c_int, + dy: ::std::os::raw::c_int, + prcScroll: *const RECT, + prcClip: *const RECT, + hrgnUpdate: HRGN, + prcUpdate: LPRECT, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetScrollPos( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + nPos: ::std::os::raw::c_int, + bRedraw: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetScrollPos(hWnd: HWND, nBar: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetScrollRange( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + nMinPos: ::std::os::raw::c_int, + nMaxPos: ::std::os::raw::c_int, + bRedraw: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetScrollRange( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + lpMinPos: LPINT, + lpMaxPos: LPINT, + ) -> BOOL; +} +extern "C" { + pub fn ShowScrollBar(hWnd: HWND, wBar: ::std::os::raw::c_int, bShow: BOOL) -> BOOL; +} +extern "C" { + pub fn EnableScrollBar(hWnd: HWND, wSBflags: UINT, wArrows: UINT) -> BOOL; +} +extern "C" { + pub fn SetPropA(hWnd: HWND, lpString: LPCSTR, hData: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetPropW(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetPropA(hWnd: HWND, lpString: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn GetPropW(hWnd: HWND, lpString: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn RemovePropA(hWnd: HWND, lpString: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn RemovePropW(hWnd: HWND, lpString: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn EnumPropsExA( + hWnd: HWND, + lpEnumFunc: PROPENUMPROCEXA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsExW( + hWnd: HWND, + lpEnumFunc: PROPENUMPROCEXW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsA(hWnd: HWND, lpEnumFunc: PROPENUMPROCA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsW(hWnd: HWND, lpEnumFunc: PROPENUMPROCW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetWindowTextA(hWnd: HWND, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetWindowTextW(hWnd: HWND, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetWindowTextA( + hWnd: HWND, + lpString: LPSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextW( + hWnd: HWND, + lpString: LPWSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextLengthA(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextLengthW(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClientRect(hWnd: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn GetWindowRect(hWnd: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRect(lpRect: LPRECT, dwStyle: DWORD, bMenu: BOOL) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRectEx( + lpRect: LPRECT, + dwStyle: DWORD, + bMenu: BOOL, + dwExStyle: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRectExForDpi( + lpRect: LPRECT, + dwStyle: DWORD, + bMenu: BOOL, + dwExStyle: DWORD, + dpi: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPINFO { + pub cbSize: UINT, + pub iContextType: ::std::os::raw::c_int, + pub iCtrlId: ::std::os::raw::c_int, + pub hItemHandle: HANDLE, + pub dwContextId: DWORD_PTR, + pub MousePos: POINT, +} +#[test] +fn bindgen_test_layout_tagHELPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagHELPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHELPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iContextType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(iContextType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCtrlId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(iCtrlId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hItemHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(hItemHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(dwContextId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MousePos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(MousePos) + ) + ); +} +pub type HELPINFO = tagHELPINFO; +pub type LPHELPINFO = *mut tagHELPINFO; +extern "C" { + pub fn SetWindowContextHelpId(arg1: HWND, arg2: DWORD) -> BOOL; +} +extern "C" { + pub fn GetWindowContextHelpId(arg1: HWND) -> DWORD; +} +extern "C" { + pub fn SetMenuContextHelpId(arg1: HMENU, arg2: DWORD) -> BOOL; +} +extern "C" { + pub fn GetMenuContextHelpId(arg1: HMENU) -> DWORD; +} +extern "C" { + pub fn MessageBoxA( + hWnd: HWND, + lpText: LPCSTR, + lpCaption: LPCSTR, + uType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxW( + hWnd: HWND, + lpText: LPCWSTR, + lpCaption: LPCWSTR, + uType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxExA( + hWnd: HWND, + lpText: LPCSTR, + lpCaption: LPCSTR, + uType: UINT, + wLanguageId: WORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxExW( + hWnd: HWND, + lpText: LPCWSTR, + lpCaption: LPCWSTR, + uType: UINT, + wLanguageId: WORD, + ) -> ::std::os::raw::c_int; +} +pub type MSGBOXCALLBACK = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSGBOXPARAMSA { + pub cbSize: UINT, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpszText: LPCSTR, + pub lpszCaption: LPCSTR, + pub dwStyle: DWORD, + pub lpszIcon: LPCSTR, + pub dwContextHelpId: DWORD_PTR, + pub lpfnMsgBoxCallback: MSGBOXCALLBACK, + pub dwLanguageId: DWORD, +} +#[test] +fn bindgen_test_layout_tagMSGBOXPARAMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMSGBOXPARAMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSGBOXPARAMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszText) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwContextHelpId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnMsgBoxCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpfnMsgBoxCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwLanguageId) + ) + ); +} +pub type MSGBOXPARAMSA = tagMSGBOXPARAMSA; +pub type PMSGBOXPARAMSA = *mut tagMSGBOXPARAMSA; +pub type LPMSGBOXPARAMSA = *mut tagMSGBOXPARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSGBOXPARAMSW { + pub cbSize: UINT, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpszText: LPCWSTR, + pub lpszCaption: LPCWSTR, + pub dwStyle: DWORD, + pub lpszIcon: LPCWSTR, + pub dwContextHelpId: DWORD_PTR, + pub lpfnMsgBoxCallback: MSGBOXCALLBACK, + pub dwLanguageId: DWORD, +} +#[test] +fn bindgen_test_layout_tagMSGBOXPARAMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMSGBOXPARAMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSGBOXPARAMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszText) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwContextHelpId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnMsgBoxCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpfnMsgBoxCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwLanguageId) + ) + ); +} +pub type MSGBOXPARAMSW = tagMSGBOXPARAMSW; +pub type PMSGBOXPARAMSW = *mut tagMSGBOXPARAMSW; +pub type LPMSGBOXPARAMSW = *mut tagMSGBOXPARAMSW; +pub type MSGBOXPARAMS = MSGBOXPARAMSA; +pub type PMSGBOXPARAMS = PMSGBOXPARAMSA; +pub type LPMSGBOXPARAMS = LPMSGBOXPARAMSA; +extern "C" { + pub fn MessageBoxIndirectA(lpmbp: *const MSGBOXPARAMSA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxIndirectW(lpmbp: *const MSGBOXPARAMSW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBeep(uType: UINT) -> BOOL; +} +extern "C" { + pub fn ShowCursor(bShow: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetCursorPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetPhysicalCursorPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetCursor(hCursor: HCURSOR) -> HCURSOR; +} +extern "C" { + pub fn GetCursorPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetPhysicalCursorPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetClipCursor(lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn GetCursor() -> HCURSOR; +} +extern "C" { + pub fn CreateCaret( + hWnd: HWND, + hBitmap: HBITMAP, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetCaretBlinkTime() -> UINT; +} +extern "C" { + pub fn SetCaretBlinkTime(uMSeconds: UINT) -> BOOL; +} +extern "C" { + pub fn DestroyCaret() -> BOOL; +} +extern "C" { + pub fn HideCaret(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn ShowCaret(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn SetCaretPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn GetCaretPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ClientToScreen(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ScreenToClient(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn LogicalToPhysicalPoint(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn PhysicalToLogicalPoint(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn LogicalToPhysicalPointForPerMonitorDPI(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn PhysicalToLogicalPointForPerMonitorDPI(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn MapWindowPoints( + hWndFrom: HWND, + hWndTo: HWND, + lpPoints: LPPOINT, + cPoints: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WindowFromPoint(Point: POINT) -> HWND; +} +extern "C" { + pub fn WindowFromPhysicalPoint(Point: POINT) -> HWND; +} +extern "C" { + pub fn ChildWindowFromPoint(hWndParent: HWND, Point: POINT) -> HWND; +} +extern "C" { + pub fn ClipCursor(lpRect: *const RECT) -> BOOL; +} +extern "C" { + pub fn ChildWindowFromPointEx(hwnd: HWND, pt: POINT, flags: UINT) -> HWND; +} +extern "C" { + pub fn GetSysColor(nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn GetSysColorBrush(nIndex: ::std::os::raw::c_int) -> HBRUSH; +} +extern "C" { + pub fn SetSysColors( + cElements: ::std::os::raw::c_int, + lpaElements: *const INT, + lpaRgbValues: *const COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn DrawFocusRect(hDC: HDC, lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn FillRect(hDC: HDC, lprc: *const RECT, hbr: HBRUSH) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FrameRect(hDC: HDC, lprc: *const RECT, hbr: HBRUSH) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvertRect(hDC: HDC, lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn SetRect( + lprc: LPRECT, + xLeft: ::std::os::raw::c_int, + yTop: ::std::os::raw::c_int, + xRight: ::std::os::raw::c_int, + yBottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn SetRectEmpty(lprc: LPRECT) -> BOOL; +} +extern "C" { + pub fn CopyRect(lprcDst: LPRECT, lprcSrc: *const RECT) -> BOOL; +} +extern "C" { + pub fn InflateRect(lprc: LPRECT, dx: ::std::os::raw::c_int, dy: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn IntersectRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn UnionRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn SubtractRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn OffsetRect(lprc: LPRECT, dx: ::std::os::raw::c_int, dy: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn IsRectEmpty(lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn EqualRect(lprc1: *const RECT, lprc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn PtInRect(lprc: *const RECT, pt: POINT) -> BOOL; +} +extern "C" { + pub fn GetWindowWord(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> WORD; +} +extern "C" { + pub fn SetWindowWord(hWnd: HWND, nIndex: ::std::os::raw::c_int, wNewWord: WORD) -> WORD; +} +extern "C" { + pub fn GetWindowLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn GetWindowLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn SetWindowLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> LONG; +} +extern "C" { + pub fn SetWindowLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> LONG; +} +extern "C" { + pub fn GetWindowLongPtrA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG_PTR; +} +extern "C" { + pub fn GetWindowLongPtrW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG_PTR; +} +extern "C" { + pub fn SetWindowLongPtrA( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> LONG_PTR; +} +extern "C" { + pub fn SetWindowLongPtrW( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> LONG_PTR; +} +extern "C" { + pub fn GetClassWord(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> WORD; +} +extern "C" { + pub fn SetClassWord(hWnd: HWND, nIndex: ::std::os::raw::c_int, wNewWord: WORD) -> WORD; +} +extern "C" { + pub fn GetClassLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn GetClassLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn SetClassLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> DWORD; +} +extern "C" { + pub fn SetClassLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> DWORD; +} +extern "C" { + pub fn GetClassLongPtrA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> ULONG_PTR; +} +extern "C" { + pub fn GetClassLongPtrW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> ULONG_PTR; +} +extern "C" { + pub fn SetClassLongPtrA( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> ULONG_PTR; +} +extern "C" { + pub fn SetClassLongPtrW( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> ULONG_PTR; +} +extern "C" { + pub fn GetProcessDefaultLayout(pdwDefaultLayout: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn SetProcessDefaultLayout(dwDefaultLayout: DWORD) -> BOOL; +} +extern "C" { + pub fn GetDesktopWindow() -> HWND; +} +extern "C" { + pub fn GetParent(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn SetParent(hWndChild: HWND, hWndNewParent: HWND) -> HWND; +} +extern "C" { + pub fn EnumChildWindows(hWndParent: HWND, lpEnumFunc: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn FindWindowA(lpClassName: LPCSTR, lpWindowName: LPCSTR) -> HWND; +} +extern "C" { + pub fn FindWindowW(lpClassName: LPCWSTR, lpWindowName: LPCWSTR) -> HWND; +} +extern "C" { + pub fn FindWindowExA( + hWndParent: HWND, + hWndChildAfter: HWND, + lpszClass: LPCSTR, + lpszWindow: LPCSTR, + ) -> HWND; +} +extern "C" { + pub fn FindWindowExW( + hWndParent: HWND, + hWndChildAfter: HWND, + lpszClass: LPCWSTR, + lpszWindow: LPCWSTR, + ) -> HWND; +} +extern "C" { + pub fn GetShellWindow() -> HWND; +} +extern "C" { + pub fn RegisterShellHookWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn DeregisterShellHookWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn EnumWindows(lpEnumFunc: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumThreadWindows(dwThreadId: DWORD, lpfn: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn GetClassNameA( + hWnd: HWND, + lpClassName: LPSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClassNameW( + hWnd: HWND, + lpClassName: LPWSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTopWindow(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetWindowThreadProcessId(hWnd: HWND, lpdwProcessId: LPDWORD) -> DWORD; +} +extern "C" { + pub fn IsGUIThread(bConvert: BOOL) -> BOOL; +} +extern "C" { + pub fn GetLastActivePopup(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetWindow(hWnd: HWND, uCmd: UINT) -> HWND; +} +extern "C" { + pub fn SetWindowsHookA(nFilterType: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> HHOOK; +} +extern "C" { + pub fn SetWindowsHookW(nFilterType: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> HHOOK; +} +extern "C" { + pub fn UnhookWindowsHook(nCode: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> BOOL; +} +extern "C" { + pub fn SetWindowsHookExA( + idHook: ::std::os::raw::c_int, + lpfn: HOOKPROC, + hmod: HINSTANCE, + dwThreadId: DWORD, + ) -> HHOOK; +} +extern "C" { + pub fn SetWindowsHookExW( + idHook: ::std::os::raw::c_int, + lpfn: HOOKPROC, + hmod: HINSTANCE, + dwThreadId: DWORD, + ) -> HHOOK; +} +extern "C" { + pub fn UnhookWindowsHookEx(hhk: HHOOK) -> BOOL; +} +extern "C" { + pub fn CallNextHookEx( + hhk: HHOOK, + nCode: ::std::os::raw::c_int, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn CheckMenuRadioItem( + hmenu: HMENU, + first: UINT, + last: UINT, + check: UINT, + flags: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MENUITEMTEMPLATEHEADER { + pub versionNumber: WORD, + pub offset: WORD, +} +#[test] +fn bindgen_test_layout_MENUITEMTEMPLATEHEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(MENUITEMTEMPLATEHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(MENUITEMTEMPLATEHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).versionNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATEHEADER), + "::", + stringify!(versionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATEHEADER), + "::", + stringify!(offset) + ) + ); +} +pub type PMENUITEMTEMPLATEHEADER = *mut MENUITEMTEMPLATEHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MENUITEMTEMPLATE { + pub mtOption: WORD, + pub mtID: WORD, + pub mtString: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_MENUITEMTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(MENUITEMTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(MENUITEMTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtOption) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtID) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtString) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtString) + ) + ); +} +pub type PMENUITEMTEMPLATE = *mut MENUITEMTEMPLATE; +extern "C" { + pub fn LoadBitmapA(hInstance: HINSTANCE, lpBitmapName: LPCSTR) -> HBITMAP; +} +extern "C" { + pub fn LoadBitmapW(hInstance: HINSTANCE, lpBitmapName: LPCWSTR) -> HBITMAP; +} +extern "C" { + pub fn LoadCursorA(hInstance: HINSTANCE, lpCursorName: LPCSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorW(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorFromFileA(lpFileName: LPCSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorFromFileW(lpFileName: LPCWSTR) -> HCURSOR; +} +extern "C" { + pub fn CreateCursor( + hInst: HINSTANCE, + xHotSpot: ::std::os::raw::c_int, + yHotSpot: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + pvANDPlane: *const ::std::os::raw::c_void, + pvXORPlane: *const ::std::os::raw::c_void, + ) -> HCURSOR; +} +extern "C" { + pub fn DestroyCursor(hCursor: HCURSOR) -> BOOL; +} +extern "C" { + pub fn SetSystemCursor(hcur: HCURSOR, id: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFO { + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, +} +#[test] +fn bindgen_test_layout__ICONINFO() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFO>(), + 32usize, + concat!("Size of: ", stringify!(_ICONINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(hbmColor) + ) + ); +} +pub type ICONINFO = _ICONINFO; +pub type PICONINFO = *mut ICONINFO; +extern "C" { + pub fn LoadIconA(hInstance: HINSTANCE, lpIconName: LPCSTR) -> HICON; +} +extern "C" { + pub fn LoadIconW(hInstance: HINSTANCE, lpIconName: LPCWSTR) -> HICON; +} +extern "C" { + pub fn PrivateExtractIconsA( + szFileName: LPCSTR, + nIconIndex: ::std::os::raw::c_int, + cxIcon: ::std::os::raw::c_int, + cyIcon: ::std::os::raw::c_int, + phicon: *mut HICON, + piconid: *mut UINT, + nIcons: UINT, + flags: UINT, + ) -> UINT; +} +extern "C" { + pub fn PrivateExtractIconsW( + szFileName: LPCWSTR, + nIconIndex: ::std::os::raw::c_int, + cxIcon: ::std::os::raw::c_int, + cyIcon: ::std::os::raw::c_int, + phicon: *mut HICON, + piconid: *mut UINT, + nIcons: UINT, + flags: UINT, + ) -> UINT; +} +extern "C" { + pub fn CreateIcon( + hInstance: HINSTANCE, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + cPlanes: BYTE, + cBitsPixel: BYTE, + lpbANDbits: *const BYTE, + lpbXORbits: *const BYTE, + ) -> HICON; +} +extern "C" { + pub fn DestroyIcon(hIcon: HICON) -> BOOL; +} +extern "C" { + pub fn LookupIconIdFromDirectory(presbits: PBYTE, fIcon: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LookupIconIdFromDirectoryEx( + presbits: PBYTE, + fIcon: BOOL, + cxDesired: ::std::os::raw::c_int, + cyDesired: ::std::os::raw::c_int, + Flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CreateIconFromResource( + presbits: PBYTE, + dwResSize: DWORD, + fIcon: BOOL, + dwVer: DWORD, + ) -> HICON; +} +extern "C" { + pub fn CreateIconFromResourceEx( + presbits: PBYTE, + dwResSize: DWORD, + fIcon: BOOL, + dwVer: DWORD, + cxDesired: ::std::os::raw::c_int, + cyDesired: ::std::os::raw::c_int, + Flags: UINT, + ) -> HICON; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCURSORSHAPE { + pub xHotSpot: ::std::os::raw::c_int, + pub yHotSpot: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub cbWidth: ::std::os::raw::c_int, + pub Planes: BYTE, + pub BitsPixel: BYTE, +} +#[test] +fn bindgen_test_layout_tagCURSORSHAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCURSORSHAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCURSORSHAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotSpot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(xHotSpot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotSpot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(yHotSpot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cbWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Planes) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitsPixel) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(BitsPixel) + ) + ); +} +pub type CURSORSHAPE = tagCURSORSHAPE; +pub type LPCURSORSHAPE = *mut tagCURSORSHAPE; +extern "C" { + pub fn SetThreadCursorCreationScaling(cursorDpi: UINT) -> UINT; +} +extern "C" { + pub fn LoadImageA( + hInst: HINSTANCE, + name: LPCSTR, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + fuLoad: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn LoadImageW( + hInst: HINSTANCE, + name: LPCWSTR, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + fuLoad: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn CopyImage( + h: HANDLE, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + flags: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn DrawIconEx( + hdc: HDC, + xLeft: ::std::os::raw::c_int, + yTop: ::std::os::raw::c_int, + hIcon: HICON, + cxWidth: ::std::os::raw::c_int, + cyWidth: ::std::os::raw::c_int, + istepIfAniCur: UINT, + hbrFlickerFreeDraw: HBRUSH, + diFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn CreateIconIndirect(piconinfo: PICONINFO) -> HICON; +} +extern "C" { + pub fn CopyIcon(hIcon: HICON) -> HICON; +} +extern "C" { + pub fn GetIconInfo(hIcon: HICON, piconinfo: PICONINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFOEXA { + pub cbSize: DWORD, + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, + pub wResID: WORD, + pub szModName: [CHAR; 260usize], + pub szResName: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__ICONINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFOEXA>(), + 560usize, + concat!("Size of: ", stringify!(_ICONINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFOEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(hbmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(wResID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szModName) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(szModName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szResName) as usize - ptr as usize }, + 294usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(szResName) + ) + ); +} +pub type ICONINFOEXA = _ICONINFOEXA; +pub type PICONINFOEXA = *mut _ICONINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFOEXW { + pub cbSize: DWORD, + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, + pub wResID: WORD, + pub szModName: [WCHAR; 260usize], + pub szResName: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__ICONINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFOEXW>(), + 1080usize, + concat!("Size of: ", stringify!(_ICONINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFOEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(hbmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(wResID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szModName) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(szModName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szResName) as usize - ptr as usize }, + 554usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(szResName) + ) + ); +} +pub type ICONINFOEXW = _ICONINFOEXW; +pub type PICONINFOEXW = *mut _ICONINFOEXW; +pub type ICONINFOEX = ICONINFOEXA; +pub type PICONINFOEX = PICONINFOEXA; +extern "C" { + pub fn GetIconInfoExA(hicon: HICON, piconinfo: PICONINFOEXA) -> BOOL; +} +extern "C" { + pub fn GetIconInfoExW(hicon: HICON, piconinfo: PICONINFOEXW) -> BOOL; +} +pub const EDIT_CONTROL_FEATURE_EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT: + EDIT_CONTROL_FEATURE = 0; +pub const EDIT_CONTROL_FEATURE_EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS: EDIT_CONTROL_FEATURE = 1; +pub type EDIT_CONTROL_FEATURE = ::std::os::raw::c_int; +extern "C" { + pub fn IsDialogMessageA(hDlg: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn IsDialogMessageW(hDlg: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn MapDialogRect(hDlg: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn DlgDirListA( + hDlg: HWND, + lpPathSpec: LPSTR, + nIDListBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFileType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirListW( + hDlg: HWND, + lpPathSpec: LPWSTR, + nIDListBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFileType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirSelectExA( + hwndDlg: HWND, + lpString: LPSTR, + chCount: ::std::os::raw::c_int, + idListBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirSelectExW( + hwndDlg: HWND, + lpString: LPWSTR, + chCount: ::std::os::raw::c_int, + idListBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirListComboBoxA( + hDlg: HWND, + lpPathSpec: LPSTR, + nIDComboBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFiletype: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirListComboBoxW( + hDlg: HWND, + lpPathSpec: LPWSTR, + nIDComboBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFiletype: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirSelectComboBoxExA( + hwndDlg: HWND, + lpString: LPSTR, + cchOut: ::std::os::raw::c_int, + idComboBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirSelectComboBoxExW( + hwndDlg: HWND, + lpString: LPWSTR, + cchOut: ::std::os::raw::c_int, + idComboBox: ::std::os::raw::c_int, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSCROLLINFO { + pub cbSize: UINT, + pub fMask: UINT, + pub nMin: ::std::os::raw::c_int, + pub nMax: ::std::os::raw::c_int, + pub nPage: UINT, + pub nPos: ::std::os::raw::c_int, + pub nTrackPos: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagSCROLLINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagSCROLLINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSCROLLINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPos) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nTrackPos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nTrackPos) + ) + ); +} +pub type SCROLLINFO = tagSCROLLINFO; +pub type LPSCROLLINFO = *mut tagSCROLLINFO; +pub type LPCSCROLLINFO = *const SCROLLINFO; +extern "C" { + pub fn SetScrollInfo( + hwnd: HWND, + nBar: ::std::os::raw::c_int, + lpsi: LPCSCROLLINFO, + redraw: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetScrollInfo(hwnd: HWND, nBar: ::std::os::raw::c_int, lpsi: LPSCROLLINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDICREATESTRUCTA { + pub szClass: LPCSTR, + pub szTitle: LPCSTR, + pub hOwner: HANDLE, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub style: DWORD, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagMDICREATESTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMDICREATESTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDICREATESTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(szClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(hOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(lParam) + ) + ); +} +pub type MDICREATESTRUCTA = tagMDICREATESTRUCTA; +pub type LPMDICREATESTRUCTA = *mut tagMDICREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDICREATESTRUCTW { + pub szClass: LPCWSTR, + pub szTitle: LPCWSTR, + pub hOwner: HANDLE, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub style: DWORD, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagMDICREATESTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMDICREATESTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDICREATESTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(szClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(hOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(lParam) + ) + ); +} +pub type MDICREATESTRUCTW = tagMDICREATESTRUCTW; +pub type LPMDICREATESTRUCTW = *mut tagMDICREATESTRUCTW; +pub type MDICREATESTRUCT = MDICREATESTRUCTA; +pub type LPMDICREATESTRUCT = LPMDICREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLIENTCREATESTRUCT { + pub hWindowMenu: HANDLE, + pub idFirstChild: UINT, +} +#[test] +fn bindgen_test_layout_tagCLIENTCREATESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCLIENTCREATESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLIENTCREATESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWindowMenu) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLIENTCREATESTRUCT), + "::", + stringify!(hWindowMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idFirstChild) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLIENTCREATESTRUCT), + "::", + stringify!(idFirstChild) + ) + ); +} +pub type CLIENTCREATESTRUCT = tagCLIENTCREATESTRUCT; +pub type LPCLIENTCREATESTRUCT = *mut tagCLIENTCREATESTRUCT; +extern "C" { + pub fn DefFrameProcA( + hWnd: HWND, + hWndMDIClient: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DefFrameProcW( + hWnd: HWND, + hWndMDIClient: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DefMDIChildProcA(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefMDIChildProcW(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn TranslateMDISysAccel(hWndClient: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn ArrangeIconicWindows(hWnd: HWND) -> UINT; +} +extern "C" { + pub fn CreateMDIWindowA( + lpClassName: LPCSTR, + lpWindowName: LPCSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hInstance: HINSTANCE, + lParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateMDIWindowW( + lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hInstance: HINSTANCE, + lParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn TileWindows( + hwndParent: HWND, + wHow: UINT, + lpRect: *const RECT, + cKids: UINT, + lpKids: *const HWND, + ) -> WORD; +} +extern "C" { + pub fn CascadeWindows( + hwndParent: HWND, + wHow: UINT, + lpRect: *const RECT, + cKids: UINT, + lpKids: *const HWND, + ) -> WORD; +} +pub type HELPPOLY = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTIKEYHELPA { + pub mkSize: DWORD, + pub mkKeylist: CHAR, + pub szKeyphrase: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMULTIKEYHELPA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMULTIKEYHELPA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMULTIKEYHELPA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(mkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkKeylist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(mkKeylist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szKeyphrase) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(szKeyphrase) + ) + ); +} +pub type MULTIKEYHELPA = tagMULTIKEYHELPA; +pub type PMULTIKEYHELPA = *mut tagMULTIKEYHELPA; +pub type LPMULTIKEYHELPA = *mut tagMULTIKEYHELPA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTIKEYHELPW { + pub mkSize: DWORD, + pub mkKeylist: WCHAR, + pub szKeyphrase: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMULTIKEYHELPW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMULTIKEYHELPW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMULTIKEYHELPW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(mkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkKeylist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(mkKeylist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szKeyphrase) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(szKeyphrase) + ) + ); +} +pub type MULTIKEYHELPW = tagMULTIKEYHELPW; +pub type PMULTIKEYHELPW = *mut tagMULTIKEYHELPW; +pub type LPMULTIKEYHELPW = *mut tagMULTIKEYHELPW; +pub type MULTIKEYHELP = MULTIKEYHELPA; +pub type PMULTIKEYHELP = PMULTIKEYHELPA; +pub type LPMULTIKEYHELP = LPMULTIKEYHELPA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPWININFOA { + pub wStructSize: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub dx: ::std::os::raw::c_int, + pub dy: ::std::os::raw::c_int, + pub wMax: ::std::os::raw::c_int, + pub rgchMember: [CHAR; 2usize], +} +#[test] +fn bindgen_test_layout_tagHELPWININFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagHELPWININFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHELPWININFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(wStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(wMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgchMember) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(rgchMember) + ) + ); +} +pub type HELPWININFOA = tagHELPWININFOA; +pub type PHELPWININFOA = *mut tagHELPWININFOA; +pub type LPHELPWININFOA = *mut tagHELPWININFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPWININFOW { + pub wStructSize: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub dx: ::std::os::raw::c_int, + pub dy: ::std::os::raw::c_int, + pub wMax: ::std::os::raw::c_int, + pub rgchMember: [WCHAR; 2usize], +} +#[test] +fn bindgen_test_layout_tagHELPWININFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagHELPWININFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHELPWININFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(wStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(wMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgchMember) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(rgchMember) + ) + ); +} +pub type HELPWININFOW = tagHELPWININFOW; +pub type PHELPWININFOW = *mut tagHELPWININFOW; +pub type LPHELPWININFOW = *mut tagHELPWININFOW; +pub type HELPWININFO = HELPWININFOA; +pub type PHELPWININFO = PHELPWININFOA; +pub type LPHELPWININFO = LPHELPWININFOA; +extern "C" { + pub fn WinHelpA(hWndMain: HWND, lpszHelp: LPCSTR, uCommand: UINT, dwData: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn WinHelpW(hWndMain: HWND, lpszHelp: LPCWSTR, uCommand: UINT, dwData: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn GetGuiResources(hProcess: HANDLE, uiFlags: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTouchPredictionParameters { + pub cbSize: UINT, + pub dwLatency: UINT, + pub dwSampleTime: UINT, + pub bUseHWTimeStamp: UINT, +} +#[test] +fn bindgen_test_layout_tagTouchPredictionParameters() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTouchPredictionParameters)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTouchPredictionParameters)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLatency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(dwLatency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(dwSampleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bUseHWTimeStamp) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(bUseHWTimeStamp) + ) + ); +} +pub type TOUCHPREDICTIONPARAMETERS = tagTouchPredictionParameters; +pub type PTOUCHPREDICTIONPARAMETERS = *mut tagTouchPredictionParameters; +pub const tagHANDEDNESS_HANDEDNESS_LEFT: tagHANDEDNESS = 0; +pub const tagHANDEDNESS_HANDEDNESS_RIGHT: tagHANDEDNESS = 1; +pub type tagHANDEDNESS = ::std::os::raw::c_int; +pub use self::tagHANDEDNESS as HANDEDNESS; +pub type PHANDEDNESS = *mut tagHANDEDNESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNONCLIENTMETRICSA { + pub cbSize: UINT, + pub iBorderWidth: ::std::os::raw::c_int, + pub iScrollWidth: ::std::os::raw::c_int, + pub iScrollHeight: ::std::os::raw::c_int, + pub iCaptionWidth: ::std::os::raw::c_int, + pub iCaptionHeight: ::std::os::raw::c_int, + pub lfCaptionFont: LOGFONTA, + pub iSmCaptionWidth: ::std::os::raw::c_int, + pub iSmCaptionHeight: ::std::os::raw::c_int, + pub lfSmCaptionFont: LOGFONTA, + pub iMenuWidth: ::std::os::raw::c_int, + pub iMenuHeight: ::std::os::raw::c_int, + pub lfMenuFont: LOGFONTA, + pub lfStatusFont: LOGFONTA, + pub lfMessageFont: LOGFONTA, + pub iPaddedBorderWidth: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagNONCLIENTMETRICSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(tagNONCLIENTMETRICSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNONCLIENTMETRICSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBorderWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iBorderWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollWidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iScrollWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollHeight) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iScrollHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionHeight) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCaptionFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionWidth) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iSmCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionHeight) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iSmCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfSmCaptionFont) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfSmCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuWidth) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iMenuWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuHeight) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iMenuHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMenuFont) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfMenuFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStatusFont) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfStatusFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMessageFont) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfMessageFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPaddedBorderWidth) as usize - ptr as usize }, + 340usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iPaddedBorderWidth) + ) + ); +} +pub type NONCLIENTMETRICSA = tagNONCLIENTMETRICSA; +pub type PNONCLIENTMETRICSA = *mut tagNONCLIENTMETRICSA; +pub type LPNONCLIENTMETRICSA = *mut tagNONCLIENTMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNONCLIENTMETRICSW { + pub cbSize: UINT, + pub iBorderWidth: ::std::os::raw::c_int, + pub iScrollWidth: ::std::os::raw::c_int, + pub iScrollHeight: ::std::os::raw::c_int, + pub iCaptionWidth: ::std::os::raw::c_int, + pub iCaptionHeight: ::std::os::raw::c_int, + pub lfCaptionFont: LOGFONTW, + pub iSmCaptionWidth: ::std::os::raw::c_int, + pub iSmCaptionHeight: ::std::os::raw::c_int, + pub lfSmCaptionFont: LOGFONTW, + pub iMenuWidth: ::std::os::raw::c_int, + pub iMenuHeight: ::std::os::raw::c_int, + pub lfMenuFont: LOGFONTW, + pub lfStatusFont: LOGFONTW, + pub lfMessageFont: LOGFONTW, + pub iPaddedBorderWidth: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagNONCLIENTMETRICSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 504usize, + concat!("Size of: ", stringify!(tagNONCLIENTMETRICSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNONCLIENTMETRICSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBorderWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iBorderWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollWidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iScrollWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollHeight) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iScrollHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionHeight) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCaptionFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionWidth) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iSmCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionHeight) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iSmCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfSmCaptionFont) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfSmCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuWidth) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iMenuWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuHeight) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iMenuHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMenuFont) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfMenuFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStatusFont) as usize - ptr as usize }, + 316usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfStatusFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMessageFont) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfMessageFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPaddedBorderWidth) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iPaddedBorderWidth) + ) + ); +} +pub type NONCLIENTMETRICSW = tagNONCLIENTMETRICSW; +pub type PNONCLIENTMETRICSW = *mut tagNONCLIENTMETRICSW; +pub type LPNONCLIENTMETRICSW = *mut tagNONCLIENTMETRICSW; +pub type NONCLIENTMETRICS = NONCLIENTMETRICSA; +pub type PNONCLIENTMETRICS = PNONCLIENTMETRICSA; +pub type LPNONCLIENTMETRICS = LPNONCLIENTMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMINIMIZEDMETRICS { + pub cbSize: UINT, + pub iWidth: ::std::os::raw::c_int, + pub iHorzGap: ::std::os::raw::c_int, + pub iVertGap: ::std::os::raw::c_int, + pub iArrange: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagMINIMIZEDMETRICS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMINIMIZEDMETRICS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMINIMIZEDMETRICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzGap) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iHorzGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertGap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iVertGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iArrange) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iArrange) + ) + ); +} +pub type MINIMIZEDMETRICS = tagMINIMIZEDMETRICS; +pub type PMINIMIZEDMETRICS = *mut tagMINIMIZEDMETRICS; +pub type LPMINIMIZEDMETRICS = *mut tagMINIMIZEDMETRICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICONMETRICSA { + pub cbSize: UINT, + pub iHorzSpacing: ::std::os::raw::c_int, + pub iVertSpacing: ::std::os::raw::c_int, + pub iTitleWrap: ::std::os::raw::c_int, + pub lfFont: LOGFONTA, +} +#[test] +fn bindgen_test_layout_tagICONMETRICSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagICONMETRICSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICONMETRICSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzSpacing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iHorzSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertSpacing) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iVertSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTitleWrap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iTitleWrap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFont) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(lfFont) + ) + ); +} +pub type ICONMETRICSA = tagICONMETRICSA; +pub type PICONMETRICSA = *mut tagICONMETRICSA; +pub type LPICONMETRICSA = *mut tagICONMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICONMETRICSW { + pub cbSize: UINT, + pub iHorzSpacing: ::std::os::raw::c_int, + pub iVertSpacing: ::std::os::raw::c_int, + pub iTitleWrap: ::std::os::raw::c_int, + pub lfFont: LOGFONTW, +} +#[test] +fn bindgen_test_layout_tagICONMETRICSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagICONMETRICSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICONMETRICSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzSpacing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iHorzSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertSpacing) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iVertSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTitleWrap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iTitleWrap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFont) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(lfFont) + ) + ); +} +pub type ICONMETRICSW = tagICONMETRICSW; +pub type PICONMETRICSW = *mut tagICONMETRICSW; +pub type LPICONMETRICSW = *mut tagICONMETRICSW; +pub type ICONMETRICS = ICONMETRICSA; +pub type PICONMETRICS = PICONMETRICSA; +pub type LPICONMETRICS = LPICONMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagANIMATIONINFO { + pub cbSize: UINT, + pub iMinAnimate: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagANIMATIONINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagANIMATIONINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagANIMATIONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagANIMATIONINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMinAnimate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagANIMATIONINFO), + "::", + stringify!(iMinAnimate) + ) + ); +} +pub type ANIMATIONINFO = tagANIMATIONINFO; +pub type LPANIMATIONINFO = *mut tagANIMATIONINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALKEYSA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszActivePort: LPSTR, + pub lpszPort: LPSTR, + pub iBaudRate: UINT, + pub iPortState: UINT, + pub iActive: UINT, +} +#[test] +fn bindgen_test_layout_tagSERIALKEYSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagSERIALKEYSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSERIALKEYSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszActivePort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(lpszActivePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszPort) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(lpszPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBaudRate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iBaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPortState) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iPortState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iActive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iActive) + ) + ); +} +pub type SERIALKEYSA = tagSERIALKEYSA; +pub type LPSERIALKEYSA = *mut tagSERIALKEYSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALKEYSW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszActivePort: LPWSTR, + pub lpszPort: LPWSTR, + pub iBaudRate: UINT, + pub iPortState: UINT, + pub iActive: UINT, +} +#[test] +fn bindgen_test_layout_tagSERIALKEYSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagSERIALKEYSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSERIALKEYSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszActivePort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(lpszActivePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszPort) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(lpszPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBaudRate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iBaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPortState) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iPortState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iActive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iActive) + ) + ); +} +pub type SERIALKEYSW = tagSERIALKEYSW; +pub type LPSERIALKEYSW = *mut tagSERIALKEYSW; +pub type SERIALKEYS = SERIALKEYSA; +pub type LPSERIALKEYS = LPSERIALKEYSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHIGHCONTRASTA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszDefaultScheme: LPSTR, +} +#[test] +fn bindgen_test_layout_tagHIGHCONTRASTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHIGHCONTRASTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHIGHCONTRASTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDefaultScheme) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(lpszDefaultScheme) + ) + ); +} +pub type HIGHCONTRASTA = tagHIGHCONTRASTA; +pub type LPHIGHCONTRASTA = *mut tagHIGHCONTRASTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHIGHCONTRASTW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszDefaultScheme: LPWSTR, +} +#[test] +fn bindgen_test_layout_tagHIGHCONTRASTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHIGHCONTRASTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHIGHCONTRASTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDefaultScheme) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(lpszDefaultScheme) + ) + ); +} +pub type HIGHCONTRASTW = tagHIGHCONTRASTW; +pub type LPHIGHCONTRASTW = *mut tagHIGHCONTRASTW; +pub type HIGHCONTRAST = HIGHCONTRASTA; +pub type LPHIGHCONTRAST = LPHIGHCONTRASTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIDEOPARAMETERS { + pub Guid: GUID, + pub dwOffset: ULONG, + pub dwCommand: ULONG, + pub dwFlags: ULONG, + pub dwMode: ULONG, + pub dwTVStandard: ULONG, + pub dwAvailableModes: ULONG, + pub dwAvailableTVStandard: ULONG, + pub dwFlickerFilter: ULONG, + pub dwOverScanX: ULONG, + pub dwOverScanY: ULONG, + pub dwMaxUnscaledX: ULONG, + pub dwMaxUnscaledY: ULONG, + pub dwPositionX: ULONG, + pub dwPositionY: ULONG, + pub dwBrightness: ULONG, + pub dwContrast: ULONG, + pub dwCPType: ULONG, + pub dwCPCommand: ULONG, + pub dwCPStandard: ULONG, + pub dwCPKey: ULONG, + pub bCP_APSTriggerBits: ULONG, + pub bOEMCopyProtection: [UCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__VIDEOPARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_VIDEOPARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIDEOPARAMETERS>(), + 356usize, + concat!("Size of: ", stringify!(_VIDEOPARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_VIDEOPARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_VIDEOPARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(Guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommand) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTVStandard) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwTVStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailableModes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwAvailableModes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailableTVStandard) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwAvailableTVStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlickerFilter) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwFlickerFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOverScanX) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOverScanX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOverScanY) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOverScanY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUnscaledX) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMaxUnscaledX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUnscaledY) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMaxUnscaledY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPositionX) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwPositionX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPositionY) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwPositionY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBrightness) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwBrightness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContrast) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPCommand) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPStandard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPKey) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCP_APSTriggerBits) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(bCP_APSTriggerBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bOEMCopyProtection) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(bOEMCopyProtection) + ) + ); +} +pub type VIDEOPARAMETERS = _VIDEOPARAMETERS; +pub type PVIDEOPARAMETERS = *mut _VIDEOPARAMETERS; +pub type LPVIDEOPARAMETERS = *mut _VIDEOPARAMETERS; +extern "C" { + pub fn ChangeDisplaySettingsA(lpDevMode: *mut DEVMODEA, dwFlags: DWORD) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsW(lpDevMode: *mut DEVMODEW, dwFlags: DWORD) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsExA( + lpszDeviceName: LPCSTR, + lpDevMode: *mut DEVMODEA, + hwnd: HWND, + dwflags: DWORD, + lParam: LPVOID, + ) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsExW( + lpszDeviceName: LPCWSTR, + lpDevMode: *mut DEVMODEW, + hwnd: HWND, + dwflags: DWORD, + lParam: LPVOID, + ) -> LONG; +} +extern "C" { + pub fn EnumDisplaySettingsA( + lpszDeviceName: LPCSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEA, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsW( + lpszDeviceName: LPCWSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEW, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsExA( + lpszDeviceName: LPCSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEA, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsExW( + lpszDeviceName: LPCWSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEW, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplayDevicesA( + lpDevice: LPCSTR, + iDevNum: DWORD, + lpDisplayDevice: PDISPLAY_DEVICEA, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplayDevicesW( + lpDevice: LPCWSTR, + iDevNum: DWORD, + lpDisplayDevice: PDISPLAY_DEVICEW, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDisplayConfigBufferSizes( + flags: UINT32, + numPathArrayElements: *mut UINT32, + numModeInfoArrayElements: *mut UINT32, + ) -> LONG; +} +extern "C" { + pub fn SetDisplayConfig( + numPathArrayElements: UINT32, + pathArray: *mut DISPLAYCONFIG_PATH_INFO, + numModeInfoArrayElements: UINT32, + modeInfoArray: *mut DISPLAYCONFIG_MODE_INFO, + flags: UINT32, + ) -> LONG; +} +extern "C" { + pub fn QueryDisplayConfig( + flags: UINT32, + numPathArrayElements: *mut UINT32, + pathArray: *mut DISPLAYCONFIG_PATH_INFO, + numModeInfoArrayElements: *mut UINT32, + modeInfoArray: *mut DISPLAYCONFIG_MODE_INFO, + currentTopologyId: *mut DISPLAYCONFIG_TOPOLOGY_ID, + ) -> LONG; +} +extern "C" { + pub fn DisplayConfigGetDeviceInfo(requestPacket: *mut DISPLAYCONFIG_DEVICE_INFO_HEADER) + -> LONG; +} +extern "C" { + pub fn DisplayConfigSetDeviceInfo(setPacket: *mut DISPLAYCONFIG_DEVICE_INFO_HEADER) -> LONG; +} +extern "C" { + pub fn SystemParametersInfoA( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SystemParametersInfoW( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SystemParametersInfoForDpi( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + dpi: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFILTERKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iWaitMSec: DWORD, + pub iDelayMSec: DWORD, + pub iRepeatMSec: DWORD, + pub iBounceMSec: DWORD, +} +#[test] +fn bindgen_test_layout_tagFILTERKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagFILTERKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagFILTERKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWaitMSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iWaitMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iDelayMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iDelayMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRepeatMSec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iRepeatMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBounceMSec) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iBounceMSec) + ) + ); +} +pub type FILTERKEYS = tagFILTERKEYS; +pub type LPFILTERKEYS = *mut tagFILTERKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTICKYKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTICKYKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTICKYKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTICKYKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTICKYKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTICKYKEYS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type STICKYKEYS = tagSTICKYKEYS; +pub type LPSTICKYKEYS = *mut tagSTICKYKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iMaxSpeed: DWORD, + pub iTimeToMaxSpeed: DWORD, + pub iCtrlSpeed: DWORD, + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout_tagMOUSEKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMOUSEKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMOUSEKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iMaxSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTimeToMaxSpeed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iTimeToMaxSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCtrlSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iCtrlSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type MOUSEKEYS = tagMOUSEKEYS; +pub type LPMOUSEKEYS = *mut tagMOUSEKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACCESSTIMEOUT { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iTimeOutMSec: DWORD, +} +#[test] +fn bindgen_test_layout_tagACCESSTIMEOUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagACCESSTIMEOUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagACCESSTIMEOUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTimeOutMSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(iTimeOutMSec) + ) + ); +} +pub type ACCESSTIMEOUT = tagACCESSTIMEOUT; +pub type LPACCESSTIMEOUT = *mut tagACCESSTIMEOUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOUNDSENTRYA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iFSTextEffect: DWORD, + pub iFSTextEffectMSec: DWORD, + pub iFSTextEffectColorBits: DWORD, + pub iFSGrafEffect: DWORD, + pub iFSGrafEffectMSec: DWORD, + pub iFSGrafEffectColor: DWORD, + pub iWindowsEffect: DWORD, + pub iWindowsEffectMSec: DWORD, + pub lpszWindowsEffectDLL: LPSTR, + pub iWindowsEffectOrdinal: DWORD, +} +#[test] +fn bindgen_test_layout_tagSOUNDSENTRYA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSOUNDSENTRYA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOUNDSENTRYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectColorBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffectColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectMSec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectColor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffectColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectMSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszWindowsEffectDLL) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(lpszWindowsEffectDLL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectOrdinal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffectOrdinal) + ) + ); +} +pub type SOUNDSENTRYA = tagSOUNDSENTRYA; +pub type LPSOUNDSENTRYA = *mut tagSOUNDSENTRYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOUNDSENTRYW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iFSTextEffect: DWORD, + pub iFSTextEffectMSec: DWORD, + pub iFSTextEffectColorBits: DWORD, + pub iFSGrafEffect: DWORD, + pub iFSGrafEffectMSec: DWORD, + pub iFSGrafEffectColor: DWORD, + pub iWindowsEffect: DWORD, + pub iWindowsEffectMSec: DWORD, + pub lpszWindowsEffectDLL: LPWSTR, + pub iWindowsEffectOrdinal: DWORD, +} +#[test] +fn bindgen_test_layout_tagSOUNDSENTRYW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSOUNDSENTRYW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOUNDSENTRYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectColorBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffectColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectMSec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectColor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffectColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectMSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszWindowsEffectDLL) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(lpszWindowsEffectDLL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectOrdinal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffectOrdinal) + ) + ); +} +pub type SOUNDSENTRYW = tagSOUNDSENTRYW; +pub type LPSOUNDSENTRYW = *mut tagSOUNDSENTRYW; +pub type SOUNDSENTRY = SOUNDSENTRYA; +pub type LPSOUNDSENTRY = LPSOUNDSENTRYA; +extern "C" { + pub fn SoundSentry() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOGGLEKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagTOGGLEKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagTOGGLEKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTOGGLEKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOGGLEKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOGGLEKEYS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type TOGGLEKEYS = tagTOGGLEKEYS; +pub type LPTOGGLEKEYS = *mut tagTOGGLEKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUDIODESCRIPTION { + pub cbSize: UINT, + pub Enabled: BOOL, + pub Locale: LCID, +} +#[test] +fn bindgen_test_layout_tagAUDIODESCRIPTION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagAUDIODESCRIPTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAUDIODESCRIPTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(Enabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(Locale) + ) + ); +} +pub type AUDIODESCRIPTION = tagAUDIODESCRIPTION; +pub type LPAUDIODESCRIPTION = *mut tagAUDIODESCRIPTION; +extern "C" { + pub fn SetDebugErrorLevel(dwLevel: DWORD); +} +extern "C" { + pub fn SetLastErrorEx(dwErrCode: DWORD, dwType: DWORD); +} +extern "C" { + pub fn InternalGetWindowText( + hWnd: HWND, + pString: LPWSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CancelShutdown() -> BOOL; +} +extern "C" { + pub fn MonitorFromPoint(pt: POINT, dwFlags: DWORD) -> HMONITOR; +} +extern "C" { + pub fn MonitorFromRect(lprc: LPCRECT, dwFlags: DWORD) -> HMONITOR; +} +extern "C" { + pub fn MonitorFromWindow(hwnd: HWND, dwFlags: DWORD) -> HMONITOR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFO { + pub cbSize: DWORD, + pub rcMonitor: RECT, + pub rcWork: RECT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagMONITORINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONITORINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcMonitor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(rcMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcWork) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(rcWork) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type MONITORINFO = tagMONITORINFO; +pub type LPMONITORINFO = *mut tagMONITORINFO; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFOEXA { + pub __bindgen_padding_0: [u8; 40usize], + pub szDevice: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMONITORINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMONITORINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDevice) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFOEXA), + "::", + stringify!(szDevice) + ) + ); +} +pub type MONITORINFOEXA = tagMONITORINFOEXA; +pub type LPMONITORINFOEXA = *mut tagMONITORINFOEXA; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFOEXW { + pub __bindgen_padding_0: [u16; 20usize], + pub szDevice: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMONITORINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagMONITORINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDevice) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFOEXW), + "::", + stringify!(szDevice) + ) + ); +} +pub type MONITORINFOEXW = tagMONITORINFOEXW; +pub type LPMONITORINFOEXW = *mut tagMONITORINFOEXW; +pub type MONITORINFOEX = MONITORINFOEXA; +pub type LPMONITORINFOEX = LPMONITORINFOEXA; +extern "C" { + pub fn GetMonitorInfoA(hMonitor: HMONITOR, lpmi: LPMONITORINFO) -> BOOL; +} +extern "C" { + pub fn GetMonitorInfoW(hMonitor: HMONITOR, lpmi: LPMONITORINFO) -> BOOL; +} +pub type MONITORENUMPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HMONITOR, arg2: HDC, arg3: LPRECT, arg4: LPARAM) -> BOOL, +>; +extern "C" { + pub fn EnumDisplayMonitors( + hdc: HDC, + lprcClip: LPCRECT, + lpfnEnum: MONITORENUMPROC, + dwData: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn NotifyWinEvent(event: DWORD, hwnd: HWND, idObject: LONG, idChild: LONG); +} +pub type WINEVENTPROC = ::std::option::Option< + unsafe extern "C" fn( + hWinEventHook: HWINEVENTHOOK, + event: DWORD, + hwnd: HWND, + idObject: LONG, + idChild: LONG, + idEventThread: DWORD, + dwmsEventTime: DWORD, + ), +>; +extern "C" { + pub fn SetWinEventHook( + eventMin: DWORD, + eventMax: DWORD, + hmodWinEventProc: HMODULE, + pfnWinEventProc: WINEVENTPROC, + idProcess: DWORD, + idThread: DWORD, + dwFlags: DWORD, + ) -> HWINEVENTHOOK; +} +extern "C" { + pub fn IsWinEventHookInstalled(event: DWORD) -> BOOL; +} +extern "C" { + pub fn UnhookWinEvent(hWinEventHook: HWINEVENTHOOK) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGUITHREADINFO { + pub cbSize: DWORD, + pub flags: DWORD, + pub hwndActive: HWND, + pub hwndFocus: HWND, + pub hwndCapture: HWND, + pub hwndMenuOwner: HWND, + pub hwndMoveSize: HWND, + pub hwndCaret: HWND, + pub rcCaret: RECT, +} +#[test] +fn bindgen_test_layout_tagGUITHREADINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagGUITHREADINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGUITHREADINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndActive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFocus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCapture) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndCapture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMenuOwner) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndMenuOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMoveSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndMoveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCaret) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndCaret) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcCaret) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(rcCaret) + ) + ); +} +pub type GUITHREADINFO = tagGUITHREADINFO; +pub type PGUITHREADINFO = *mut tagGUITHREADINFO; +pub type LPGUITHREADINFO = *mut tagGUITHREADINFO; +extern "C" { + pub fn GetGUIThreadInfo(idThread: DWORD, pgui: PGUITHREADINFO) -> BOOL; +} +extern "C" { + pub fn BlockInput(fBlockIt: BOOL) -> BOOL; +} +extern "C" { + pub fn SetProcessDPIAware() -> BOOL; +} +extern "C" { + pub fn IsProcessDPIAware() -> BOOL; +} +extern "C" { + pub fn SetThreadDpiAwarenessContext(dpiContext: DPI_AWARENESS_CONTEXT) + -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetWindowDpiAwarenessContext(hwnd: HWND) -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetAwarenessFromDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS; +} +extern "C" { + pub fn GetDpiFromDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> UINT; +} +extern "C" { + pub fn AreDpiAwarenessContextsEqual( + dpiContextA: DPI_AWARENESS_CONTEXT, + dpiContextB: DPI_AWARENESS_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn IsValidDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn GetDpiForWindow(hwnd: HWND) -> UINT; +} +extern "C" { + pub fn GetDpiForSystem() -> UINT; +} +extern "C" { + pub fn GetSystemDpiForProcess(hProcess: HANDLE) -> UINT; +} +extern "C" { + pub fn EnableNonClientDpiScaling(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn InheritWindowMonitor(hwnd: HWND, hwndInherit: HWND) -> BOOL; +} +extern "C" { + pub fn SetProcessDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn GetDpiAwarenessContextForProcess(hProcess: HANDLE) -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn SetThreadDpiHostingBehavior(value: DPI_HOSTING_BEHAVIOR) -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetWindowDpiHostingBehavior(hwnd: HWND) -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetWindowModuleFileNameA(hwnd: HWND, pszFileName: LPSTR, cchFileNameMax: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowModuleFileNameW(hwnd: HWND, pszFileName: LPWSTR, cchFileNameMax: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCURSORINFO { + pub cbSize: DWORD, + pub flags: DWORD, + pub hCursor: HCURSOR, + pub ptScreenPos: POINT, +} +#[test] +fn bindgen_test_layout_tagCURSORINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCURSORINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCURSORINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptScreenPos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(ptScreenPos) + ) + ); +} +pub type CURSORINFO = tagCURSORINFO; +pub type PCURSORINFO = *mut tagCURSORINFO; +pub type LPCURSORINFO = *mut tagCURSORINFO; +extern "C" { + pub fn GetCursorInfo(pci: PCURSORINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWINFO { + pub cbSize: DWORD, + pub rcWindow: RECT, + pub rcClient: RECT, + pub dwStyle: DWORD, + pub dwExStyle: DWORD, + pub dwWindowStatus: DWORD, + pub cxWindowBorders: UINT, + pub cyWindowBorders: UINT, + pub atomWindowType: ATOM, + pub wCreatorVersion: WORD, +} +#[test] +fn bindgen_test_layout_tagWINDOWINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagWINDOWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWINDOWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcWindow) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(rcWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcClient) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(rcClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwExStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWindowStatus) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwWindowStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxWindowBorders) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cxWindowBorders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyWindowBorders) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cyWindowBorders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atomWindowType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(atomWindowType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCreatorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(wCreatorVersion) + ) + ); +} +pub type WINDOWINFO = tagWINDOWINFO; +pub type PWINDOWINFO = *mut tagWINDOWINFO; +pub type LPWINDOWINFO = *mut tagWINDOWINFO; +extern "C" { + pub fn GetWindowInfo(hwnd: HWND, pwi: PWINDOWINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTITLEBARINFO { + pub cbSize: DWORD, + pub rcTitleBar: RECT, + pub rgstate: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagTITLEBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagTITLEBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTITLEBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcTitleBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(rcTitleBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(rgstate) + ) + ); +} +pub type TITLEBARINFO = tagTITLEBARINFO; +pub type PTITLEBARINFO = *mut tagTITLEBARINFO; +pub type LPTITLEBARINFO = *mut tagTITLEBARINFO; +extern "C" { + pub fn GetTitleBarInfo(hwnd: HWND, pti: PTITLEBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTITLEBARINFOEX { + pub cbSize: DWORD, + pub rcTitleBar: RECT, + pub rgstate: [DWORD; 6usize], + pub rgrect: [RECT; 6usize], +} +#[test] +fn bindgen_test_layout_tagTITLEBARINFOEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 140usize, + concat!("Size of: ", stringify!(tagTITLEBARINFOEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTITLEBARINFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcTitleBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rcTitleBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rgstate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgrect) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rgrect) + ) + ); +} +pub type TITLEBARINFOEX = tagTITLEBARINFOEX; +pub type PTITLEBARINFOEX = *mut tagTITLEBARINFOEX; +pub type LPTITLEBARINFOEX = *mut tagTITLEBARINFOEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUBARINFO { + pub cbSize: DWORD, + pub rcBar: RECT, + pub hMenu: HMENU, + pub hwndMenu: HWND, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub __bindgen_padding_0: u32, +} +#[test] +fn bindgen_test_layout_tagMENUBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMENUBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(rcBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMenu) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(hwndMenu) + ) + ); +} +impl tagMENUBARINFO { + #[inline] + pub fn fBarFocused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBarFocused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fFocused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fFocused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_fUnused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fBarFocused: BOOL, + fFocused: BOOL, + fUnused: BOOL, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fBarFocused: u32 = unsafe { ::std::mem::transmute(fBarFocused) }; + fBarFocused as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fFocused: u32 = unsafe { ::std::mem::transmute(fFocused) }; + fFocused as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let fUnused: u32 = unsafe { ::std::mem::transmute(fUnused) }; + fUnused as u64 + }); + __bindgen_bitfield_unit + } +} +pub type MENUBARINFO = tagMENUBARINFO; +pub type PMENUBARINFO = *mut tagMENUBARINFO; +pub type LPMENUBARINFO = *mut tagMENUBARINFO; +extern "C" { + pub fn GetMenuBarInfo(hwnd: HWND, idObject: LONG, idItem: LONG, pmbi: PMENUBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSCROLLBARINFO { + pub cbSize: DWORD, + pub rcScrollBar: RECT, + pub dxyLineButton: ::std::os::raw::c_int, + pub xyThumbTop: ::std::os::raw::c_int, + pub xyThumbBottom: ::std::os::raw::c_int, + pub reserved: ::std::os::raw::c_int, + pub rgstate: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagSCROLLBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagSCROLLBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSCROLLBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcScrollBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(rcScrollBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dxyLineButton) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(dxyLineButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xyThumbTop) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(xyThumbTop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xyThumbBottom) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(xyThumbBottom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(rgstate) + ) + ); +} +pub type SCROLLBARINFO = tagSCROLLBARINFO; +pub type PSCROLLBARINFO = *mut tagSCROLLBARINFO; +pub type LPSCROLLBARINFO = *mut tagSCROLLBARINFO; +extern "C" { + pub fn GetScrollBarInfo(hwnd: HWND, idObject: LONG, psbi: PSCROLLBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMBOBOXINFO { + pub cbSize: DWORD, + pub rcItem: RECT, + pub rcButton: RECT, + pub stateButton: DWORD, + pub hwndCombo: HWND, + pub hwndItem: HWND, + pub hwndList: HWND, +} +#[test] +fn bindgen_test_layout_tagCOMBOBOXINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagCOMBOBOXINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOMBOBOXINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcItem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(rcItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcButton) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(rcButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stateButton) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(stateButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCombo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndCombo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndList) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndList) + ) + ); +} +pub type COMBOBOXINFO = tagCOMBOBOXINFO; +pub type PCOMBOBOXINFO = *mut tagCOMBOBOXINFO; +pub type LPCOMBOBOXINFO = *mut tagCOMBOBOXINFO; +extern "C" { + pub fn GetComboBoxInfo(hwndCombo: HWND, pcbi: PCOMBOBOXINFO) -> BOOL; +} +extern "C" { + pub fn GetAncestor(hwnd: HWND, gaFlags: UINT) -> HWND; +} +extern "C" { + pub fn RealChildWindowFromPoint(hwndParent: HWND, ptParentClientCoords: POINT) -> HWND; +} +extern "C" { + pub fn RealGetWindowClassA(hwnd: HWND, ptszClassName: LPSTR, cchClassNameMax: UINT) -> UINT; +} +extern "C" { + pub fn RealGetWindowClassW(hwnd: HWND, ptszClassName: LPWSTR, cchClassNameMax: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagALTTABINFO { + pub cbSize: DWORD, + pub cItems: ::std::os::raw::c_int, + pub cColumns: ::std::os::raw::c_int, + pub cRows: ::std::os::raw::c_int, + pub iColFocus: ::std::os::raw::c_int, + pub iRowFocus: ::std::os::raw::c_int, + pub cxItem: ::std::os::raw::c_int, + pub cyItem: ::std::os::raw::c_int, + pub ptStart: POINT, +} +#[test] +fn bindgen_test_layout_tagALTTABINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagALTTABINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagALTTABINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cItems) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColumns) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cColumns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRows) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cRows) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iColFocus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(iColFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRowFocus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(iRowFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxItem) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cxItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyItem) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cyItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptStart) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(ptStart) + ) + ); +} +pub type ALTTABINFO = tagALTTABINFO; +pub type PALTTABINFO = *mut tagALTTABINFO; +pub type LPALTTABINFO = *mut tagALTTABINFO; +extern "C" { + pub fn GetAltTabInfoA( + hwnd: HWND, + iItem: ::std::os::raw::c_int, + pati: PALTTABINFO, + pszItemText: LPSTR, + cchItemText: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetAltTabInfoW( + hwnd: HWND, + iItem: ::std::os::raw::c_int, + pati: PALTTABINFO, + pszItemText: LPWSTR, + cchItemText: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetListBoxInfo(hwnd: HWND) -> DWORD; +} +extern "C" { + pub fn LockWorkStation() -> BOOL; +} +extern "C" { + pub fn UserHandleGrantAccess(hUserHandle: HANDLE, hJob: HANDLE, bGrant: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRAWINPUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRAWINPUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRAWINPUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRAWINPUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRAWINPUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HRAWINPUT = *mut HRAWINPUT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTHEADER { + pub dwType: DWORD, + pub dwSize: DWORD, + pub hDevice: HANDLE, + pub wParam: WPARAM, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWINPUTHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevice) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(hDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(wParam) + ) + ); +} +pub type RAWINPUTHEADER = tagRAWINPUTHEADER; +pub type PRAWINPUTHEADER = *mut tagRAWINPUTHEADER; +pub type LPRAWINPUTHEADER = *mut tagRAWINPUTHEADER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRAWMOUSE { + pub usFlags: USHORT, + pub __bindgen_anon_1: tagRAWMOUSE__bindgen_ty_1, + pub ulRawButtons: ULONG, + pub lLastX: LONG, + pub lLastY: LONG, + pub ulExtraInformation: ULONG, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRAWMOUSE__bindgen_ty_1 { + pub ulButtons: ULONG, + pub __bindgen_anon_1: tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1 { + pub usButtonFlags: USHORT, + pub usButtonData: USHORT, +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usButtonFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(usButtonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usButtonData) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(usButtonData) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagRAWMOUSE__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWMOUSE__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulButtons) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1), + "::", + stringify!(ulButtons) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWMOUSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWMOUSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(usFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRawButtons) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(ulRawButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLastX) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(lLastX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLastY) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(lLastY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulExtraInformation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(ulExtraInformation) + ) + ); +} +pub type RAWMOUSE = tagRAWMOUSE; +pub type PRAWMOUSE = *mut tagRAWMOUSE; +pub type LPRAWMOUSE = *mut tagRAWMOUSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWKEYBOARD { + pub MakeCode: USHORT, + pub Flags: USHORT, + pub Reserved: USHORT, + pub VKey: USHORT, + pub Message: UINT, + pub ExtraInformation: ULONG, +} +#[test] +fn bindgen_test_layout_tagRAWKEYBOARD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWKEYBOARD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWKEYBOARD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MakeCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(MakeCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VKey) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(VKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInformation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(ExtraInformation) + ) + ); +} +pub type RAWKEYBOARD = tagRAWKEYBOARD; +pub type PRAWKEYBOARD = *mut tagRAWKEYBOARD; +pub type LPRAWKEYBOARD = *mut tagRAWKEYBOARD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWHID { + pub dwSizeHid: DWORD, + pub dwCount: DWORD, + pub bRawData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagRAWHID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRAWHID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWHID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSizeHid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(dwSizeHid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(dwCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRawData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(bRawData) + ) + ); +} +pub type RAWHID = tagRAWHID; +pub type PRAWHID = *mut tagRAWHID; +pub type LPRAWHID = *mut tagRAWHID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRAWINPUT { + pub header: RAWINPUTHEADER, + pub data: tagRAWINPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRAWINPUT__bindgen_ty_1 { + pub mouse: RAWMOUSE, + pub keyboard: RAWKEYBOARD, + pub hid: RAWHID, +} +#[test] +fn bindgen_test_layout_tagRAWINPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWINPUT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWINPUT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(mouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyboard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(keyboard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(hid) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagRAWINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT), + "::", + stringify!(data) + ) + ); +} +pub type RAWINPUT = tagRAWINPUT; +pub type PRAWINPUT = *mut tagRAWINPUT; +pub type LPRAWINPUT = *mut tagRAWINPUT; +extern "C" { + pub fn GetRawInputData( + hRawInput: HRAWINPUT, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + cbSizeHeader: UINT, + ) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_MOUSE { + pub dwId: DWORD, + pub dwNumberOfButtons: DWORD, + pub dwSampleRate: DWORD, + pub fHasHorizontalWheel: BOOL, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_MOUSE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_MOUSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_MOUSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfButtons) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwNumberOfButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleRate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwSampleRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasHorizontalWheel) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(fHasHorizontalWheel) + ) + ); +} +pub type RID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE; +pub type PRID_DEVICE_INFO_MOUSE = *mut tagRID_DEVICE_INFO_MOUSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_KEYBOARD { + pub dwType: DWORD, + pub dwSubType: DWORD, + pub dwKeyboardMode: DWORD, + pub dwNumberOfFunctionKeys: DWORD, + pub dwNumberOfIndicators: DWORD, + pub dwNumberOfKeysTotal: DWORD, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_KEYBOARD() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_KEYBOARD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSubType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyboardMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwKeyboardMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfFunctionKeys) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfFunctionKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfIndicators) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfIndicators) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfKeysTotal) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfKeysTotal) + ) + ); +} +pub type RID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD; +pub type PRID_DEVICE_INFO_KEYBOARD = *mut tagRID_DEVICE_INFO_KEYBOARD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_HID { + pub dwVendorId: DWORD, + pub dwProductId: DWORD, + pub dwVersionNumber: DWORD, + pub usUsagePage: USHORT, + pub usUsage: USHORT, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_HID() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_HID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_HID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVendorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwVersionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsagePage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(usUsagePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsage) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(usUsage) + ) + ); +} +pub type RID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID; +pub type PRID_DEVICE_INFO_HID = *mut tagRID_DEVICE_INFO_HID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRID_DEVICE_INFO { + pub cbSize: DWORD, + pub dwType: DWORD, + pub __bindgen_anon_1: tagRID_DEVICE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRID_DEVICE_INFO__bindgen_ty_1 { + pub mouse: RID_DEVICE_INFO_MOUSE, + pub keyboard: RID_DEVICE_INFO_KEYBOARD, + pub hid: RID_DEVICE_INFO_HID, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(mouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyboard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(keyboard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(hid) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO), + "::", + stringify!(dwType) + ) + ); +} +pub type RID_DEVICE_INFO = tagRID_DEVICE_INFO; +pub type PRID_DEVICE_INFO = *mut tagRID_DEVICE_INFO; +pub type LPRID_DEVICE_INFO = *mut tagRID_DEVICE_INFO; +extern "C" { + pub fn GetRawInputDeviceInfoA( + hDevice: HANDLE, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + ) -> UINT; +} +extern "C" { + pub fn GetRawInputDeviceInfoW( + hDevice: HANDLE, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + ) -> UINT; +} +extern "C" { + pub fn GetRawInputBuffer(pData: PRAWINPUT, pcbSize: PUINT, cbSizeHeader: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTDEVICE { + pub usUsagePage: USHORT, + pub usUsage: USHORT, + pub dwFlags: DWORD, + pub hwndTarget: HWND, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTDEVICE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWINPUTDEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTDEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsagePage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(usUsagePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsage) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(usUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(hwndTarget) + ) + ); +} +pub type RAWINPUTDEVICE = tagRAWINPUTDEVICE; +pub type PRAWINPUTDEVICE = *mut tagRAWINPUTDEVICE; +pub type LPRAWINPUTDEVICE = *mut tagRAWINPUTDEVICE; +pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE; +extern "C" { + pub fn RegisterRawInputDevices( + pRawInputDevices: PCRAWINPUTDEVICE, + uiNumDevices: UINT, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetRegisteredRawInputDevices( + pRawInputDevices: PRAWINPUTDEVICE, + puiNumDevices: PUINT, + cbSize: UINT, + ) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTDEVICELIST { + pub hDevice: HANDLE, + pub dwType: DWORD, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTDEVICELIST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWINPUTDEVICELIST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTDEVICELIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICELIST), + "::", + stringify!(hDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICELIST), + "::", + stringify!(dwType) + ) + ); +} +pub type RAWINPUTDEVICELIST = tagRAWINPUTDEVICELIST; +pub type PRAWINPUTDEVICELIST = *mut tagRAWINPUTDEVICELIST; +extern "C" { + pub fn GetRawInputDeviceList( + pRawInputDeviceList: PRAWINPUTDEVICELIST, + puiNumDevices: PUINT, + cbSize: UINT, + ) -> UINT; +} +extern "C" { + pub fn DefRawInputProc(paRawInput: *mut PRAWINPUT, nInput: INT, cbSizeHeader: UINT) -> LRESULT; +} +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_INTEGRATED_PEN: tagPOINTER_DEVICE_TYPE = 1; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_EXTERNAL_PEN: tagPOINTER_DEVICE_TYPE = 2; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_TOUCH: tagPOINTER_DEVICE_TYPE = 3; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_TOUCH_PAD: tagPOINTER_DEVICE_TYPE = 4; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_MAX: tagPOINTER_DEVICE_TYPE = -1; +pub type tagPOINTER_DEVICE_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_DEVICE_TYPE as POINTER_DEVICE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_INFO { + pub displayOrientation: DWORD, + pub device: HANDLE, + pub pointerDeviceType: POINTER_DEVICE_TYPE, + pub monitor: HMONITOR, + pub startingCursorId: ULONG, + pub maxActiveContacts: USHORT, + pub productString: [WCHAR; 520usize], +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1080usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).displayOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(displayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).device) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(device) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerDeviceType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(pointerDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(monitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).startingCursorId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(startingCursorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).maxActiveContacts) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(maxActiveContacts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).productString) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(productString) + ) + ); +} +pub type POINTER_DEVICE_INFO = tagPOINTER_DEVICE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_PROPERTY { + pub logicalMin: INT32, + pub logicalMax: INT32, + pub physicalMin: INT32, + pub physicalMax: INT32, + pub unit: UINT32, + pub unitExponent: UINT32, + pub usagePageId: USHORT, + pub usageId: USHORT, +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(logicalMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(logicalMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(physicalMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(physicalMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(unit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unitExponent) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(unitExponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usagePageId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(usagePageId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usageId) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(usageId) + ) + ); +} +pub type POINTER_DEVICE_PROPERTY = tagPOINTER_DEVICE_PROPERTY; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_UNKNOWN: + tagPOINTER_DEVICE_CURSOR_TYPE = 0; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_TIP: + tagPOINTER_DEVICE_CURSOR_TYPE = 1; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_ERASER: + tagPOINTER_DEVICE_CURSOR_TYPE = 2; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_MAX: + tagPOINTER_DEVICE_CURSOR_TYPE = -1; +pub type tagPOINTER_DEVICE_CURSOR_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_DEVICE_CURSOR_TYPE as POINTER_DEVICE_CURSOR_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_CURSOR_INFO { + pub cursorId: UINT32, + pub cursor: POINTER_DEVICE_CURSOR_TYPE, +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_CURSOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_CURSOR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_CURSOR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cursorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_CURSOR_INFO), + "::", + stringify!(cursorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_CURSOR_INFO), + "::", + stringify!(cursor) + ) + ); +} +pub type POINTER_DEVICE_CURSOR_INFO = tagPOINTER_DEVICE_CURSOR_INFO; +extern "C" { + pub fn GetPointerDevices( + deviceCount: *mut UINT32, + pointerDevices: *mut POINTER_DEVICE_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerDevice(device: HANDLE, pointerDevice: *mut POINTER_DEVICE_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceProperties( + device: HANDLE, + propertyCount: *mut UINT32, + pointerProperties: *mut POINTER_DEVICE_PROPERTY, + ) -> BOOL; +} +extern "C" { + pub fn RegisterPointerDeviceNotifications(window: HWND, notifyRange: BOOL) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceRects( + device: HANDLE, + pointerDeviceRect: *mut RECT, + displayRect: *mut RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceCursors( + device: HANDLE, + cursorCount: *mut UINT32, + deviceCursors: *mut POINTER_DEVICE_CURSOR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetRawPointerDeviceData( + pointerId: UINT32, + historyCount: UINT32, + propertiesCount: UINT32, + pProperties: *mut POINTER_DEVICE_PROPERTY, + pValues: *mut LONG, + ) -> BOOL; +} +extern "C" { + pub fn ChangeWindowMessageFilter(message: UINT, dwFlag: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHANGEFILTERSTRUCT { + pub cbSize: DWORD, + pub ExtStatus: DWORD, +} +#[test] +fn bindgen_test_layout_tagCHANGEFILTERSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCHANGEFILTERSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCHANGEFILTERSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHANGEFILTERSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCHANGEFILTERSTRUCT), + "::", + stringify!(ExtStatus) + ) + ); +} +pub type CHANGEFILTERSTRUCT = tagCHANGEFILTERSTRUCT; +pub type PCHANGEFILTERSTRUCT = *mut tagCHANGEFILTERSTRUCT; +extern "C" { + pub fn ChangeWindowMessageFilterEx( + hwnd: HWND, + message: UINT, + action: DWORD, + pChangeFilterStruct: PCHANGEFILTERSTRUCT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HGESTUREINFO__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HGESTUREINFO__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HGESTUREINFO__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HGESTUREINFO__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HGESTUREINFO__), + "::", + stringify!(unused) + ) + ); +} +pub type HGESTUREINFO = *mut HGESTUREINFO__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTUREINFO { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub dwID: DWORD, + pub hwndTarget: HWND, + pub ptsLocation: POINTS, + pub dwInstanceID: DWORD, + pub dwSequenceID: DWORD, + pub ullArguments: ULONGLONG, + pub cbExtraArgs: UINT, +} +#[test] +fn bindgen_test_layout_tagGESTUREINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagGESTUREINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGESTUREINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptsLocation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(ptsLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstanceID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwInstanceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSequenceID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwSequenceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullArguments) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(ullArguments) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbExtraArgs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(cbExtraArgs) + ) + ); +} +pub type GESTUREINFO = tagGESTUREINFO; +pub type PGESTUREINFO = *mut tagGESTUREINFO; +pub type PCGESTUREINFO = *const GESTUREINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTURENOTIFYSTRUCT { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub hwndTarget: HWND, + pub ptsLocation: POINTS, + pub dwInstanceID: DWORD, +} +#[test] +fn bindgen_test_layout_tagGESTURENOTIFYSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagGESTURENOTIFYSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGESTURENOTIFYSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptsLocation) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(ptsLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstanceID) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(dwInstanceID) + ) + ); +} +pub type GESTURENOTIFYSTRUCT = tagGESTURENOTIFYSTRUCT; +pub type PGESTURENOTIFYSTRUCT = *mut tagGESTURENOTIFYSTRUCT; +extern "C" { + pub fn GetGestureInfo(hGestureInfo: HGESTUREINFO, pGestureInfo: PGESTUREINFO) -> BOOL; +} +extern "C" { + pub fn GetGestureExtraArgs( + hGestureInfo: HGESTUREINFO, + cbExtraArgs: UINT, + pExtraArgs: PBYTE, + ) -> BOOL; +} +extern "C" { + pub fn CloseGestureInfoHandle(hGestureInfo: HGESTUREINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTURECONFIG { + pub dwID: DWORD, + pub dwWant: DWORD, + pub dwBlock: DWORD, +} +#[test] +fn bindgen_test_layout_tagGESTURECONFIG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagGESTURECONFIG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagGESTURECONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWant) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwWant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBlock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwBlock) + ) + ); +} +pub type GESTURECONFIG = tagGESTURECONFIG; +pub type PGESTURECONFIG = *mut tagGESTURECONFIG; +extern "C" { + pub fn SetGestureConfig( + hwnd: HWND, + dwReserved: DWORD, + cIDs: UINT, + pGestureConfig: PGESTURECONFIG, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetGestureConfig( + hwnd: HWND, + dwReserved: DWORD, + dwFlags: DWORD, + pcIDs: PUINT, + pGestureConfig: PGESTURECONFIG, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonCreate(hWnd: HWND, pwszReason: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonQuery(hWnd: HWND, pwszBuff: LPWSTR, pcchBuff: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonDestroy(hWnd: HWND) -> BOOL; +} +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_UNAVAILABLE: tagINPUT_MESSAGE_DEVICE_TYPE = 0; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_KEYBOARD: tagINPUT_MESSAGE_DEVICE_TYPE = 1; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_MOUSE: tagINPUT_MESSAGE_DEVICE_TYPE = 2; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_TOUCH: tagINPUT_MESSAGE_DEVICE_TYPE = 4; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_PEN: tagINPUT_MESSAGE_DEVICE_TYPE = 8; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_TOUCHPAD: tagINPUT_MESSAGE_DEVICE_TYPE = 16; +pub type tagINPUT_MESSAGE_DEVICE_TYPE = ::std::os::raw::c_int; +pub use self::tagINPUT_MESSAGE_DEVICE_TYPE as INPUT_MESSAGE_DEVICE_TYPE; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_UNAVAILABLE: tagINPUT_MESSAGE_ORIGIN_ID = 0; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_HARDWARE: tagINPUT_MESSAGE_ORIGIN_ID = 1; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_INJECTED: tagINPUT_MESSAGE_ORIGIN_ID = 2; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_SYSTEM: tagINPUT_MESSAGE_ORIGIN_ID = 4; +pub type tagINPUT_MESSAGE_ORIGIN_ID = ::std::os::raw::c_int; +pub use self::tagINPUT_MESSAGE_ORIGIN_ID as INPUT_MESSAGE_ORIGIN_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_MESSAGE_SOURCE { + pub deviceType: INPUT_MESSAGE_DEVICE_TYPE, + pub originId: INPUT_MESSAGE_ORIGIN_ID, +} +#[test] +fn bindgen_test_layout_tagINPUT_MESSAGE_SOURCE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagINPUT_MESSAGE_SOURCE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_MESSAGE_SOURCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_MESSAGE_SOURCE), + "::", + stringify!(deviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).originId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_MESSAGE_SOURCE), + "::", + stringify!(originId) + ) + ); +} +pub type INPUT_MESSAGE_SOURCE = tagINPUT_MESSAGE_SOURCE; +extern "C" { + pub fn GetCurrentInputMessageSource(inputMessageSource: *mut INPUT_MESSAGE_SOURCE) -> BOOL; +} +extern "C" { + pub fn GetCIMSSM(inputMessageSource: *mut INPUT_MESSAGE_SOURCE) -> BOOL; +} +pub const tagAR_STATE_AR_ENABLED: tagAR_STATE = 0; +pub const tagAR_STATE_AR_DISABLED: tagAR_STATE = 1; +pub const tagAR_STATE_AR_SUPPRESSED: tagAR_STATE = 2; +pub const tagAR_STATE_AR_REMOTESESSION: tagAR_STATE = 4; +pub const tagAR_STATE_AR_MULTIMON: tagAR_STATE = 8; +pub const tagAR_STATE_AR_NOSENSOR: tagAR_STATE = 16; +pub const tagAR_STATE_AR_NOT_SUPPORTED: tagAR_STATE = 32; +pub const tagAR_STATE_AR_DOCKED: tagAR_STATE = 64; +pub const tagAR_STATE_AR_LAPTOP: tagAR_STATE = 128; +pub type tagAR_STATE = ::std::os::raw::c_int; +pub use self::tagAR_STATE as AR_STATE; +pub type PAR_STATE = *mut tagAR_STATE; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_NONE: ORIENTATION_PREFERENCE = 0; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_LANDSCAPE: ORIENTATION_PREFERENCE = 1; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_PORTRAIT: ORIENTATION_PREFERENCE = 2; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED: ORIENTATION_PREFERENCE = + 4; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED: ORIENTATION_PREFERENCE = + 8; +pub type ORIENTATION_PREFERENCE = ::std::os::raw::c_int; +extern "C" { + pub fn GetAutoRotationState(pState: PAR_STATE) -> BOOL; +} +extern "C" { + pub fn GetDisplayAutoRotationPreferences(pOrientation: *mut ORIENTATION_PREFERENCE) -> BOOL; +} +extern "C" { + pub fn GetDisplayAutoRotationPreferencesByProcessId( + dwProcessId: DWORD, + pOrientation: *mut ORIENTATION_PREFERENCE, + fRotateScreen: *mut BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetDisplayAutoRotationPreferences(orientation: ORIENTATION_PREFERENCE) -> BOOL; +} +extern "C" { + pub fn IsImmersiveProcess(hProcess: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetProcessRestrictionExemption(fEnableExemption: BOOL) -> BOOL; +} +extern "C" { + pub fn GetDateFormatA( + Locale: LCID, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCSTR, + lpDateStr: LPSTR, + cchDate: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDateFormatW( + Locale: LCID, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpDateStr: LPWSTR, + cchDate: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatA( + Locale: LCID, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCSTR, + lpTimeStr: LPSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatW( + Locale: LCID, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpTimeStr: LPWSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpTimeStr: LPWSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDateFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpDateStr: LPWSTR, + cchDate: ::std::os::raw::c_int, + lpCalendar: LPCWSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDurationFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpDuration: *const SYSTEMTIME, + ullDuration: ULONGLONG, + lpFormat: LPCWSTR, + lpDurationStr: LPWSTR, + cchDuration: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +pub type LGRPID = DWORD; +pub type LCTYPE = DWORD; +pub type CALTYPE = DWORD; +pub type CALID = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfo { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout__cpinfo() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfo> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfo>(), + 20usize, + concat!("Size of: ", stringify!(_cpinfo)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfo>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(LeadByte) + ) + ); +} +pub type CPINFO = _cpinfo; +pub type LPCPINFO = *mut _cpinfo; +pub type GEOTYPE = DWORD; +pub type GEOCLASS = DWORD; +pub type GEOID = LONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfoexA { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], + pub UnicodeDefaultChar: WCHAR, + pub CodePage: UINT, + pub CodePageName: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__cpinfoexA() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfoexA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfoexA>(), + 284usize, + concat!("Size of: ", stringify!(_cpinfoexA)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfoexA>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfoexA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(LeadByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeDefaultChar) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(UnicodeDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(CodePageName) + ) + ); +} +pub type CPINFOEXA = _cpinfoexA; +pub type LPCPINFOEXA = *mut _cpinfoexA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfoexW { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], + pub UnicodeDefaultChar: WCHAR, + pub CodePage: UINT, + pub CodePageName: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__cpinfoexW() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfoexW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfoexW>(), + 544usize, + concat!("Size of: ", stringify!(_cpinfoexW)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfoexW>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfoexW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(LeadByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeDefaultChar) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(UnicodeDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(CodePageName) + ) + ); +} +pub type CPINFOEXW = _cpinfoexW; +pub type LPCPINFOEXW = *mut _cpinfoexW; +pub type CPINFOEX = CPINFOEXA; +pub type LPCPINFOEX = LPCPINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _numberfmtA { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPSTR, + pub lpThousandSep: LPSTR, + pub NegativeOrder: UINT, +} +#[test] +fn bindgen_test_layout__numberfmtA() { + const UNINIT: ::std::mem::MaybeUninit<_numberfmtA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_numberfmtA>(), + 40usize, + concat!("Size of: ", stringify!(_numberfmtA)) + ); + assert_eq!( + ::std::mem::align_of::<_numberfmtA>(), + 8usize, + concat!("Alignment of ", stringify!(_numberfmtA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(NegativeOrder) + ) + ); +} +pub type NUMBERFMTA = _numberfmtA; +pub type LPNUMBERFMTA = *mut _numberfmtA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _numberfmtW { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPWSTR, + pub lpThousandSep: LPWSTR, + pub NegativeOrder: UINT, +} +#[test] +fn bindgen_test_layout__numberfmtW() { + const UNINIT: ::std::mem::MaybeUninit<_numberfmtW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_numberfmtW>(), + 40usize, + concat!("Size of: ", stringify!(_numberfmtW)) + ); + assert_eq!( + ::std::mem::align_of::<_numberfmtW>(), + 8usize, + concat!("Alignment of ", stringify!(_numberfmtW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(NegativeOrder) + ) + ); +} +pub type NUMBERFMTW = _numberfmtW; +pub type LPNUMBERFMTW = *mut _numberfmtW; +pub type NUMBERFMT = NUMBERFMTA; +pub type LPNUMBERFMT = LPNUMBERFMTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _currencyfmtA { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPSTR, + pub lpThousandSep: LPSTR, + pub NegativeOrder: UINT, + pub PositiveOrder: UINT, + pub lpCurrencySymbol: LPSTR, +} +#[test] +fn bindgen_test_layout__currencyfmtA() { + const UNINIT: ::std::mem::MaybeUninit<_currencyfmtA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_currencyfmtA>(), + 48usize, + concat!("Size of: ", stringify!(_currencyfmtA)) + ); + assert_eq!( + ::std::mem::align_of::<_currencyfmtA>(), + 8usize, + concat!("Alignment of ", stringify!(_currencyfmtA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(NegativeOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositiveOrder) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(PositiveOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCurrencySymbol) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpCurrencySymbol) + ) + ); +} +pub type CURRENCYFMTA = _currencyfmtA; +pub type LPCURRENCYFMTA = *mut _currencyfmtA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _currencyfmtW { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPWSTR, + pub lpThousandSep: LPWSTR, + pub NegativeOrder: UINT, + pub PositiveOrder: UINT, + pub lpCurrencySymbol: LPWSTR, +} +#[test] +fn bindgen_test_layout__currencyfmtW() { + const UNINIT: ::std::mem::MaybeUninit<_currencyfmtW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_currencyfmtW>(), + 48usize, + concat!("Size of: ", stringify!(_currencyfmtW)) + ); + assert_eq!( + ::std::mem::align_of::<_currencyfmtW>(), + 8usize, + concat!("Alignment of ", stringify!(_currencyfmtW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(NegativeOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositiveOrder) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(PositiveOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCurrencySymbol) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpCurrencySymbol) + ) + ); +} +pub type CURRENCYFMTW = _currencyfmtW; +pub type LPCURRENCYFMTW = *mut _currencyfmtW; +pub type CURRENCYFMT = CURRENCYFMTA; +pub type LPCURRENCYFMT = LPCURRENCYFMTA; +pub const SYSNLS_FUNCTION_COMPARE_STRING: SYSNLS_FUNCTION = 1; +pub type SYSNLS_FUNCTION = ::std::os::raw::c_int; +pub type NLS_FUNCTION = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _nlsversioninfo { + pub dwNLSVersionInfoSize: DWORD, + pub dwNLSVersion: DWORD, + pub dwDefinedVersion: DWORD, + pub dwEffectiveId: DWORD, + pub guidCustomVersion: GUID, +} +#[test] +fn bindgen_test_layout__nlsversioninfo() { + const UNINIT: ::std::mem::MaybeUninit<_nlsversioninfo> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_nlsversioninfo>(), + 32usize, + concat!("Size of: ", stringify!(_nlsversioninfo)) + ); + assert_eq!( + ::std::mem::align_of::<_nlsversioninfo>(), + 4usize, + concat!("Alignment of ", stringify!(_nlsversioninfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwNLSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwNLSVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefinedVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwDefinedVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEffectiveId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwEffectiveId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidCustomVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(guidCustomVersion) + ) + ); +} +pub type NLSVERSIONINFO = _nlsversioninfo; +pub type LPNLSVERSIONINFO = *mut _nlsversioninfo; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _nlsversioninfoex { + pub dwNLSVersionInfoSize: DWORD, + pub dwNLSVersion: DWORD, + pub dwDefinedVersion: DWORD, + pub dwEffectiveId: DWORD, + pub guidCustomVersion: GUID, +} +#[test] +fn bindgen_test_layout__nlsversioninfoex() { + const UNINIT: ::std::mem::MaybeUninit<_nlsversioninfoex> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_nlsversioninfoex>(), + 32usize, + concat!("Size of: ", stringify!(_nlsversioninfoex)) + ); + assert_eq!( + ::std::mem::align_of::<_nlsversioninfoex>(), + 4usize, + concat!("Alignment of ", stringify!(_nlsversioninfoex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwNLSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwNLSVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefinedVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwDefinedVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEffectiveId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwEffectiveId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidCustomVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(guidCustomVersion) + ) + ); +} +pub type NLSVERSIONINFOEX = _nlsversioninfoex; +pub type LPNLSVERSIONINFOEX = *mut _nlsversioninfoex; +pub const SYSGEOTYPE_GEO_NATION: SYSGEOTYPE = 1; +pub const SYSGEOTYPE_GEO_LATITUDE: SYSGEOTYPE = 2; +pub const SYSGEOTYPE_GEO_LONGITUDE: SYSGEOTYPE = 3; +pub const SYSGEOTYPE_GEO_ISO2: SYSGEOTYPE = 4; +pub const SYSGEOTYPE_GEO_ISO3: SYSGEOTYPE = 5; +pub const SYSGEOTYPE_GEO_RFC1766: SYSGEOTYPE = 6; +pub const SYSGEOTYPE_GEO_LCID: SYSGEOTYPE = 7; +pub const SYSGEOTYPE_GEO_FRIENDLYNAME: SYSGEOTYPE = 8; +pub const SYSGEOTYPE_GEO_OFFICIALNAME: SYSGEOTYPE = 9; +pub const SYSGEOTYPE_GEO_TIMEZONES: SYSGEOTYPE = 10; +pub const SYSGEOTYPE_GEO_OFFICIALLANGUAGES: SYSGEOTYPE = 11; +pub const SYSGEOTYPE_GEO_ISO_UN_NUMBER: SYSGEOTYPE = 12; +pub const SYSGEOTYPE_GEO_PARENT: SYSGEOTYPE = 13; +pub const SYSGEOTYPE_GEO_DIALINGCODE: SYSGEOTYPE = 14; +pub const SYSGEOTYPE_GEO_CURRENCYCODE: SYSGEOTYPE = 15; +pub const SYSGEOTYPE_GEO_CURRENCYSYMBOL: SYSGEOTYPE = 16; +pub const SYSGEOTYPE_GEO_NAME: SYSGEOTYPE = 17; +pub const SYSGEOTYPE_GEO_ID: SYSGEOTYPE = 18; +pub type SYSGEOTYPE = ::std::os::raw::c_int; +pub const SYSGEOCLASS_GEOCLASS_NATION: SYSGEOCLASS = 16; +pub const SYSGEOCLASS_GEOCLASS_REGION: SYSGEOCLASS = 14; +pub const SYSGEOCLASS_GEOCLASS_ALL: SYSGEOCLASS = 0; +pub type SYSGEOCLASS = ::std::os::raw::c_int; +pub type LOCALE_ENUMPROCA = ::std::option::Option BOOL>; +pub type LOCALE_ENUMPROCW = ::std::option::Option BOOL>; +pub const _NORM_FORM_NormalizationOther: _NORM_FORM = 0; +pub const _NORM_FORM_NormalizationC: _NORM_FORM = 1; +pub const _NORM_FORM_NormalizationD: _NORM_FORM = 2; +pub const _NORM_FORM_NormalizationKC: _NORM_FORM = 5; +pub const _NORM_FORM_NormalizationKD: _NORM_FORM = 6; +pub type _NORM_FORM = ::std::os::raw::c_int; +pub use self::_NORM_FORM as NORM_FORM; +pub type LANGUAGEGROUP_ENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + arg1: LGRPID, + arg2: LPSTR, + arg3: LPSTR, + arg4: DWORD, + arg5: LONG_PTR, + ) -> BOOL, +>; +pub type LANGGROUPLOCALE_ENUMPROCA = ::std::option::Option< + unsafe extern "C" fn(arg1: LGRPID, arg2: LCID, arg3: LPSTR, arg4: LONG_PTR) -> BOOL, +>; +pub type UILANGUAGE_ENUMPROCA = + ::std::option::Option BOOL>; +pub type CODEPAGE_ENUMPROCA = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCA = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCEXA = + ::std::option::Option BOOL>; +pub type TIMEFMT_ENUMPROCA = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCA = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCEXA = + ::std::option::Option BOOL>; +pub type LANGUAGEGROUP_ENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: LGRPID, + arg2: LPWSTR, + arg3: LPWSTR, + arg4: DWORD, + arg5: LONG_PTR, + ) -> BOOL, +>; +pub type LANGGROUPLOCALE_ENUMPROCW = ::std::option::Option< + unsafe extern "C" fn(arg1: LGRPID, arg2: LCID, arg3: LPWSTR, arg4: LONG_PTR) -> BOOL, +>; +pub type UILANGUAGE_ENUMPROCW = + ::std::option::Option BOOL>; +pub type CODEPAGE_ENUMPROCW = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCW = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCEXW = + ::std::option::Option BOOL>; +pub type TIMEFMT_ENUMPROCW = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCW = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCEXW = + ::std::option::Option BOOL>; +pub type GEO_ENUMPROC = ::std::option::Option BOOL>; +pub type GEO_ENUMNAMEPROC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILEMUIINFO { + pub dwSize: DWORD, + pub dwVersion: DWORD, + pub dwFileType: DWORD, + pub pChecksum: [BYTE; 16usize], + pub pServiceChecksum: [BYTE; 16usize], + pub dwLanguageNameOffset: DWORD, + pub dwTypeIDMainSize: DWORD, + pub dwTypeIDMainOffset: DWORD, + pub dwTypeNameMainOffset: DWORD, + pub dwTypeIDMUISize: DWORD, + pub dwTypeIDMUIOffset: DWORD, + pub dwTypeNameMUIOffset: DWORD, + pub abBuffer: [BYTE; 8usize], +} +#[test] +fn bindgen_test_layout__FILEMUIINFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILEMUIINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILEMUIINFO>(), + 80usize, + concat!("Size of: ", stringify!(_FILEMUIINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILEMUIINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILEMUIINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChecksum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(pChecksum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServiceChecksum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(pServiceChecksum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageNameOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwLanguageNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMainSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMainSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMainOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMainOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeNameMainOffset) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeNameMainOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMUISize) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMUISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMUIOffset) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMUIOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeNameMUIOffset) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeNameMUIOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abBuffer) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(abBuffer) + ) + ); +} +pub type FILEMUIINFO = _FILEMUIINFO; +pub type PFILEMUIINFO = *mut _FILEMUIINFO; +extern "C" { + pub fn CompareStringEx( + lpLocaleName: LPCWSTR, + dwCmpFlags: DWORD, + lpString1: LPCWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: LPCWCH, + cchCount2: ::std::os::raw::c_int, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CompareStringOrdinal( + lpString1: LPCWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: LPCWCH, + cchCount2: ::std::os::raw::c_int, + bIgnoreCase: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CompareStringW( + Locale: LCID, + dwCmpFlags: DWORD, + lpString1: PCNZWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: PCNZWCH, + cchCount2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FoldStringW( + dwMapFlags: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetStringTypeExW( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeW( + dwInfoType: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn MultiByteToWideChar( + CodePage: UINT, + dwFlags: DWORD, + lpMultiByteStr: LPCCH, + cbMultiByte: ::std::os::raw::c_int, + lpWideCharStr: LPWSTR, + cchWideChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WideCharToMultiByte( + CodePage: UINT, + dwFlags: DWORD, + lpWideCharStr: LPCWCH, + cchWideChar: ::std::os::raw::c_int, + lpMultiByteStr: LPSTR, + cbMultiByte: ::std::os::raw::c_int, + lpDefaultChar: LPCCH, + lpUsedDefaultChar: LPBOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsValidCodePage(CodePage: UINT) -> BOOL; +} +extern "C" { + pub fn GetACP() -> UINT; +} +extern "C" { + pub fn GetOEMCP() -> UINT; +} +extern "C" { + pub fn GetCPInfo(CodePage: UINT, lpCPInfo: LPCPINFO) -> BOOL; +} +extern "C" { + pub fn GetCPInfoExA(CodePage: UINT, dwFlags: DWORD, lpCPInfoEx: LPCPINFOEXA) -> BOOL; +} +extern "C" { + pub fn GetCPInfoExW(CodePage: UINT, dwFlags: DWORD, lpCPInfoEx: LPCPINFOEXW) -> BOOL; +} +extern "C" { + pub fn CompareStringA( + Locale: LCID, + dwCmpFlags: DWORD, + lpString1: PCNZCH, + cchCount1: ::std::os::raw::c_int, + lpString2: PCNZCH, + cchCount2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FindNLSString( + Locale: LCID, + dwFindNLSStringFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + pcchFound: LPINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringW( + Locale: LCID, + dwMapFlags: DWORD, + lpSrcStr: LPCWSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringA( + Locale: LCID, + dwMapFlags: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoW( + Locale: LCID, + LCType: LCTYPE, + lpLCData: LPWSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoA( + Locale: LCID, + LCType: LCTYPE, + lpLCData: LPSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetLocaleInfoA(Locale: LCID, LCType: LCTYPE, lpLCData: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetLocaleInfoW(Locale: LCID, LCType: LCTYPE, lpLCData: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetCalendarInfoA( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCalendarInfoW( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPWSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetCalendarInfoA( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn SetCalendarInfoW( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn LoadStringByReference( + Flags: DWORD, + Language: PCWSTR, + SourceString: PCWSTR, + Buffer: PWSTR, + cchBuffer: ULONG, + Directory: PCWSTR, + pcchBufferOut: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn IsDBCSLeadByte(TestChar: BYTE) -> BOOL; +} +extern "C" { + pub fn IsDBCSLeadByteEx(CodePage: UINT, TestChar: BYTE) -> BOOL; +} +extern "C" { + pub fn LocaleNameToLCID(lpName: LPCWSTR, dwFlags: DWORD) -> LCID; +} +extern "C" { + pub fn LCIDToLocaleName( + Locale: LCID, + lpName: LPWSTR, + cchName: ::std::os::raw::c_int, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDurationFormat( + Locale: LCID, + dwFlags: DWORD, + lpDuration: *const SYSTEMTIME, + ullDuration: ULONGLONG, + lpFormat: LPCWSTR, + lpDurationStr: LPWSTR, + cchDuration: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatA( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCSTR, + lpFormat: *const NUMBERFMTA, + lpNumberStr: LPSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatW( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const NUMBERFMTW, + lpNumberStr: LPWSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatA( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCSTR, + lpFormat: *const CURRENCYFMTA, + lpCurrencyStr: LPSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatW( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const CURRENCYFMTW, + lpCurrencyStr: LPWSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumCalendarInfoA( + lpCalInfoEnumProc: CALINFO_ENUMPROCA, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoW( + lpCalInfoEnumProc: CALINFO_ENUMPROCW, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoExA( + lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXA, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoExW( + lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXW, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumTimeFormatsA( + lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumTimeFormatsW( + lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsA( + lpDateFmtEnumProc: DATEFMT_ENUMPROCA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsW( + lpDateFmtEnumProc: DATEFMT_ENUMPROCW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsExA( + lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsExW( + lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn IsValidLanguageGroup(LanguageGroup: LGRPID, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNLSVersion( + Function: NLS_FUNCTION, + Locale: LCID, + lpVersionInformation: LPNLSVERSIONINFO, + ) -> BOOL; +} +extern "C" { + pub fn IsValidLocale(Locale: LCID, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetGeoInfoA( + Location: GEOID, + GeoType: GEOTYPE, + lpGeoData: LPSTR, + cchData: ::std::os::raw::c_int, + LangId: LANGID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetGeoInfoW( + Location: GEOID, + GeoType: GEOTYPE, + lpGeoData: LPWSTR, + cchData: ::std::os::raw::c_int, + LangId: LANGID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetGeoInfoEx( + location: PWSTR, + geoType: GEOTYPE, + geoData: PWSTR, + geoDataCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumSystemGeoID( + GeoClass: GEOCLASS, + ParentGeoId: GEOID, + lpGeoEnumProc: GEO_ENUMPROC, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemGeoNames( + geoClass: GEOCLASS, + geoEnumProc: GEO_ENUMNAMEPROC, + data: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn GetUserGeoID(GeoClass: GEOCLASS) -> GEOID; +} +extern "C" { + pub fn GetUserDefaultGeoName( + geoName: LPWSTR, + geoNameCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetUserGeoID(GeoId: GEOID) -> BOOL; +} +extern "C" { + pub fn SetUserGeoName(geoName: PWSTR) -> BOOL; +} +extern "C" { + pub fn ConvertDefaultLocale(Locale: LCID) -> LCID; +} +extern "C" { + pub fn GetSystemDefaultUILanguage() -> LANGID; +} +extern "C" { + pub fn GetThreadLocale() -> LCID; +} +extern "C" { + pub fn SetThreadLocale(Locale: LCID) -> BOOL; +} +extern "C" { + pub fn GetUserDefaultUILanguage() -> LANGID; +} +extern "C" { + pub fn GetUserDefaultLangID() -> LANGID; +} +extern "C" { + pub fn GetSystemDefaultLangID() -> LANGID; +} +extern "C" { + pub fn GetSystemDefaultLCID() -> LCID; +} +extern "C" { + pub fn GetUserDefaultLCID() -> LCID; +} +extern "C" { + pub fn SetThreadUILanguage(LangId: LANGID) -> LANGID; +} +extern "C" { + pub fn GetThreadUILanguage() -> LANGID; +} +extern "C" { + pub fn GetProcessPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessPreferredUILanguages( + dwFlags: DWORD, + pwszLanguagesBuffer: PCZZWSTR, + pulNumLanguages: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetUserPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadPreferredUILanguages( + dwFlags: DWORD, + pwszLanguagesBuffer: PCZZWSTR, + pulNumLanguages: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetFileMUIInfo( + dwFlags: DWORD, + pcwszFilePath: PCWSTR, + pFileMUIInfo: PFILEMUIINFO, + pcbFileMUIInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFileMUIPath( + dwFlags: DWORD, + pcwszFilePath: PCWSTR, + pwszLanguage: PWSTR, + pcchLanguage: PULONG, + pwszFileMUIPath: PWSTR, + pcchFileMUIPath: PULONG, + pululEnumerator: PULONGLONG, + ) -> BOOL; +} +extern "C" { + pub fn GetUILanguageInfo( + dwFlags: DWORD, + pwmszLanguage: PCZZWSTR, + pwszFallbackLanguages: PZZWSTR, + pcchFallbackLanguages: PDWORD, + pAttributes: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSAVEDUILANGUAGES__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSAVEDUILANGUAGES__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSAVEDUILANGUAGES__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSAVEDUILANGUAGES__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSAVEDUILANGUAGES__), + "::", + stringify!(unused) + ) + ); +} +pub type HSAVEDUILANGUAGES = *mut HSAVEDUILANGUAGES__; +extern "C" { + pub fn SetThreadPreferredUILanguages2( + flags: ULONG, + languages: PCZZWSTR, + numLanguagesSet: PULONG, + snapshot: *mut HSAVEDUILANGUAGES, + ) -> BOOL; +} +extern "C" { + pub fn RestoreThreadPreferredUILanguages(snapshot: HSAVEDUILANGUAGES); +} +extern "C" { + pub fn NotifyUILanguageChange( + dwFlags: DWORD, + pcwstrNewLanguage: PCWSTR, + pcwstrPreviousLanguage: PCWSTR, + dwReserved: DWORD, + pdwStatusRtrn: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeExA( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeA( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn FoldStringA( + dwMapFlags: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumSystemLocalesA(lpLocaleEnumProc: LOCALE_ENUMPROCA, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemLocalesW(lpLocaleEnumProc: LOCALE_ENUMPROCW, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemLanguageGroupsA( + lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCA, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemLanguageGroupsW( + lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCW, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumLanguageGroupLocalesA( + lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCA, + LanguageGroup: LGRPID, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumLanguageGroupLocalesW( + lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCW, + LanguageGroup: LGRPID, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumUILanguagesA( + lpUILanguageEnumProc: UILANGUAGE_ENUMPROCA, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumUILanguagesW( + lpUILanguageEnumProc: UILANGUAGE_ENUMPROCW, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemCodePagesA(lpCodePageEnumProc: CODEPAGE_ENUMPROCA, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemCodePagesW(lpCodePageEnumProc: CODEPAGE_ENUMPROCW, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn IdnToAscii( + dwFlags: DWORD, + lpUnicodeCharStr: LPCWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + lpASCIICharStr: LPWSTR, + cchASCIIChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IdnToUnicode( + dwFlags: DWORD, + lpASCIICharStr: LPCWSTR, + cchASCIIChar: ::std::os::raw::c_int, + lpUnicodeCharStr: LPWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IdnToNameprepUnicode( + dwFlags: DWORD, + lpUnicodeCharStr: LPCWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + lpNameprepCharStr: LPWSTR, + cchNameprepChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn NormalizeString( + NormForm: NORM_FORM, + lpSrcString: LPCWSTR, + cwSrcLength: ::std::os::raw::c_int, + lpDstString: LPWSTR, + cwDstLength: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsNormalizedString( + NormForm: NORM_FORM, + lpString: LPCWSTR, + cwLength: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn VerifyScripts( + dwFlags: DWORD, + lpLocaleScripts: LPCWSTR, + cchLocaleScripts: ::std::os::raw::c_int, + lpTestScripts: LPCWSTR, + cchTestScripts: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetStringScripts( + dwFlags: DWORD, + lpString: LPCWSTR, + cchString: ::std::os::raw::c_int, + lpScripts: LPWSTR, + cchScripts: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoEx( + lpLocaleName: LPCWSTR, + LCType: LCTYPE, + lpLCData: LPWSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCalendarInfoEx( + lpLocaleName: LPCWSTR, + Calendar: CALID, + lpReserved: LPCWSTR, + CalType: CALTYPE, + lpCalData: LPWSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const NUMBERFMTW, + lpNumberStr: LPWSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const CURRENCYFMTW, + lpCurrencyStr: LPWSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetUserDefaultLocaleName( + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemDefaultLocaleName( + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsNLSDefinedString( + Function: NLS_FUNCTION, + dwFlags: DWORD, + lpVersionInformation: LPNLSVERSIONINFO, + lpString: LPCWSTR, + cchStr: INT, + ) -> BOOL; +} +extern "C" { + pub fn GetNLSVersionEx( + function: NLS_FUNCTION, + lpLocaleName: LPCWSTR, + lpVersionInformation: LPNLSVERSIONINFOEX, + ) -> BOOL; +} +extern "C" { + pub fn IsValidNLSVersion( + function: NLS_FUNCTION, + lpLocaleName: LPCWSTR, + lpVersionInformation: LPNLSVERSIONINFOEX, + ) -> DWORD; +} +extern "C" { + pub fn FindNLSStringEx( + lpLocaleName: LPCWSTR, + dwFindNLSStringFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + pcchFound: LPINT, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + sortHandle: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringEx( + lpLocaleName: LPCWSTR, + dwMapFlags: DWORD, + lpSrcStr: LPCWSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + sortHandle: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsValidLocaleName(lpLocaleName: LPCWSTR) -> BOOL; +} +pub type CALINFO_ENUMPROCEXEX = ::std::option::Option< + unsafe extern "C" fn(arg1: LPWSTR, arg2: CALID, arg3: LPWSTR, arg4: LPARAM) -> BOOL, +>; +extern "C" { + pub fn EnumCalendarInfoExEx( + pCalInfoEnumProcExEx: CALINFO_ENUMPROCEXEX, + lpLocaleName: LPCWSTR, + Calendar: CALID, + lpReserved: LPCWSTR, + CalType: CALTYPE, + lParam: LPARAM, + ) -> BOOL; +} +pub type DATEFMT_ENUMPROCEXEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumDateFormatsExEx( + lpDateFmtEnumProcExEx: DATEFMT_ENUMPROCEXEX, + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lParam: LPARAM, + ) -> BOOL; +} +pub type TIMEFMT_ENUMPROCEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumTimeFormatsEx( + lpTimeFmtEnumProcEx: TIMEFMT_ENUMPROCEX, + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lParam: LPARAM, + ) -> BOOL; +} +pub type LOCALE_ENUMPROCEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumSystemLocalesEx( + lpLocaleEnumProcEx: LOCALE_ENUMPROCEX, + dwFlags: DWORD, + lParam: LPARAM, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ResolveLocaleName( + lpNameToResolve: LPCWSTR, + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COORD { + pub X: SHORT, + pub Y: SHORT, +} +#[test] +fn bindgen_test_layout__COORD() { + const UNINIT: ::std::mem::MaybeUninit<_COORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COORD>(), + 4usize, + concat!("Size of: ", stringify!(_COORD)) + ); + assert_eq!( + ::std::mem::align_of::<_COORD>(), + 2usize, + concat!("Alignment of ", stringify!(_COORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(_COORD), "::", stringify!(X)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Y) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(_COORD), "::", stringify!(Y)) + ); +} +pub type COORD = _COORD; +pub type PCOORD = *mut _COORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SMALL_RECT { + pub Left: SHORT, + pub Top: SHORT, + pub Right: SHORT, + pub Bottom: SHORT, +} +#[test] +fn bindgen_test_layout__SMALL_RECT() { + const UNINIT: ::std::mem::MaybeUninit<_SMALL_RECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SMALL_RECT>(), + 8usize, + concat!("Size of: ", stringify!(_SMALL_RECT)) + ); + assert_eq!( + ::std::mem::align_of::<_SMALL_RECT>(), + 2usize, + concat!("Alignment of ", stringify!(_SMALL_RECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Top) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Right) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bottom) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Bottom) + ) + ); +} +pub type SMALL_RECT = _SMALL_RECT; +pub type PSMALL_RECT = *mut _SMALL_RECT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _KEY_EVENT_RECORD { + pub bKeyDown: BOOL, + pub wRepeatCount: WORD, + pub wVirtualKeyCode: WORD, + pub wVirtualScanCode: WORD, + pub uChar: _KEY_EVENT_RECORD__bindgen_ty_1, + pub dwControlKeyState: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KEY_EVENT_RECORD__bindgen_ty_1 { + pub UnicodeChar: WCHAR, + pub AsciiChar: CHAR, +} +#[test] +fn bindgen_test_layout__KEY_EVENT_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_EVENT_RECORD__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_EVENT_RECORD__bindgen_ty_1>(), + 2usize, + concat!("Size of: ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_EVENT_RECORD__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), + "::", + stringify!(UnicodeChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsciiChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), + "::", + stringify!(AsciiChar) + ) + ); +} +#[test] +fn bindgen_test_layout__KEY_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_EVENT_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_KEY_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_KEY_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bKeyDown) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(bKeyDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRepeatCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wRepeatCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVirtualKeyCode) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wVirtualKeyCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVirtualScanCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wVirtualScanCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uChar) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(uChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(dwControlKeyState) + ) + ); +} +pub type KEY_EVENT_RECORD = _KEY_EVENT_RECORD; +pub type PKEY_EVENT_RECORD = *mut _KEY_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MOUSE_EVENT_RECORD { + pub dwMousePosition: COORD, + pub dwButtonState: DWORD, + pub dwControlKeyState: DWORD, + pub dwEventFlags: DWORD, +} +#[test] +fn bindgen_test_layout__MOUSE_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_MOUSE_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MOUSE_EVENT_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_MOUSE_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_MOUSE_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_MOUSE_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMousePosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwMousePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtonState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwButtonState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwControlKeyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwEventFlags) + ) + ); +} +pub type MOUSE_EVENT_RECORD = _MOUSE_EVENT_RECORD; +pub type PMOUSE_EVENT_RECORD = *mut _MOUSE_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WINDOW_BUFFER_SIZE_RECORD { + pub dwSize: COORD, +} +#[test] +fn bindgen_test_layout__WINDOW_BUFFER_SIZE_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_WINDOW_BUFFER_SIZE_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WINDOW_BUFFER_SIZE_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_WINDOW_BUFFER_SIZE_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_WINDOW_BUFFER_SIZE_RECORD>(), + 2usize, + concat!("Alignment of ", stringify!(_WINDOW_BUFFER_SIZE_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WINDOW_BUFFER_SIZE_RECORD), + "::", + stringify!(dwSize) + ) + ); +} +pub type WINDOW_BUFFER_SIZE_RECORD = _WINDOW_BUFFER_SIZE_RECORD; +pub type PWINDOW_BUFFER_SIZE_RECORD = *mut _WINDOW_BUFFER_SIZE_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MENU_EVENT_RECORD { + pub dwCommandId: UINT, +} +#[test] +fn bindgen_test_layout__MENU_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_MENU_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MENU_EVENT_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_MENU_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_MENU_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_MENU_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommandId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MENU_EVENT_RECORD), + "::", + stringify!(dwCommandId) + ) + ); +} +pub type MENU_EVENT_RECORD = _MENU_EVENT_RECORD; +pub type PMENU_EVENT_RECORD = *mut _MENU_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FOCUS_EVENT_RECORD { + pub bSetFocus: BOOL, +} +#[test] +fn bindgen_test_layout__FOCUS_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_FOCUS_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FOCUS_EVENT_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_FOCUS_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_FOCUS_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_FOCUS_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSetFocus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FOCUS_EVENT_RECORD), + "::", + stringify!(bSetFocus) + ) + ); +} +pub type FOCUS_EVENT_RECORD = _FOCUS_EVENT_RECORD; +pub type PFOCUS_EVENT_RECORD = *mut _FOCUS_EVENT_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _INPUT_RECORD { + pub EventType: WORD, + pub Event: _INPUT_RECORD__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _INPUT_RECORD__bindgen_ty_1 { + pub KeyEvent: KEY_EVENT_RECORD, + pub MouseEvent: MOUSE_EVENT_RECORD, + pub WindowBufferSizeEvent: WINDOW_BUFFER_SIZE_RECORD, + pub MenuEvent: MENU_EVENT_RECORD, + pub FocusEvent: FOCUS_EVENT_RECORD, +} +#[test] +fn bindgen_test_layout__INPUT_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_INPUT_RECORD__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INPUT_RECORD__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_INPUT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_INPUT_RECORD__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_INPUT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(KeyEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MouseEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(MouseEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WindowBufferSizeEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(WindowBufferSizeEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MenuEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(MenuEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FocusEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(FocusEvent) + ) + ); +} +#[test] +fn bindgen_test_layout__INPUT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_INPUT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INPUT_RECORD>(), + 20usize, + concat!("Size of: ", stringify!(_INPUT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_INPUT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_INPUT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD), + "::", + stringify!(EventType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Event) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD), + "::", + stringify!(Event) + ) + ); +} +pub type INPUT_RECORD = _INPUT_RECORD; +pub type PINPUT_RECORD = *mut _INPUT_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CHAR_INFO { + pub Char: _CHAR_INFO__bindgen_ty_1, + pub Attributes: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CHAR_INFO__bindgen_ty_1 { + pub UnicodeChar: WCHAR, + pub AsciiChar: CHAR, +} +#[test] +fn bindgen_test_layout__CHAR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CHAR_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHAR_INFO__bindgen_ty_1>(), + 2usize, + concat!("Size of: ", stringify!(_CHAR_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CHAR_INFO__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_CHAR_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO__bindgen_ty_1), + "::", + stringify!(UnicodeChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsciiChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO__bindgen_ty_1), + "::", + stringify!(AsciiChar) + ) + ); +} +#[test] +fn bindgen_test_layout__CHAR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CHAR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHAR_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_CHAR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CHAR_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_CHAR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Char) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO), + "::", + stringify!(Char) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO), + "::", + stringify!(Attributes) + ) + ); +} +pub type CHAR_INFO = _CHAR_INFO; +pub type PCHAR_INFO = *mut _CHAR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_FONT_INFO { + pub nFont: DWORD, + pub dwFontSize: COORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_FONT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_FONT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_FONT_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CONSOLE_FONT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_FONT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_FONT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFO), + "::", + stringify!(nFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFontSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFO), + "::", + stringify!(dwFontSize) + ) + ); +} +pub type CONSOLE_FONT_INFO = _CONSOLE_FONT_INFO; +pub type PCONSOLE_FONT_INFO = *mut _CONSOLE_FONT_INFO; +pub type HPCON = *mut ::std::os::raw::c_void; +extern "C" { + pub fn AllocConsole() -> BOOL; +} +extern "C" { + pub fn FreeConsole() -> BOOL; +} +extern "C" { + pub fn AttachConsole(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn GetConsoleCP() -> UINT; +} +extern "C" { + pub fn GetConsoleOutputCP() -> UINT; +} +extern "C" { + pub fn GetConsoleMode(hConsoleHandle: HANDLE, lpMode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleMode(hConsoleHandle: HANDLE, dwMode: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: LPDWORD) -> BOOL; +} +extern "C" { + pub fn ReadConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_READCONSOLE_CONTROL { + pub nLength: ULONG, + pub nInitialChars: ULONG, + pub dwCtrlWakeupMask: ULONG, + pub dwControlKeyState: ULONG, +} +#[test] +fn bindgen_test_layout__CONSOLE_READCONSOLE_CONTROL() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_READCONSOLE_CONTROL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_READCONSOLE_CONTROL>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_READCONSOLE_CONTROL)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_READCONSOLE_CONTROL>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_READCONSOLE_CONTROL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nInitialChars) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(nInitialChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCtrlWakeupMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(dwCtrlWakeupMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(dwControlKeyState) + ) + ); +} +pub type CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL; +pub type PCONSOLE_READCONSOLE_CONTROL = *mut _CONSOLE_READCONSOLE_CONTROL; +extern "C" { + pub fn ReadConsoleA( + hConsoleInput: HANDLE, + lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, + lpNumberOfCharsRead: LPDWORD, + pInputControl: PCONSOLE_READCONSOLE_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleW( + hConsoleInput: HANDLE, + lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, + lpNumberOfCharsRead: LPDWORD, + pInputControl: PCONSOLE_READCONSOLE_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleA( + hConsoleOutput: HANDLE, + lpBuffer: *const ::std::os::raw::c_void, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleW( + hConsoleOutput: HANDLE, + lpBuffer: *const ::std::os::raw::c_void, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, + lpReserved: LPVOID, + ) -> BOOL; +} +pub type PHANDLER_ROUTINE = ::std::option::Option BOOL>; +extern "C" { + pub fn SetConsoleCtrlHandler(HandlerRoutine: PHANDLER_ROUTINE, Add: BOOL) -> BOOL; +} +extern "C" { + pub fn CreatePseudoConsole( + size: COORD, + hInput: HANDLE, + hOutput: HANDLE, + dwFlags: DWORD, + phPC: *mut HPCON, + ) -> HRESULT; +} +extern "C" { + pub fn ResizePseudoConsole(hPC: HPCON, size: COORD) -> HRESULT; +} +extern "C" { + pub fn ClosePseudoConsole(hPC: HPCON); +} +extern "C" { + pub fn FillConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + cCharacter: CHAR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn FillConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + cCharacter: WCHAR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn FillConsoleOutputAttribute( + hConsoleOutput: HANDLE, + wAttribute: WORD, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GenerateConsoleCtrlEvent(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateConsoleScreenBuffer( + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: *const SECURITY_ATTRIBUTES, + dwFlags: DWORD, + lpScreenBufferData: LPVOID, + ) -> HANDLE; +} +extern "C" { + pub fn SetConsoleActiveScreenBuffer(hConsoleOutput: HANDLE) -> BOOL; +} +extern "C" { + pub fn FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetConsoleCP(wCodePageID: UINT) -> BOOL; +} +extern "C" { + pub fn SetConsoleOutputCP(wCodePageID: UINT) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_CURSOR_INFO { + pub dwSize: DWORD, + pub bVisible: BOOL, +} +#[test] +fn bindgen_test_layout__CONSOLE_CURSOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_CURSOR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_CURSOR_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CONSOLE_CURSOR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_CURSOR_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_CURSOR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_CURSOR_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVisible) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_CURSOR_INFO), + "::", + stringify!(bVisible) + ) + ); +} +pub type CONSOLE_CURSOR_INFO = _CONSOLE_CURSOR_INFO; +pub type PCONSOLE_CURSOR_INFO = *mut _CONSOLE_CURSOR_INFO; +extern "C" { + pub fn GetConsoleCursorInfo( + hConsoleOutput: HANDLE, + lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleCursorInfo( + hConsoleOutput: HANDLE, + lpConsoleCursorInfo: *const CONSOLE_CURSOR_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SCREEN_BUFFER_INFO { + pub dwSize: COORD, + pub dwCursorPosition: COORD, + pub wAttributes: WORD, + pub srWindow: SMALL_RECT, + pub dwMaximumWindowSize: COORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_SCREEN_BUFFER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SCREEN_BUFFER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SCREEN_BUFFER_INFO>(), + 22usize, + concat!("Size of: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SCREEN_BUFFER_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCursorPosition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwCursorPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wAttributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(wAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srWindow) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(srWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximumWindowSize) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwMaximumWindowSize) + ) + ); +} +pub type CONSOLE_SCREEN_BUFFER_INFO = _CONSOLE_SCREEN_BUFFER_INFO; +pub type PCONSOLE_SCREEN_BUFFER_INFO = *mut _CONSOLE_SCREEN_BUFFER_INFO; +extern "C" { + pub fn GetConsoleScreenBufferInfo( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SCREEN_BUFFER_INFOEX { + pub cbSize: ULONG, + pub dwSize: COORD, + pub dwCursorPosition: COORD, + pub wAttributes: WORD, + pub srWindow: SMALL_RECT, + pub dwMaximumWindowSize: COORD, + pub wPopupAttributes: WORD, + pub bFullscreenSupported: BOOL, + pub ColorTable: [COLORREF; 16usize], +} +#[test] +fn bindgen_test_layout__CONSOLE_SCREEN_BUFFER_INFOEX() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SCREEN_BUFFER_INFOEX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SCREEN_BUFFER_INFOEX>(), + 96usize, + concat!("Size of: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SCREEN_BUFFER_INFOEX>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCursorPosition) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwCursorPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(wAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srWindow) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(srWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximumWindowSize) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwMaximumWindowSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPopupAttributes) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(wPopupAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFullscreenSupported) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(bFullscreenSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ColorTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(ColorTable) + ) + ); +} +pub type CONSOLE_SCREEN_BUFFER_INFOEX = _CONSOLE_SCREEN_BUFFER_INFOEX; +pub type PCONSOLE_SCREEN_BUFFER_INFOEX = *mut _CONSOLE_SCREEN_BUFFER_INFOEX; +extern "C" { + pub fn GetConsoleScreenBufferInfoEx( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleScreenBufferInfoEx( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL; +} +extern "C" { + pub fn GetLargestConsoleWindowSize(hConsoleOutput: HANDLE) -> COORD; +} +extern "C" { + pub fn SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleWindowInfo( + hConsoleOutput: HANDLE, + bAbsolute: BOOL, + lpConsoleWindow: *const SMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + lpCharacter: LPCSTR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + lpCharacter: LPCWSTR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputAttribute( + hConsoleOutput: HANDLE, + lpAttribute: *const WORD, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + lpCharacter: LPSTR, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + lpCharacter: LPWSTR, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputAttribute( + hConsoleOutput: HANDLE, + lpAttribute: LPWORD, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfAttrsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: *const INPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: *const INPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ScrollConsoleScreenBufferA( + hConsoleOutput: HANDLE, + lpScrollRectangle: *const SMALL_RECT, + lpClipRectangle: *const SMALL_RECT, + dwDestinationOrigin: COORD, + lpFill: *const CHAR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn ScrollConsoleScreenBufferW( + hConsoleOutput: HANDLE, + lpScrollRectangle: *const SMALL_RECT, + lpClipRectangle: *const SMALL_RECT, + dwDestinationOrigin: COORD, + lpFill: *const CHAR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputA( + hConsoleOutput: HANDLE, + lpBuffer: *const CHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputW( + hConsoleOutput: HANDLE, + lpBuffer: *const CHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputA( + hConsoleOutput: HANDLE, + lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputW( + hConsoleOutput: HANDLE, + lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetConsoleTitleA(lpConsoleTitle: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleTitleW(lpConsoleTitle: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleOriginalTitleA(lpConsoleTitle: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleOriginalTitleW(lpConsoleTitle: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetNumberOfConsoleMouseButtons(lpNumberOfMouseButtons: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetConsoleFontSize(hConsoleOutput: HANDLE, nFont: DWORD) -> COORD; +} +extern "C" { + pub fn GetCurrentConsoleFont( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFont: PCONSOLE_FONT_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_FONT_INFOEX { + pub cbSize: ULONG, + pub nFont: DWORD, + pub dwFontSize: COORD, + pub FontFamily: UINT, + pub FontWeight: UINT, + pub FaceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout__CONSOLE_FONT_INFOEX() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_FONT_INFOEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_FONT_INFOEX>(), + 84usize, + concat!("Size of: ", stringify!(_CONSOLE_FONT_INFOEX)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_FONT_INFOEX>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_FONT_INFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFont) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(nFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFontSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(dwFontSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FontFamily) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FontFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FontWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FontWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaceName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FaceName) + ) + ); +} +pub type CONSOLE_FONT_INFOEX = _CONSOLE_FONT_INFOEX; +pub type PCONSOLE_FONT_INFOEX = *mut _CONSOLE_FONT_INFOEX; +extern "C" { + pub fn GetCurrentConsoleFontEx( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetCurrentConsoleFontEx( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SELECTION_INFO { + pub dwFlags: DWORD, + pub dwSelectionAnchor: COORD, + pub srSelection: SMALL_RECT, +} +#[test] +fn bindgen_test_layout__CONSOLE_SELECTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SELECTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SELECTION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_SELECTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SELECTION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_SELECTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSelectionAnchor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(dwSelectionAnchor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srSelection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(srSelection) + ) + ); +} +pub type CONSOLE_SELECTION_INFO = _CONSOLE_SELECTION_INFO; +pub type PCONSOLE_SELECTION_INFO = *mut _CONSOLE_SELECTION_INFO; +extern "C" { + pub fn GetConsoleSelectionInfo(lpConsoleSelectionInfo: PCONSOLE_SELECTION_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_HISTORY_INFO { + pub cbSize: UINT, + pub HistoryBufferSize: UINT, + pub NumberOfHistoryBuffers: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_HISTORY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_HISTORY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_HISTORY_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_HISTORY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_HISTORY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_HISTORY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HistoryBufferSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(HistoryBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfHistoryBuffers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(NumberOfHistoryBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CONSOLE_HISTORY_INFO = _CONSOLE_HISTORY_INFO; +pub type PCONSOLE_HISTORY_INFO = *mut _CONSOLE_HISTORY_INFO; +extern "C" { + pub fn GetConsoleHistoryInfo(lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO) -> BOOL; +} +extern "C" { + pub fn SetConsoleHistoryInfo(lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO) -> BOOL; +} +extern "C" { + pub fn GetConsoleDisplayMode(lpModeFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleDisplayMode( + hConsoleOutput: HANDLE, + dwFlags: DWORD, + lpNewScreenBufferDimensions: PCOORD, + ) -> BOOL; +} +extern "C" { + pub fn GetConsoleWindow() -> HWND; +} +extern "C" { + pub fn AddConsoleAliasA(Source: LPSTR, Target: LPSTR, ExeName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddConsoleAliasW(Source: LPWSTR, Target: LPWSTR, ExeName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetConsoleAliasA( + Source: LPSTR, + TargetBuffer: LPSTR, + TargetBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasW( + Source: LPWSTR, + TargetBuffer: LPWSTR, + TargetBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesLengthA(ExeName: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesLengthW(ExeName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesLengthA() -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesLengthW() -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesA( + AliasBuffer: LPSTR, + AliasBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesW( + AliasBuffer: LPWSTR, + AliasBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesA(ExeNameBuffer: LPSTR, ExeNameBufferLength: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesW(ExeNameBuffer: LPWSTR, ExeNameBufferLength: DWORD) -> DWORD; +} +extern "C" { + pub fn ExpungeConsoleCommandHistoryA(ExeName: LPSTR); +} +extern "C" { + pub fn ExpungeConsoleCommandHistoryW(ExeName: LPWSTR); +} +extern "C" { + pub fn SetConsoleNumberOfCommandsA(Number: DWORD, ExeName: LPSTR) -> BOOL; +} +extern "C" { + pub fn SetConsoleNumberOfCommandsW(Number: DWORD, ExeName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetConsoleCommandHistoryLengthA(ExeName: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryLengthW(ExeName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryA( + Commands: LPSTR, + CommandBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryW( + Commands: LPWSTR, + CommandBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleProcessList(lpdwProcessList: LPDWORD, dwProcessCount: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVS_FIXEDFILEINFO { + pub dwSignature: DWORD, + pub dwStrucVersion: DWORD, + pub dwFileVersionMS: DWORD, + pub dwFileVersionLS: DWORD, + pub dwProductVersionMS: DWORD, + pub dwProductVersionLS: DWORD, + pub dwFileFlagsMask: DWORD, + pub dwFileFlags: DWORD, + pub dwFileOS: DWORD, + pub dwFileType: DWORD, + pub dwFileSubtype: DWORD, + pub dwFileDateMS: DWORD, + pub dwFileDateLS: DWORD, +} +#[test] +fn bindgen_test_layout_tagVS_FIXEDFILEINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagVS_FIXEDFILEINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagVS_FIXEDFILEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStrucVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwStrucVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileVersionMS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileVersionLS) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductVersionMS) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwProductVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductVersionLS) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwProductVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlagsMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileFlagsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileOS) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileOS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSubtype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileSubtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileDateMS) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileDateMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileDateLS) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileDateLS) + ) + ); +} +pub type VS_FIXEDFILEINFO = tagVS_FIXEDFILEINFO; +extern "C" { + pub fn VerFindFileA( + uFlags: DWORD, + szFileName: LPCSTR, + szWinDir: LPCSTR, + szAppDir: LPCSTR, + szCurDir: LPSTR, + puCurDirLen: PUINT, + szDestDir: LPSTR, + puDestDirLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerFindFileW( + uFlags: DWORD, + szFileName: LPCWSTR, + szWinDir: LPCWSTR, + szAppDir: LPCWSTR, + szCurDir: LPWSTR, + puCurDirLen: PUINT, + szDestDir: LPWSTR, + puDestDirLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerInstallFileA( + uFlags: DWORD, + szSrcFileName: LPCSTR, + szDestFileName: LPCSTR, + szSrcDir: LPCSTR, + szDestDir: LPCSTR, + szCurDir: LPCSTR, + szTmpFile: LPSTR, + puTmpFileLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerInstallFileW( + uFlags: DWORD, + szSrcFileName: LPCWSTR, + szDestFileName: LPCWSTR, + szSrcDir: LPCWSTR, + szDestDir: LPCWSTR, + szCurDir: LPCWSTR, + szTmpFile: LPWSTR, + puTmpFileLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeA(lptstrFilename: LPCSTR, lpdwHandle: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeW(lptstrFilename: LPCWSTR, lpdwHandle: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoA( + lptstrFilename: LPCSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoW( + lptstrFilename: LPCWSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoSizeExA( + dwFlags: DWORD, + lpwstrFilename: LPCSTR, + lpdwHandle: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeExW( + dwFlags: DWORD, + lpwstrFilename: LPCWSTR, + lpdwHandle: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoExA( + dwFlags: DWORD, + lpwstrFilename: LPCSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoExW( + dwFlags: DWORD, + lpwstrFilename: LPCWSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn VerLanguageNameA(wLang: DWORD, szLang: LPSTR, cchLang: DWORD) -> DWORD; +} +extern "C" { + pub fn VerLanguageNameW(wLang: DWORD, szLang: LPWSTR, cchLang: DWORD) -> DWORD; +} +extern "C" { + pub fn VerQueryValueA( + pBlock: LPCVOID, + lpSubBlock: LPCSTR, + lplpBuffer: *mut LPVOID, + puLen: PUINT, + ) -> BOOL; +} +extern "C" { + pub fn VerQueryValueW( + pBlock: LPCVOID, + lpSubBlock: LPCWSTR, + lplpBuffer: *mut LPVOID, + puLen: PUINT, + ) -> BOOL; +} +pub type LSTATUS = LONG; +pub type REGSAM = ACCESS_MASK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct val_context { + pub valuelen: ::std::os::raw::c_int, + pub value_context: LPVOID, + pub val_buff_ptr: LPVOID, +} +#[test] +fn bindgen_test_layout_val_context() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(val_context)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(val_context)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).valuelen) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value_context) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val_buff_ptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(val_buff_ptr) + ) + ); +} +pub type PVALCONTEXT = *mut val_context; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pvalueA { + pub pv_valuename: LPSTR, + pub pv_valuelen: ::std::os::raw::c_int, + pub pv_value_context: LPVOID, + pub pv_type: DWORD, +} +#[test] +fn bindgen_test_layout_pvalueA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(pvalueA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pvalueA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_value_context) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_type) + ) + ); +} +pub type PVALUEA = pvalueA; +pub type PPVALUEA = *mut pvalueA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pvalueW { + pub pv_valuename: LPWSTR, + pub pv_valuelen: ::std::os::raw::c_int, + pub pv_value_context: LPVOID, + pub pv_type: DWORD, +} +#[test] +fn bindgen_test_layout_pvalueW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(pvalueW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pvalueW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_value_context) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_type) + ) + ); +} +pub type PVALUEW = pvalueW; +pub type PPVALUEW = *mut pvalueW; +pub type PVALUE = PVALUEA; +pub type PPVALUE = PPVALUEA; +pub type PQUERYHANDLER = ::std::option::Option< + unsafe extern "C" fn( + arg1: LPVOID, + arg2: PVALCONTEXT, + arg3: DWORD, + arg4: LPVOID, + arg5: *mut DWORD, + arg6: DWORD, + ) -> DWORD, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct provider_info { + pub pi_R0_1val: PQUERYHANDLER, + pub pi_R0_allvals: PQUERYHANDLER, + pub pi_R3_1val: PQUERYHANDLER, + pub pi_R3_allvals: PQUERYHANDLER, + pub pi_flags: DWORD, + pub pi_key_context: LPVOID, +} +#[test] +fn bindgen_test_layout_provider_info() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(provider_info)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(provider_info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R0_1val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R0_1val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R0_allvals) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R0_allvals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R3_1val) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R3_1val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R3_allvals) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R3_allvals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_key_context) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_key_context) + ) + ); +} +pub type REG_PROVIDER = provider_info; +pub type PPROVIDER = *mut provider_info; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct value_entA { + pub ve_valuename: LPSTR, + pub ve_valuelen: DWORD, + pub ve_valueptr: DWORD_PTR, + pub ve_type: DWORD, +} +#[test] +fn bindgen_test_layout_value_entA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(value_entA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(value_entA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valueptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valueptr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_type) + ) + ); +} +pub type VALENTA = value_entA; +pub type PVALENTA = *mut value_entA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct value_entW { + pub ve_valuename: LPWSTR, + pub ve_valuelen: DWORD, + pub ve_valueptr: DWORD_PTR, + pub ve_type: DWORD, +} +#[test] +fn bindgen_test_layout_value_entW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(value_entW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(value_entW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valueptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valueptr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_type) + ) + ); +} +pub type VALENTW = value_entW; +pub type PVALENTW = *mut value_entW; +pub type VALENT = VALENTA; +pub type PVALENT = PVALENTA; +extern "C" { + pub fn RegCloseKey(hKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOverridePredefKey(hKey: HKEY, hNewHKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenUserClassesRoot( + hToken: HANDLE, + dwOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenCurrentUser(samDesired: REGSAM, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegDisablePredefinedCache() -> LSTATUS; +} +extern "C" { + pub fn RegDisablePredefinedCacheEx() -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryA(lpMachineName: LPCSTR, hKey: HKEY, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryW(lpMachineName: LPCWSTR, hKey: HKEY, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryExA( + lpMachineName: LPCSTR, + hKey: HKEY, + Flags: ULONG, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryExW( + lpMachineName: LPCWSTR, + hKey: HKEY, + Flags: ULONG, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyA(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyW(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + Reserved: DWORD, + lpClass: LPSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + Reserved: DWORD, + lpClass: LPWSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + Reserved: DWORD, + lpClass: LPSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + Reserved: DWORD, + lpClass: LPWSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + samDesired: REGSAM, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + samDesired: REGSAM, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + samDesired: REGSAM, + Reserved: DWORD, + hTransaction: HANDLE, + pExtendedParameter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + samDesired: REGSAM, + Reserved: DWORD, + hTransaction: HANDLE, + pExtendedParameter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDisableReflectionKey(hBase: HKEY) -> LONG; +} +extern "C" { + pub fn RegEnableReflectionKey(hBase: HKEY) -> LONG; +} +extern "C" { + pub fn RegQueryReflectionKey(hBase: HKEY, bIsReflectionDisabled: *mut BOOL) -> LONG; +} +extern "C" { + pub fn RegDeleteValueA(hKey: HKEY, lpValueName: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteValueW(hKey: HKEY, lpValueName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyA(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, cchName: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyW(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, cchName: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyExA( + hKey: HKEY, + dwIndex: DWORD, + lpName: LPSTR, + lpcchName: LPDWORD, + lpReserved: LPDWORD, + lpClass: LPSTR, + lpcchClass: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyExW( + hKey: HKEY, + dwIndex: DWORD, + lpName: LPWSTR, + lpcchName: LPDWORD, + lpReserved: LPDWORD, + lpClass: LPWSTR, + lpcchClass: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumValueA( + hKey: HKEY, + dwIndex: DWORD, + lpValueName: LPSTR, + lpcchValueName: LPDWORD, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumValueW( + hKey: HKEY, + dwIndex: DWORD, + lpValueName: LPWSTR, + lpcchValueName: LPDWORD, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegFlushKey(hKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegGetKeySecurity( + hKey: HKEY, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpcbSecurityDescriptor: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadKeyA(hKey: HKEY, lpSubKey: LPCSTR, lpFile: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegLoadKeyW(hKey: HKEY, lpSubKey: LPCWSTR, lpFile: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegNotifyChangeKeyValue( + hKey: HKEY, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + hEvent: HANDLE, + fAsynchronous: BOOL, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyA(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyW(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryInfoKeyA( + hKey: HKEY, + lpClass: LPSTR, + lpcchClass: LPDWORD, + lpReserved: LPDWORD, + lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, + lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, + lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryInfoKeyW( + hKey: HKEY, + lpClass: LPWSTR, + lpcchClass: LPDWORD, + lpReserved: LPDWORD, + lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, + lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, + lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueA(hKey: HKEY, lpSubKey: LPCSTR, lpData: LPSTR, lpcbData: PLONG) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpData: LPWSTR, + lpcbData: PLONG, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryMultipleValuesA( + hKey: HKEY, + val_list: PVALENTA, + num_vals: DWORD, + lpValueBuf: LPSTR, + ldwTotsize: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryMultipleValuesW( + hKey: HKEY, + val_list: PVALENTW, + num_vals: DWORD, + lpValueBuf: LPWSTR, + ldwTotsize: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueExA( + hKey: HKEY, + lpValueName: LPCSTR, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueExW( + hKey: HKEY, + lpValueName: LPCWSTR, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegReplaceKeyA( + hKey: HKEY, + lpSubKey: LPCSTR, + lpNewFile: LPCSTR, + lpOldFile: LPCSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegReplaceKeyW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpNewFile: LPCWSTR, + lpOldFile: LPCWSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegRestoreKeyA(hKey: HKEY, lpFile: LPCSTR, dwFlags: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegRestoreKeyW(hKey: HKEY, lpFile: LPCWSTR, dwFlags: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegRenameKey(hKey: HKEY, lpSubKeyName: LPCWSTR, lpNewKeyName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyA( + hKey: HKEY, + lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyW( + hKey: HKEY, + lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeySecurity( + hKey: HKEY, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueA( + hKey: HKEY, + lpSubKey: LPCSTR, + dwType: DWORD, + lpData: LPCSTR, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + dwType: DWORD, + lpData: LPCWSTR, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueExA( + hKey: HKEY, + lpValueName: LPCSTR, + Reserved: DWORD, + dwType: DWORD, + lpData: *const BYTE, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueExW( + hKey: HKEY, + lpValueName: LPCWSTR, + Reserved: DWORD, + dwType: DWORD, + lpData: *const BYTE, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegUnLoadKeyA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegUnLoadKeyW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyValueA(hKey: HKEY, lpSubKey: LPCSTR, lpValueName: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyValueW(hKey: HKEY, lpSubKey: LPCWSTR, lpValueName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeyValueA( + hKey: HKEY, + lpSubKey: LPCSTR, + lpValueName: LPCSTR, + dwType: DWORD, + lpData: LPCVOID, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeyValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpValueName: LPCWSTR, + dwType: DWORD, + lpData: LPCVOID, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteTreeA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteTreeW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegCopyTreeA(hKeySrc: HKEY, lpSubKey: LPCSTR, hKeyDest: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegGetValueA( + hkey: HKEY, + lpSubKey: LPCSTR, + lpValue: LPCSTR, + dwFlags: DWORD, + pdwType: LPDWORD, + pvData: PVOID, + pcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegGetValueW( + hkey: HKEY, + lpSubKey: LPCWSTR, + lpValue: LPCWSTR, + dwFlags: DWORD, + pdwType: LPDWORD, + pvData: PVOID, + pcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCopyTreeW(hKeySrc: HKEY, lpSubKey: LPCWSTR, hKeyDest: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegLoadMUIStringA( + hKey: HKEY, + pszValue: LPCSTR, + pszOutBuf: LPSTR, + cbOutBuf: DWORD, + pcbData: LPDWORD, + Flags: DWORD, + pszDirectory: LPCSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadMUIStringW( + hKey: HKEY, + pszValue: LPCWSTR, + pszOutBuf: LPWSTR, + cbOutBuf: DWORD, + pcbData: LPDWORD, + Flags: DWORD, + pszDirectory: LPCWSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadAppKeyA( + lpFile: LPCSTR, + phkResult: PHKEY, + samDesired: REGSAM, + dwOptions: DWORD, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadAppKeyW( + lpFile: LPCWSTR, + phkResult: PHKEY, + samDesired: REGSAM, + dwOptions: DWORD, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn InitiateSystemShutdownA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AbortSystemShutdownA(lpMachineName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AbortSystemShutdownW(lpMachineName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownExA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + dwReason: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownExW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + dwReason: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitiateShutdownA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwGracePeriod: DWORD, + dwShutdownFlags: DWORD, + dwReason: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn InitiateShutdownW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwGracePeriod: DWORD, + dwShutdownFlags: DWORD, + dwReason: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CheckForHiberboot(pHiberboot: PBOOLEAN, bClearFlag: BOOLEAN) -> DWORD; +} +extern "C" { + pub fn RegSaveKeyExA( + hKey: HKEY, + lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + Flags: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyExW( + hKey: HKEY, + lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + Flags: DWORD, + ) -> LSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETRESOURCEA { + pub dwScope: DWORD, + pub dwType: DWORD, + pub dwDisplayType: DWORD, + pub dwUsage: DWORD, + pub lpLocalName: LPSTR, + pub lpRemoteName: LPSTR, + pub lpComment: LPSTR, + pub lpProvider: LPSTR, +} +#[test] +fn bindgen_test_layout__NETRESOURCEA() { + const UNINIT: ::std::mem::MaybeUninit<_NETRESOURCEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETRESOURCEA>(), + 48usize, + concat!("Size of: ", stringify!(_NETRESOURCEA)) + ); + assert_eq!( + ::std::mem::align_of::<_NETRESOURCEA>(), + 8usize, + concat!("Alignment of ", stringify!(_NETRESOURCEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScope) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwScope) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDisplayType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwDisplayType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProvider) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpProvider) + ) + ); +} +pub type NETRESOURCEA = _NETRESOURCEA; +pub type LPNETRESOURCEA = *mut _NETRESOURCEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETRESOURCEW { + pub dwScope: DWORD, + pub dwType: DWORD, + pub dwDisplayType: DWORD, + pub dwUsage: DWORD, + pub lpLocalName: LPWSTR, + pub lpRemoteName: LPWSTR, + pub lpComment: LPWSTR, + pub lpProvider: LPWSTR, +} +#[test] +fn bindgen_test_layout__NETRESOURCEW() { + const UNINIT: ::std::mem::MaybeUninit<_NETRESOURCEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETRESOURCEW>(), + 48usize, + concat!("Size of: ", stringify!(_NETRESOURCEW)) + ); + assert_eq!( + ::std::mem::align_of::<_NETRESOURCEW>(), + 8usize, + concat!("Alignment of ", stringify!(_NETRESOURCEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScope) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwScope) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDisplayType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwDisplayType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProvider) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpProvider) + ) + ); +} +pub type NETRESOURCEW = _NETRESOURCEW; +pub type LPNETRESOURCEW = *mut _NETRESOURCEW; +pub type NETRESOURCE = NETRESOURCEA; +pub type LPNETRESOURCE = LPNETRESOURCEA; +extern "C" { + pub fn WNetAddConnectionA( + lpRemoteName: LPCSTR, + lpPassword: LPCSTR, + lpLocalName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnectionW( + lpRemoteName: LPCWSTR, + lpPassword: LPCWSTR, + lpLocalName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection2A( + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserName: LPCSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection2W( + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserName: LPCWSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection3A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserName: LPCSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection3W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserName: LPCWSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection4A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection4W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnectionA(lpName: LPCSTR, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnectionW(lpName: LPCWSTR, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnection2A(lpName: LPCSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnection2W(lpName: LPCWSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetGetConnectionA( + lpLocalName: LPCSTR, + lpRemoteName: LPSTR, + lpnLength: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetConnectionW( + lpLocalName: LPCWSTR, + lpRemoteName: LPWSTR, + lpnLength: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetRestoreSingleConnectionW(hwndParent: HWND, lpDevice: LPCWSTR, fUseUI: BOOL) + -> DWORD; +} +extern "C" { + pub fn WNetUseConnectionA( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserId: LPCSTR, + dwFlags: DWORD, + lpAccessName: LPSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnectionW( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserId: LPCWSTR, + dwFlags: DWORD, + lpAccessName: LPWSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnection4A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + lpAccessName: LPSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnection4W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + lpAccessName: LPWSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetConnectionDialog(hwnd: HWND, dwType: DWORD) -> DWORD; +} +extern "C" { + pub fn WNetDisconnectDialog(hwnd: HWND, dwType: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONNECTDLGSTRUCTA { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpConnRes: LPNETRESOURCEA, + pub dwFlags: DWORD, + pub dwDevNum: DWORD, +} +#[test] +fn bindgen_test_layout__CONNECTDLGSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_CONNECTDLGSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONNECTDLGSTRUCTA>(), + 32usize, + concat!("Size of: ", stringify!(_CONNECTDLGSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_CONNECTDLGSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_CONNECTDLGSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnRes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(lpConnRes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(dwDevNum) + ) + ); +} +pub type CONNECTDLGSTRUCTA = _CONNECTDLGSTRUCTA; +pub type LPCONNECTDLGSTRUCTA = *mut _CONNECTDLGSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONNECTDLGSTRUCTW { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpConnRes: LPNETRESOURCEW, + pub dwFlags: DWORD, + pub dwDevNum: DWORD, +} +#[test] +fn bindgen_test_layout__CONNECTDLGSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_CONNECTDLGSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONNECTDLGSTRUCTW>(), + 32usize, + concat!("Size of: ", stringify!(_CONNECTDLGSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_CONNECTDLGSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_CONNECTDLGSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnRes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(lpConnRes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(dwDevNum) + ) + ); +} +pub type CONNECTDLGSTRUCTW = _CONNECTDLGSTRUCTW; +pub type LPCONNECTDLGSTRUCTW = *mut _CONNECTDLGSTRUCTW; +pub type CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA; +pub type LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA; +extern "C" { + pub fn WNetConnectionDialog1A(lpConnDlgStruct: LPCONNECTDLGSTRUCTA) -> DWORD; +} +extern "C" { + pub fn WNetConnectionDialog1W(lpConnDlgStruct: LPCONNECTDLGSTRUCTW) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISCDLGSTRUCTA { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpLocalName: LPSTR, + pub lpRemoteName: LPSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DISCDLGSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_DISCDLGSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISCDLGSTRUCTA>(), + 40usize, + concat!("Size of: ", stringify!(_DISCDLGSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_DISCDLGSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_DISCDLGSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DISCDLGSTRUCTA = _DISCDLGSTRUCTA; +pub type LPDISCDLGSTRUCTA = *mut _DISCDLGSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISCDLGSTRUCTW { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpLocalName: LPWSTR, + pub lpRemoteName: LPWSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DISCDLGSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_DISCDLGSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISCDLGSTRUCTW>(), + 40usize, + concat!("Size of: ", stringify!(_DISCDLGSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_DISCDLGSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_DISCDLGSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DISCDLGSTRUCTW = _DISCDLGSTRUCTW; +pub type LPDISCDLGSTRUCTW = *mut _DISCDLGSTRUCTW; +pub type DISCDLGSTRUCT = DISCDLGSTRUCTA; +pub type LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA; +extern "C" { + pub fn WNetDisconnectDialog1A(lpConnDlgStruct: LPDISCDLGSTRUCTA) -> DWORD; +} +extern "C" { + pub fn WNetDisconnectDialog1W(lpConnDlgStruct: LPDISCDLGSTRUCTW) -> DWORD; +} +extern "C" { + pub fn WNetOpenEnumA( + dwScope: DWORD, + dwType: DWORD, + dwUsage: DWORD, + lpNetResource: LPNETRESOURCEA, + lphEnum: LPHANDLE, + ) -> DWORD; +} +extern "C" { + pub fn WNetOpenEnumW( + dwScope: DWORD, + dwType: DWORD, + dwUsage: DWORD, + lpNetResource: LPNETRESOURCEW, + lphEnum: LPHANDLE, + ) -> DWORD; +} +extern "C" { + pub fn WNetEnumResourceA( + hEnum: HANDLE, + lpcCount: LPDWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetEnumResourceW( + hEnum: HANDLE, + lpcCount: LPDWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetCloseEnum(hEnum: HANDLE) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceParentA( + lpNetResource: LPNETRESOURCEA, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceParentW( + lpNetResource: LPNETRESOURCEW, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceInformationA( + lpNetResource: LPNETRESOURCEA, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + lplpSystem: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceInformationW( + lpNetResource: LPNETRESOURCEW, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + lplpSystem: *mut LPWSTR, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNIVERSAL_NAME_INFOA { + pub lpUniversalName: LPSTR, +} +#[test] +fn bindgen_test_layout__UNIVERSAL_NAME_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_UNIVERSAL_NAME_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNIVERSAL_NAME_INFOA>(), + 8usize, + concat!("Size of: ", stringify!(_UNIVERSAL_NAME_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_UNIVERSAL_NAME_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_UNIVERSAL_NAME_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNIVERSAL_NAME_INFOA), + "::", + stringify!(lpUniversalName) + ) + ); +} +pub type UNIVERSAL_NAME_INFOA = _UNIVERSAL_NAME_INFOA; +pub type LPUNIVERSAL_NAME_INFOA = *mut _UNIVERSAL_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNIVERSAL_NAME_INFOW { + pub lpUniversalName: LPWSTR, +} +#[test] +fn bindgen_test_layout__UNIVERSAL_NAME_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_UNIVERSAL_NAME_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNIVERSAL_NAME_INFOW>(), + 8usize, + concat!("Size of: ", stringify!(_UNIVERSAL_NAME_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_UNIVERSAL_NAME_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_UNIVERSAL_NAME_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNIVERSAL_NAME_INFOW), + "::", + stringify!(lpUniversalName) + ) + ); +} +pub type UNIVERSAL_NAME_INFOW = _UNIVERSAL_NAME_INFOW; +pub type LPUNIVERSAL_NAME_INFOW = *mut _UNIVERSAL_NAME_INFOW; +pub type UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA; +pub type LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOTE_NAME_INFOA { + pub lpUniversalName: LPSTR, + pub lpConnectionName: LPSTR, + pub lpRemainingPath: LPSTR, +} +#[test] +fn bindgen_test_layout__REMOTE_NAME_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_REMOTE_NAME_INFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOTE_NAME_INFOA>(), + 24usize, + concat!("Size of: ", stringify!(_REMOTE_NAME_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_REMOTE_NAME_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_REMOTE_NAME_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpUniversalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnectionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpConnectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemainingPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpRemainingPath) + ) + ); +} +pub type REMOTE_NAME_INFOA = _REMOTE_NAME_INFOA; +pub type LPREMOTE_NAME_INFOA = *mut _REMOTE_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOTE_NAME_INFOW { + pub lpUniversalName: LPWSTR, + pub lpConnectionName: LPWSTR, + pub lpRemainingPath: LPWSTR, +} +#[test] +fn bindgen_test_layout__REMOTE_NAME_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_REMOTE_NAME_INFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOTE_NAME_INFOW>(), + 24usize, + concat!("Size of: ", stringify!(_REMOTE_NAME_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_REMOTE_NAME_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_REMOTE_NAME_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpUniversalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnectionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpConnectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemainingPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpRemainingPath) + ) + ); +} +pub type REMOTE_NAME_INFOW = _REMOTE_NAME_INFOW; +pub type LPREMOTE_NAME_INFOW = *mut _REMOTE_NAME_INFOW; +pub type REMOTE_NAME_INFO = REMOTE_NAME_INFOA; +pub type LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA; +extern "C" { + pub fn WNetGetUniversalNameA( + lpLocalPath: LPCSTR, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetUniversalNameW( + lpLocalPath: LPCWSTR, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetUserA(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD) -> DWORD; +} +extern "C" { + pub fn WNetGetUserW(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD) -> DWORD; +} +extern "C" { + pub fn WNetGetProviderNameA( + dwNetType: DWORD, + lpProviderName: LPSTR, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetProviderNameW( + dwNetType: DWORD, + lpProviderName: LPWSTR, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETINFOSTRUCT { + pub cbStructure: DWORD, + pub dwProviderVersion: DWORD, + pub dwStatus: DWORD, + pub dwCharacteristics: DWORD, + pub dwHandle: ULONG_PTR, + pub wNetType: WORD, + pub dwPrinters: DWORD, + pub dwDrives: DWORD, +} +#[test] +fn bindgen_test_layout__NETINFOSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_NETINFOSTRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETINFOSTRUCT>(), + 40usize, + concat!("Size of: ", stringify!(_NETINFOSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_NETINFOSTRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_NETINFOSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwProviderVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCharacteristics) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNetType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(wNetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinters) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwPrinters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDrives) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwDrives) + ) + ); +} +pub type NETINFOSTRUCT = _NETINFOSTRUCT; +pub type LPNETINFOSTRUCT = *mut _NETINFOSTRUCT; +extern "C" { + pub fn WNetGetNetworkInformationA( + lpProvider: LPCSTR, + lpNetInfoStruct: LPNETINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetNetworkInformationW( + lpProvider: LPCWSTR, + lpNetInfoStruct: LPNETINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetLastErrorA( + lpError: LPDWORD, + lpErrorBuf: LPSTR, + nErrorBufSize: DWORD, + lpNameBuf: LPSTR, + nNameBufSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetLastErrorW( + lpError: LPDWORD, + lpErrorBuf: LPWSTR, + nErrorBufSize: DWORD, + lpNameBuf: LPWSTR, + nNameBufSize: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETCONNECTINFOSTRUCT { + pub cbStructure: DWORD, + pub dwFlags: DWORD, + pub dwSpeed: DWORD, + pub dwDelay: DWORD, + pub dwOptDataSize: DWORD, +} +#[test] +fn bindgen_test_layout__NETCONNECTINFOSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_NETCONNECTINFOSTRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETCONNECTINFOSTRUCT>(), + 20usize, + concat!("Size of: ", stringify!(_NETCONNECTINFOSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_NETCONNECTINFOSTRUCT>(), + 4usize, + concat!("Alignment of ", stringify!(_NETCONNECTINFOSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDelay) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwDelay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptDataSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwOptDataSize) + ) + ); +} +pub type NETCONNECTINFOSTRUCT = _NETCONNECTINFOSTRUCT; +pub type LPNETCONNECTINFOSTRUCT = *mut _NETCONNECTINFOSTRUCT; +extern "C" { + pub fn MultinetGetConnectionPerformanceA( + lpNetResource: LPNETRESOURCEA, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn MultinetGetConnectionPerformanceW( + lpNetResource: LPNETRESOURCEW, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, + ) -> DWORD; +} +#[repr(C)] +#[repr(align(2))] +#[derive(Debug, Copy, Clone)] +pub struct DDEACK { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout_DDEACK() { + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(DDEACK)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEACK)) + ); +} +impl DDEACK { + #[inline] + pub fn bAppReturnCode(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } + } + #[inline] + pub fn set_bAppReturnCode(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 6u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 6u8, val as u64) + } + } + #[inline] + pub fn fBusy(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fBusy(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAck(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAck(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + bAppReturnCode: ::std::os::raw::c_ushort, + reserved: ::std::os::raw::c_ushort, + fBusy: ::std::os::raw::c_ushort, + fAck: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let bAppReturnCode: u16 = unsafe { ::std::mem::transmute(bAppReturnCode) }; + bAppReturnCode as u64 + }); + __bindgen_bitfield_unit.set(8usize, 6u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fBusy: u16 = unsafe { ::std::mem::transmute(fBusy) }; + fBusy as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAck: u16 = unsafe { ::std::mem::transmute(fAck) }; + fAck as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEADVISE { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DDEADVISE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DDEADVISE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEADVISE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEADVISE), + "::", + stringify!(cfFormat) + ) + ); +} +impl DDEADVISE { + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 14u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 14u8, val as u64) + } + } + #[inline] + pub fn fDeferUpd(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fDeferUpd(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + reserved: ::std::os::raw::c_ushort, + fDeferUpd: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 14u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fDeferUpd: u16 = unsafe { ::std::mem::transmute(fDeferUpd) }; + fDeferUpd as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEDATA { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub Value: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEDATA), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEDATA), + "::", + stringify!(Value) + ) + ); +} +impl DDEDATA { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn fResponse(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fResponse(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fResponse: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + reserved: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fResponse: u16 = unsafe { ::std::mem::transmute(fResponse) }; + fResponse as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEPOKE { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub Value: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEPOKE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEPOKE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEPOKE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEPOKE), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEPOKE), + "::", + stringify!(Value) + ) + ); +} +impl DDEPOKE { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 13u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 13u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u16) } + } + #[inline] + pub fn set_fReserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 2u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fReserved: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 13u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 2u8, { + let fReserved: u16 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDELN { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DDELN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DDELN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDELN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDELN), + "::", + stringify!(cfFormat) + ) + ); +} +impl DDELN { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 13u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 13u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDeferUpd(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fDeferUpd(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fDeferUpd: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 13u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fDeferUpd: u16 = unsafe { ::std::mem::transmute(fDeferUpd) }; + fDeferUpd as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEUP { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub rgb: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEUP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEUP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEUP), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgb) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEUP), + "::", + stringify!(rgb) + ) + ); +} +impl DDEUP { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn fAck(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAck(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fReserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fAck: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fReserved: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fAck: u16 = unsafe { ::std::mem::transmute(fAck) }; + fAck as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fReserved: u16 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +extern "C" { + pub fn DdeSetQualityOfService( + hwndClient: HWND, + pqosNew: *const SECURITY_QUALITY_OF_SERVICE, + pqosPrev: PSECURITY_QUALITY_OF_SERVICE, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateDdeClientWindow(hWndClient: HWND, hWndServer: HWND) -> BOOL; +} +extern "C" { + pub fn PackDDElParam(msg: UINT, uiLo: UINT_PTR, uiHi: UINT_PTR) -> LPARAM; +} +extern "C" { + pub fn UnpackDDElParam(msg: UINT, lParam: LPARAM, puiLo: PUINT_PTR, puiHi: PUINT_PTR) -> BOOL; +} +extern "C" { + pub fn FreeDDElParam(msg: UINT, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn ReuseDDElParam( + lParam: LPARAM, + msgIn: UINT, + msgOut: UINT, + uiLo: UINT_PTR, + uiHi: UINT_PTR, + ) -> LPARAM; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCONVLIST__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCONVLIST__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCONVLIST__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCONVLIST__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCONVLIST__), + "::", + stringify!(unused) + ) + ); +} +pub type HCONVLIST = *mut HCONVLIST__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCONV__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCONV__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCONV__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCONV__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCONV__), + "::", + stringify!(unused) + ) + ); +} +pub type HCONV = *mut HCONV__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSZ__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSZ__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSZ__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSZ__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSZ__), + "::", + stringify!(unused) + ) + ); +} +pub type HSZ = *mut HSZ__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDDEDATA__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDDEDATA__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDDEDATA__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDDEDATA__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDDEDATA__), + "::", + stringify!(unused) + ) + ); +} +pub type HDDEDATA = *mut HDDEDATA__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHSZPAIR { + pub hszSvc: HSZ, + pub hszTopic: HSZ, +} +#[test] +fn bindgen_test_layout_tagHSZPAIR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHSZPAIR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHSZPAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHSZPAIR), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHSZPAIR), + "::", + stringify!(hszTopic) + ) + ); +} +pub type HSZPAIR = tagHSZPAIR; +pub type PHSZPAIR = *mut tagHSZPAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCONVCONTEXT { + pub cb: UINT, + pub wFlags: UINT, + pub wCountryID: UINT, + pub iCodePage: ::std::os::raw::c_int, + pub dwLangID: DWORD, + pub dwSecurity: DWORD, + pub qos: SECURITY_QUALITY_OF_SERVICE, +} +#[test] +fn bindgen_test_layout_tagCONVCONTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagCONVCONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCONVCONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCountryID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(wCountryID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCodePage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(iCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLangID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(dwLangID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSecurity) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(dwSecurity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).qos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(qos) + ) + ); +} +pub type CONVCONTEXT = tagCONVCONTEXT; +pub type PCONVCONTEXT = *mut tagCONVCONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCONVINFO { + pub cb: DWORD, + pub hUser: DWORD_PTR, + pub hConvPartner: HCONV, + pub hszSvcPartner: HSZ, + pub hszServiceReq: HSZ, + pub hszTopic: HSZ, + pub hszItem: HSZ, + pub wFmt: UINT, + pub wType: UINT, + pub wStatus: UINT, + pub wConvst: UINT, + pub wLastError: UINT, + pub hConvList: HCONVLIST, + pub ConvCtxt: CONVCONTEXT, + pub hwnd: HWND, + pub hwndPartner: HWND, +} +#[test] +fn bindgen_test_layout_tagCONVINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagCONVINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCONVINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hUser) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvPartner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hConvPartner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvcPartner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszSvcPartner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszServiceReq) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszServiceReq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszItem) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStatus) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wConvst) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wConvst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLastError) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wLastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvList) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hConvList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConvCtxt) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(ConvCtxt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndPartner) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hwndPartner) + ) + ); +} +pub type CONVINFO = tagCONVINFO; +pub type PCONVINFO = *mut tagCONVINFO; +pub type PFNCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + wType: UINT, + wFmt: UINT, + hConv: HCONV, + hsz1: HSZ, + hsz2: HSZ, + hData: HDDEDATA, + dwData1: ULONG_PTR, + dwData2: ULONG_PTR, + ) -> HDDEDATA, +>; +extern "C" { + pub fn DdeInitializeA( + pidInst: LPDWORD, + pfnCallback: PFNCALLBACK, + afCmd: DWORD, + ulRes: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DdeInitializeW( + pidInst: LPDWORD, + pfnCallback: PFNCALLBACK, + afCmd: DWORD, + ulRes: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DdeUninitialize(idInst: DWORD) -> BOOL; +} +extern "C" { + pub fn DdeConnectList( + idInst: DWORD, + hszService: HSZ, + hszTopic: HSZ, + hConvList: HCONVLIST, + pCC: PCONVCONTEXT, + ) -> HCONVLIST; +} +extern "C" { + pub fn DdeQueryNextServer(hConvList: HCONVLIST, hConvPrev: HCONV) -> HCONV; +} +extern "C" { + pub fn DdeDisconnectList(hConvList: HCONVLIST) -> BOOL; +} +extern "C" { + pub fn DdeConnect(idInst: DWORD, hszService: HSZ, hszTopic: HSZ, pCC: PCONVCONTEXT) -> HCONV; +} +extern "C" { + pub fn DdeDisconnect(hConv: HCONV) -> BOOL; +} +extern "C" { + pub fn DdeReconnect(hConv: HCONV) -> HCONV; +} +extern "C" { + pub fn DdeQueryConvInfo(hConv: HCONV, idTransaction: DWORD, pConvInfo: PCONVINFO) -> UINT; +} +extern "C" { + pub fn DdeSetUserHandle(hConv: HCONV, id: DWORD, hUser: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn DdeAbandonTransaction(idInst: DWORD, hConv: HCONV, idTransaction: DWORD) -> BOOL; +} +extern "C" { + pub fn DdePostAdvise(idInst: DWORD, hszTopic: HSZ, hszItem: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeEnableCallback(idInst: DWORD, hConv: HCONV, wCmd: UINT) -> BOOL; +} +extern "C" { + pub fn DdeImpersonateClient(hConv: HCONV) -> BOOL; +} +extern "C" { + pub fn DdeNameService(idInst: DWORD, hsz1: HSZ, hsz2: HSZ, afCmd: UINT) -> HDDEDATA; +} +extern "C" { + pub fn DdeClientTransaction( + pData: LPBYTE, + cbData: DWORD, + hConv: HCONV, + hszItem: HSZ, + wFmt: UINT, + wType: UINT, + dwTimeout: DWORD, + pdwResult: LPDWORD, + ) -> HDDEDATA; +} +extern "C" { + pub fn DdeCreateDataHandle( + idInst: DWORD, + pSrc: LPBYTE, + cb: DWORD, + cbOff: DWORD, + hszItem: HSZ, + wFmt: UINT, + afCmd: UINT, + ) -> HDDEDATA; +} +extern "C" { + pub fn DdeAddData(hData: HDDEDATA, pSrc: LPBYTE, cb: DWORD, cbOff: DWORD) -> HDDEDATA; +} +extern "C" { + pub fn DdeGetData(hData: HDDEDATA, pDst: LPBYTE, cbMax: DWORD, cbOff: DWORD) -> DWORD; +} +extern "C" { + pub fn DdeAccessData(hData: HDDEDATA, pcbDataSize: LPDWORD) -> LPBYTE; +} +extern "C" { + pub fn DdeUnaccessData(hData: HDDEDATA) -> BOOL; +} +extern "C" { + pub fn DdeFreeDataHandle(hData: HDDEDATA) -> BOOL; +} +extern "C" { + pub fn DdeGetLastError(idInst: DWORD) -> UINT; +} +extern "C" { + pub fn DdeCreateStringHandleA( + idInst: DWORD, + psz: LPCSTR, + iCodePage: ::std::os::raw::c_int, + ) -> HSZ; +} +extern "C" { + pub fn DdeCreateStringHandleW( + idInst: DWORD, + psz: LPCWSTR, + iCodePage: ::std::os::raw::c_int, + ) -> HSZ; +} +extern "C" { + pub fn DdeQueryStringA( + idInst: DWORD, + hsz: HSZ, + psz: LPSTR, + cchMax: DWORD, + iCodePage: ::std::os::raw::c_int, + ) -> DWORD; +} +extern "C" { + pub fn DdeQueryStringW( + idInst: DWORD, + hsz: HSZ, + psz: LPWSTR, + cchMax: DWORD, + iCodePage: ::std::os::raw::c_int, + ) -> DWORD; +} +extern "C" { + pub fn DdeFreeStringHandle(idInst: DWORD, hsz: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeKeepStringHandle(idInst: DWORD, hsz: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeCmpStringHandles(hsz1: HSZ, hsz2: HSZ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDDEML_MSG_HOOK_DATA { + pub uiLo: UINT_PTR, + pub uiHi: UINT_PTR, + pub cbData: DWORD, + pub Data: [DWORD; 8usize], +} +#[test] +fn bindgen_test_layout_tagDDEML_MSG_HOOK_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagDDEML_MSG_HOOK_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDDEML_MSG_HOOK_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiLo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(uiLo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiHi) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(uiHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(Data) + ) + ); +} +pub type DDEML_MSG_HOOK_DATA = tagDDEML_MSG_HOOK_DATA; +pub type PDDEML_MSG_HOOK_DATA = *mut tagDDEML_MSG_HOOK_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONMSGSTRUCT { + pub cb: UINT, + pub hwndTo: HWND, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub wMsg: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, + pub dmhd: DDEML_MSG_HOOK_DATA, +} +#[test] +fn bindgen_test_layout_tagMONMSGSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagMONMSGSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONMSGSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(hwndTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMsg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(wMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmhd) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(dmhd) + ) + ); +} +pub type MONMSGSTRUCT = tagMONMSGSTRUCT; +pub type PMONMSGSTRUCT = *mut tagMONMSGSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONCBSTRUCT { + pub cb: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub dwRet: DWORD, + pub wType: UINT, + pub wFmt: UINT, + pub hConv: HCONV, + pub hsz1: HSZ, + pub hsz2: HSZ, + pub hData: HDDEDATA, + pub dwData1: ULONG_PTR, + pub dwData2: ULONG_PTR, + pub cc: CONVCONTEXT, + pub cbData: DWORD, + pub Data: [DWORD; 8usize], +} +#[test] +fn bindgen_test_layout_tagMONCBSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagMONCBSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONCBSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwRet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConv) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hConv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hsz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hsz2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData1) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwData1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwData2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(Data) + ) + ); +} +pub type MONCBSTRUCT = tagMONCBSTRUCT; +pub type PMONCBSTRUCT = *mut tagMONCBSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONHSZSTRUCTA { + pub cb: UINT, + pub fsAction: BOOL, + pub dwTime: DWORD, + pub hsz: HSZ, + pub hTask: HANDLE, + pub str_: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMONHSZSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONHSZSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONHSZSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(fsAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(hsz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(str_) + ) + ); +} +pub type MONHSZSTRUCTA = tagMONHSZSTRUCTA; +pub type PMONHSZSTRUCTA = *mut tagMONHSZSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONHSZSTRUCTW { + pub cb: UINT, + pub fsAction: BOOL, + pub dwTime: DWORD, + pub hsz: HSZ, + pub hTask: HANDLE, + pub str_: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMONHSZSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONHSZSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONHSZSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(fsAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(hsz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(str_) + ) + ); +} +pub type MONHSZSTRUCTW = tagMONHSZSTRUCTW; +pub type PMONHSZSTRUCTW = *mut tagMONHSZSTRUCTW; +pub type MONHSZSTRUCT = MONHSZSTRUCTA; +pub type PMONHSZSTRUCT = PMONHSZSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONERRSTRUCT { + pub cb: UINT, + pub wLastError: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, +} +#[test] +fn bindgen_test_layout_tagMONERRSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMONERRSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONERRSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLastError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(wLastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(hTask) + ) + ); +} +pub type MONERRSTRUCT = tagMONERRSTRUCT; +pub type PMONERRSTRUCT = *mut tagMONERRSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONLINKSTRUCT { + pub cb: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub fEstablished: BOOL, + pub fNoData: BOOL, + pub hszSvc: HSZ, + pub hszTopic: HSZ, + pub hszItem: HSZ, + pub wFmt: UINT, + pub fServer: BOOL, + pub hConvServer: HCONV, + pub hConvClient: HCONV, +} +#[test] +fn bindgen_test_layout_tagMONLINKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMONLINKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONLINKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fEstablished) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fEstablished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNoData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fNoData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszItem) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fServer) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvServer) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hConvServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvClient) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hConvClient) + ) + ); +} +pub type MONLINKSTRUCT = tagMONLINKSTRUCT; +pub type PMONLINKSTRUCT = *mut tagMONLINKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONCONVSTRUCT { + pub cb: UINT, + pub fConnect: BOOL, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub hszSvc: HSZ, + pub hszTopic: HSZ, + pub hConvClient: HCONV, + pub hConvServer: HCONV, +} +#[test] +fn bindgen_test_layout_tagMONCONVSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMONCONVSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONCONVSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fConnect) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(fConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvClient) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hConvClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvServer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hConvServer) + ) + ); +} +pub type MONCONVSTRUCT = tagMONCONVSTRUCT; +pub type PMONCONVSTRUCT = *mut tagMONCONVSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCRGB { + pub bRed: BYTE, + pub bGreen: BYTE, + pub bBlue: BYTE, + pub bExtra: BYTE, +} +#[test] +fn bindgen_test_layout_tagCRGB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagCRGB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagCRGB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBlue) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bExtra) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bExtra) + ) + ); +} +pub type CRGB = tagCRGB; +extern "C" { + pub fn LZStart() -> INT; +} +extern "C" { + pub fn LZDone(); +} +extern "C" { + pub fn CopyLZFile(hfSource: INT, hfDest: INT) -> LONG; +} +extern "C" { + pub fn LZCopy(hfSource: INT, hfDest: INT) -> LONG; +} +extern "C" { + pub fn LZInit(hfSource: INT) -> INT; +} +extern "C" { + pub fn GetExpandedNameA(lpszSource: LPSTR, lpszBuffer: LPSTR) -> INT; +} +extern "C" { + pub fn GetExpandedNameW(lpszSource: LPWSTR, lpszBuffer: LPWSTR) -> INT; +} +extern "C" { + pub fn LZOpenFileA(lpFileName: LPSTR, lpReOpenBuf: LPOFSTRUCT, wStyle: WORD) -> INT; +} +extern "C" { + pub fn LZOpenFileW(lpFileName: LPWSTR, lpReOpenBuf: LPOFSTRUCT, wStyle: WORD) -> INT; +} +extern "C" { + pub fn LZSeek(hFile: INT, lOffset: LONG, iOrigin: INT) -> LONG; +} +extern "C" { + pub fn LZRead(hFile: INT, lpBuffer: *mut CHAR, cbRead: INT) -> INT; +} +extern "C" { + pub fn LZClose(hFile: INT); +} +pub type MMVERSION = UINT; +pub type MMRESULT = UINT; +pub type LPUINT = *mut UINT; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct mmtime_tag { + pub wType: UINT, + pub u: mmtime_tag__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union mmtime_tag__bindgen_ty_1 { + pub ms: DWORD, + pub sample: DWORD, + pub cb: DWORD, + pub ticks: DWORD, + pub smpte: mmtime_tag__bindgen_ty_1__bindgen_ty_1, + pub midi: mmtime_tag__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mmtime_tag__bindgen_ty_1__bindgen_ty_1 { + pub hour: BYTE, + pub min: BYTE, + pub sec: BYTE, + pub frame: BYTE, + pub fps: BYTE, + pub dummy: BYTE, + pub pad: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hour) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hour) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).min) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(min) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sec) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frame) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(frame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fps) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dummy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pad) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct mmtime_tag__bindgen_ty_1__bindgen_ty_2 { + pub songptrpos: DWORD, +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).songptrpos) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(songptrpos) + ) + ); +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(mmtime_tag__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(mmtime_tag__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ms) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(ms) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sample) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(sample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ticks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(ticks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).smpte) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(smpte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).midi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(midi) + ) + ); +} +#[test] +fn bindgen_test_layout_mmtime_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(mmtime_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(mmtime_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag), + "::", + stringify!(u) + ) + ); +} +pub type MMTIME = mmtime_tag; +pub type PMMTIME = *mut mmtime_tag; +pub type NPMMTIME = *mut mmtime_tag; +pub type LPMMTIME = *mut mmtime_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HDRVR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDRVR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDRVR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HDRVR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDRVR__), + "::", + stringify!(unused) + ) + ); +} +pub type HDRVR = *mut HDRVR__; +pub type LPDRVCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type PDRVCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type MCIERROR = DWORD; +pub type MCIDEVICEID = UINT; +pub type YIELDPROC = + ::std::option::Option UINT>; +extern "C" { + pub fn mciSendCommandA( + mciId: MCIDEVICEID, + uMsg: UINT, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendCommandW( + mciId: MCIDEVICEID, + uMsg: UINT, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendStringA( + lpstrCommand: LPCSTR, + lpstrReturnString: LPSTR, + uReturnLength: UINT, + hwndCallback: HWND, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendStringW( + lpstrCommand: LPCWSTR, + lpstrReturnString: LPWSTR, + uReturnLength: UINT, + hwndCallback: HWND, + ) -> MCIERROR; +} +extern "C" { + pub fn mciGetDeviceIDA(pszDevice: LPCSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDW(pszDevice: LPCWSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDFromElementIDA(dwElementID: DWORD, lpstrType: LPCSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDFromElementIDW(dwElementID: DWORD, lpstrType: LPCWSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetErrorStringA(mcierr: MCIERROR, pszText: LPSTR, cchText: UINT) -> BOOL; +} +extern "C" { + pub fn mciGetErrorStringW(mcierr: MCIERROR, pszText: LPWSTR, cchText: UINT) -> BOOL; +} +extern "C" { + pub fn mciSetYieldProc(mciId: MCIDEVICEID, fpYieldProc: YIELDPROC, dwYieldData: DWORD) -> BOOL; +} +extern "C" { + pub fn mciGetCreatorTask(mciId: MCIDEVICEID) -> HTASK; +} +extern "C" { + pub fn mciGetYieldProc(mciId: MCIDEVICEID, pdwYieldData: LPDWORD) -> YIELDPROC; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_GENERIC_PARMS { + pub dwCallback: DWORD_PTR, +} +#[test] +fn bindgen_test_layout_tagMCI_GENERIC_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMCI_GENERIC_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_GENERIC_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GENERIC_PARMS), + "::", + stringify!(dwCallback) + ) + ); +} +pub type MCI_GENERIC_PARMS = tagMCI_GENERIC_PARMS; +pub type PMCI_GENERIC_PARMS = *mut tagMCI_GENERIC_PARMS; +pub type LPMCI_GENERIC_PARMS = *mut tagMCI_GENERIC_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); +} +pub type MCI_OPEN_PARMSA = tagMCI_OPEN_PARMSA; +pub type PMCI_OPEN_PARMSA = *mut tagMCI_OPEN_PARMSA; +pub type LPMCI_OPEN_PARMSA = *mut tagMCI_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); +} +pub type MCI_OPEN_PARMSW = tagMCI_OPEN_PARMSW; +pub type PMCI_OPEN_PARMSW = *mut tagMCI_OPEN_PARMSW; +pub type LPMCI_OPEN_PARMSW = *mut tagMCI_OPEN_PARMSW; +pub type MCI_OPEN_PARMS = MCI_OPEN_PARMSA; +pub type PMCI_OPEN_PARMS = PMCI_OPEN_PARMSA; +pub type LPMCI_OPEN_PARMS = LPMCI_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_PLAY_PARMS = tagMCI_PLAY_PARMS; +pub type PMCI_PLAY_PARMS = *mut tagMCI_PLAY_PARMS; +pub type LPMCI_PLAY_PARMS = *mut tagMCI_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SEEK_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SEEK_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_SEEK_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SEEK_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEEK_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEEK_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_SEEK_PARMS = tagMCI_SEEK_PARMS; +pub type PMCI_SEEK_PARMS = *mut tagMCI_SEEK_PARMS; +pub type LPMCI_SEEK_PARMS = *mut tagMCI_SEEK_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_STATUS_PARMS { + pub dwCallback: DWORD_PTR, + pub dwReturn: DWORD_PTR, + pub dwItem: DWORD, + pub dwTrack: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_STATUS_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_STATUS_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_STATUS_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItem) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrack) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwTrack) + ) + ); +} +pub type MCI_STATUS_PARMS = tagMCI_STATUS_PARMS; +pub type PMCI_STATUS_PARMS = *mut tagMCI_STATUS_PARMS; +pub type LPMCI_STATUS_PARMS = *mut tagMCI_STATUS_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_INFO_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPSTR, + pub dwRetSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_INFO_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_INFO_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_INFO_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(dwRetSize) + ) + ); +} +pub type MCI_INFO_PARMSA = tagMCI_INFO_PARMSA; +pub type LPMCI_INFO_PARMSA = *mut tagMCI_INFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_INFO_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPWSTR, + pub dwRetSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_INFO_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_INFO_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_INFO_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(dwRetSize) + ) + ); +} +pub type MCI_INFO_PARMSW = tagMCI_INFO_PARMSW; +pub type LPMCI_INFO_PARMSW = *mut tagMCI_INFO_PARMSW; +pub type MCI_INFO_PARMS = MCI_INFO_PARMSA; +pub type LPMCI_INFO_PARMS = LPMCI_INFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_GETDEVCAPS_PARMS { + pub dwCallback: DWORD_PTR, + pub dwReturn: DWORD, + pub dwItem: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_GETDEVCAPS_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_GETDEVCAPS_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_GETDEVCAPS_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItem) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwItem) + ) + ); +} +pub type MCI_GETDEVCAPS_PARMS = tagMCI_GETDEVCAPS_PARMS; +pub type PMCI_GETDEVCAPS_PARMS = *mut tagMCI_GETDEVCAPS_PARMS; +pub type LPMCI_GETDEVCAPS_PARMS = *mut tagMCI_GETDEVCAPS_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SYSINFO_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPSTR, + pub dwRetSize: DWORD, + pub dwNumber: DWORD, + pub wDeviceType: UINT, +} +#[test] +fn bindgen_test_layout_tagMCI_SYSINFO_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_SYSINFO_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SYSINFO_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwRetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(wDeviceType) + ) + ); +} +pub type MCI_SYSINFO_PARMSA = tagMCI_SYSINFO_PARMSA; +pub type PMCI_SYSINFO_PARMSA = *mut tagMCI_SYSINFO_PARMSA; +pub type LPMCI_SYSINFO_PARMSA = *mut tagMCI_SYSINFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SYSINFO_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPWSTR, + pub dwRetSize: DWORD, + pub dwNumber: DWORD, + pub wDeviceType: UINT, +} +#[test] +fn bindgen_test_layout_tagMCI_SYSINFO_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_SYSINFO_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SYSINFO_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwRetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(wDeviceType) + ) + ); +} +pub type MCI_SYSINFO_PARMSW = tagMCI_SYSINFO_PARMSW; +pub type PMCI_SYSINFO_PARMSW = *mut tagMCI_SYSINFO_PARMSW; +pub type LPMCI_SYSINFO_PARMSW = *mut tagMCI_SYSINFO_PARMSW; +pub type MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA; +pub type PMCI_SYSINFO_PARMS = PMCI_SYSINFO_PARMSA; +pub type LPMCI_SYSINFO_PARMS = LPMCI_SYSINFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); +} +pub type MCI_SET_PARMS = tagMCI_SET_PARMS; +pub type PMCI_SET_PARMS = *mut tagMCI_SET_PARMS; +pub type LPMCI_SET_PARMS = *mut tagMCI_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_BREAK_PARMS { + pub dwCallback: DWORD_PTR, + pub nVirtKey: ::std::os::raw::c_int, + pub hwndBreak: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_BREAK_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_BREAK_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_BREAK_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVirtKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(nVirtKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndBreak) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(hwndBreak) + ) + ); +} +pub type MCI_BREAK_PARMS = tagMCI_BREAK_PARMS; +pub type PMCI_BREAK_PARMS = *mut tagMCI_BREAK_PARMS; +pub type LPMCI_BREAK_PARMS = *mut tagMCI_BREAK_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SAVE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_SAVE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SAVE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SAVE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSA), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_SAVE_PARMSA = tagMCI_SAVE_PARMSA; +pub type PMCI_SAVE_PARMSA = *mut tagMCI_SAVE_PARMSA; +pub type LPMCI_SAVE_PARMSA = *mut tagMCI_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SAVE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_SAVE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SAVE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SAVE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSW), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_SAVE_PARMSW = tagMCI_SAVE_PARMSW; +pub type PMCI_SAVE_PARMSW = *mut tagMCI_SAVE_PARMSW; +pub type LPMCI_SAVE_PARMSW = *mut tagMCI_SAVE_PARMSW; +pub type MCI_SAVE_PARMS = MCI_SAVE_PARMSA; +pub type PMCI_SAVE_PARMS = PMCI_SAVE_PARMSA; +pub type LPMCI_SAVE_PARMS = LPMCI_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_LOAD_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_LOAD_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_LOAD_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_LOAD_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSA), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_LOAD_PARMSA = tagMCI_LOAD_PARMSA; +pub type PMCI_LOAD_PARMSA = *mut tagMCI_LOAD_PARMSA; +pub type LPMCI_LOAD_PARMSA = *mut tagMCI_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_LOAD_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_LOAD_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_LOAD_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_LOAD_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSW), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_LOAD_PARMSW = tagMCI_LOAD_PARMSW; +pub type PMCI_LOAD_PARMSW = *mut tagMCI_LOAD_PARMSW; +pub type LPMCI_LOAD_PARMSW = *mut tagMCI_LOAD_PARMSW; +pub type MCI_LOAD_PARMS = MCI_LOAD_PARMSA; +pub type PMCI_LOAD_PARMS = PMCI_LOAD_PARMSA; +pub type LPMCI_LOAD_PARMS = LPMCI_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_RECORD_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_RECORD_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_RECORD_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_RECORD_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_RECORD_PARMS = tagMCI_RECORD_PARMS; +pub type LPMCI_RECORD_PARMS = *mut tagMCI_RECORD_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, + pub dwSpeed: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_VD_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwSpeed) + ) + ); +} +pub type MCI_VD_PLAY_PARMS = tagMCI_VD_PLAY_PARMS; +pub type PMCI_VD_PLAY_PARMS = *mut tagMCI_VD_PLAY_PARMS; +pub type LPMCI_VD_PLAY_PARMS = *mut tagMCI_VD_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_STEP_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrames: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_STEP_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_VD_STEP_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_STEP_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_STEP_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_STEP_PARMS), + "::", + stringify!(dwFrames) + ) + ); +} +pub type MCI_VD_STEP_PARMS = tagMCI_VD_STEP_PARMS; +pub type PMCI_VD_STEP_PARMS = *mut tagMCI_VD_STEP_PARMS; +pub type LPMCI_VD_STEP_PARMS = *mut tagMCI_VD_STEP_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_ESCAPE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrCommand: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_ESCAPE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_VD_ESCAPE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_ESCAPE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCommand) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSA), + "::", + stringify!(lpstrCommand) + ) + ); +} +pub type MCI_VD_ESCAPE_PARMSA = tagMCI_VD_ESCAPE_PARMSA; +pub type PMCI_VD_ESCAPE_PARMSA = *mut tagMCI_VD_ESCAPE_PARMSA; +pub type LPMCI_VD_ESCAPE_PARMSA = *mut tagMCI_VD_ESCAPE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_ESCAPE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrCommand: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_ESCAPE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_VD_ESCAPE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_ESCAPE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCommand) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSW), + "::", + stringify!(lpstrCommand) + ) + ); +} +pub type MCI_VD_ESCAPE_PARMSW = tagMCI_VD_ESCAPE_PARMSW; +pub type PMCI_VD_ESCAPE_PARMSW = *mut tagMCI_VD_ESCAPE_PARMSW; +pub type LPMCI_VD_ESCAPE_PARMSW = *mut tagMCI_VD_ESCAPE_PARMSW; +pub type MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA; +pub type PMCI_VD_ESCAPE_PARMS = PMCI_VD_ESCAPE_PARMSA; +pub type LPMCI_VD_ESCAPE_PARMS = LPMCI_VD_ESCAPE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwBufferSeconds: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSeconds) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(dwBufferSeconds) + ) + ); +} +pub type MCI_WAVE_OPEN_PARMSA = tagMCI_WAVE_OPEN_PARMSA; +pub type PMCI_WAVE_OPEN_PARMSA = *mut tagMCI_WAVE_OPEN_PARMSA; +pub type LPMCI_WAVE_OPEN_PARMSA = *mut tagMCI_WAVE_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwBufferSeconds: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSeconds) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(dwBufferSeconds) + ) + ); +} +pub type MCI_WAVE_OPEN_PARMSW = tagMCI_WAVE_OPEN_PARMSW; +pub type PMCI_WAVE_OPEN_PARMSW = *mut tagMCI_WAVE_OPEN_PARMSW; +pub type LPMCI_WAVE_OPEN_PARMSW = *mut tagMCI_WAVE_OPEN_PARMSW; +pub type MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA; +pub type PMCI_WAVE_OPEN_PARMS = PMCI_WAVE_OPEN_PARMSA; +pub type LPMCI_WAVE_OPEN_PARMS = LPMCI_WAVE_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_DELETE_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_DELETE_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_DELETE_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_DELETE_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_WAVE_DELETE_PARMS = tagMCI_WAVE_DELETE_PARMS; +pub type PMCI_WAVE_DELETE_PARMS = *mut tagMCI_WAVE_DELETE_PARMS; +pub type LPMCI_WAVE_DELETE_PARMS = *mut tagMCI_WAVE_DELETE_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, + pub wInput: UINT, + pub wOutput: UINT, + pub wFormatTag: WORD, + pub wReserved2: WORD, + pub nChannels: WORD, + pub wReserved3: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, + pub wReserved4: WORD, + pub wBitsPerSample: WORD, + pub wReserved5: WORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wInput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wOutput) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nBlockAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved4) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wBitsPerSample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved5) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved5) + ) + ); +} +pub type MCI_WAVE_SET_PARMS = tagMCI_WAVE_SET_PARMS; +pub type PMCI_WAVE_SET_PARMS = *mut tagMCI_WAVE_SET_PARMS; +pub type LPMCI_WAVE_SET_PARMS = *mut tagMCI_WAVE_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SEQ_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, + pub dwTempo: DWORD, + pub dwPort: DWORD, + pub dwSlave: DWORD, + pub dwMaster: DWORD, + pub dwOffset: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SEQ_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_SEQ_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SEQ_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTempo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwTempo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPort) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSlave) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwSlave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaster) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwMaster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwOffset) + ) + ); +} +pub type MCI_SEQ_SET_PARMS = tagMCI_SEQ_SET_PARMS; +pub type PMCI_SEQ_SET_PARMS = *mut tagMCI_SEQ_SET_PARMS; +pub type LPMCI_SEQ_SET_PARMS = *mut tagMCI_SEQ_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_ANIM_OPEN_PARMSA = tagMCI_ANIM_OPEN_PARMSA; +pub type PMCI_ANIM_OPEN_PARMSA = *mut tagMCI_ANIM_OPEN_PARMSA; +pub type LPMCI_ANIM_OPEN_PARMSA = *mut tagMCI_ANIM_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_ANIM_OPEN_PARMSW = tagMCI_ANIM_OPEN_PARMSW; +pub type PMCI_ANIM_OPEN_PARMSW = *mut tagMCI_ANIM_OPEN_PARMSW; +pub type LPMCI_ANIM_OPEN_PARMSW = *mut tagMCI_ANIM_OPEN_PARMSW; +pub type MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA; +pub type PMCI_ANIM_OPEN_PARMS = PMCI_ANIM_OPEN_PARMSA; +pub type LPMCI_ANIM_OPEN_PARMS = LPMCI_ANIM_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, + pub dwSpeed: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwSpeed) + ) + ); +} +pub type MCI_ANIM_PLAY_PARMS = tagMCI_ANIM_PLAY_PARMS; +pub type PMCI_ANIM_PLAY_PARMS = *mut tagMCI_ANIM_PLAY_PARMS; +pub type LPMCI_ANIM_PLAY_PARMS = *mut tagMCI_ANIM_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_STEP_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrames: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_STEP_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_STEP_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_STEP_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_STEP_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_STEP_PARMS), + "::", + stringify!(dwFrames) + ) + ); +} +pub type MCI_ANIM_STEP_PARMS = tagMCI_ANIM_STEP_PARMS; +pub type PMCI_ANIM_STEP_PARMS = *mut tagMCI_ANIM_STEP_PARMS; +pub type LPMCI_ANIM_STEP_PARMS = *mut tagMCI_ANIM_STEP_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_WINDOW_PARMSA { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_WINDOW_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_WINDOW_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_WINDOW_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_ANIM_WINDOW_PARMSA = tagMCI_ANIM_WINDOW_PARMSA; +pub type PMCI_ANIM_WINDOW_PARMSA = *mut tagMCI_ANIM_WINDOW_PARMSA; +pub type LPMCI_ANIM_WINDOW_PARMSA = *mut tagMCI_ANIM_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_WINDOW_PARMSW { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_WINDOW_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_WINDOW_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_WINDOW_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_ANIM_WINDOW_PARMSW = tagMCI_ANIM_WINDOW_PARMSW; +pub type PMCI_ANIM_WINDOW_PARMSW = *mut tagMCI_ANIM_WINDOW_PARMSW; +pub type LPMCI_ANIM_WINDOW_PARMSW = *mut tagMCI_ANIM_WINDOW_PARMSW; +pub type MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA; +pub type PMCI_ANIM_WINDOW_PARMS = PMCI_ANIM_WINDOW_PARMSA; +pub type LPMCI_ANIM_WINDOW_PARMS = LPMCI_ANIM_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_RECT_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_RECT_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_RECT_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_RECT_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_RECT_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_RECT_PARMS), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_ANIM_RECT_PARMS = tagMCI_ANIM_RECT_PARMS; +pub type PMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS; +pub type LPMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_UPDATE_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, + pub hDC: HDC, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_UPDATE_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_UPDATE_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_UPDATE_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(rc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(hDC) + ) + ); +} +pub type MCI_ANIM_UPDATE_PARMS = tagMCI_ANIM_UPDATE_PARMS; +pub type PMCI_ANIM_UPDATE_PARMS = *mut tagMCI_ANIM_UPDATE_PARMS; +pub type LPMCI_ANIM_UPDATE_PARMS = *mut tagMCI_ANIM_UPDATE_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_OVLY_OPEN_PARMSA = tagMCI_OVLY_OPEN_PARMSA; +pub type PMCI_OVLY_OPEN_PARMSA = *mut tagMCI_OVLY_OPEN_PARMSA; +pub type LPMCI_OVLY_OPEN_PARMSA = *mut tagMCI_OVLY_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_OVLY_OPEN_PARMSW = tagMCI_OVLY_OPEN_PARMSW; +pub type PMCI_OVLY_OPEN_PARMSW = *mut tagMCI_OVLY_OPEN_PARMSW; +pub type LPMCI_OVLY_OPEN_PARMSW = *mut tagMCI_OVLY_OPEN_PARMSW; +pub type MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA; +pub type PMCI_OVLY_OPEN_PARMS = PMCI_OVLY_OPEN_PARMSA; +pub type LPMCI_OVLY_OPEN_PARMS = LPMCI_OVLY_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_WINDOW_PARMSA { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_WINDOW_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_WINDOW_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_WINDOW_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_OVLY_WINDOW_PARMSA = tagMCI_OVLY_WINDOW_PARMSA; +pub type PMCI_OVLY_WINDOW_PARMSA = *mut tagMCI_OVLY_WINDOW_PARMSA; +pub type LPMCI_OVLY_WINDOW_PARMSA = *mut tagMCI_OVLY_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_WINDOW_PARMSW { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_WINDOW_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_WINDOW_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_WINDOW_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_OVLY_WINDOW_PARMSW = tagMCI_OVLY_WINDOW_PARMSW; +pub type PMCI_OVLY_WINDOW_PARMSW = *mut tagMCI_OVLY_WINDOW_PARMSW; +pub type LPMCI_OVLY_WINDOW_PARMSW = *mut tagMCI_OVLY_WINDOW_PARMSW; +pub type MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA; +pub type PMCI_OVLY_WINDOW_PARMS = PMCI_OVLY_WINDOW_PARMSA; +pub type LPMCI_OVLY_WINDOW_PARMS = LPMCI_OVLY_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_RECT_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_RECT_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_RECT_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_RECT_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_RECT_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_RECT_PARMS), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_RECT_PARMS = tagMCI_OVLY_RECT_PARMS; +pub type PMCI_OVLY_RECT_PARMS = *mut tagMCI_OVLY_RECT_PARMS; +pub type LPMCI_OVLY_RECT_PARMS = *mut tagMCI_OVLY_RECT_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_SAVE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_SAVE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_SAVE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_SAVE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_SAVE_PARMSA = tagMCI_OVLY_SAVE_PARMSA; +pub type PMCI_OVLY_SAVE_PARMSA = *mut tagMCI_OVLY_SAVE_PARMSA; +pub type LPMCI_OVLY_SAVE_PARMSA = *mut tagMCI_OVLY_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_SAVE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_SAVE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_SAVE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_SAVE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_SAVE_PARMSW = tagMCI_OVLY_SAVE_PARMSW; +pub type PMCI_OVLY_SAVE_PARMSW = *mut tagMCI_OVLY_SAVE_PARMSW; +pub type LPMCI_OVLY_SAVE_PARMSW = *mut tagMCI_OVLY_SAVE_PARMSW; +pub type MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA; +pub type PMCI_OVLY_SAVE_PARMS = PMCI_OVLY_SAVE_PARMSA; +pub type LPMCI_OVLY_SAVE_PARMS = LPMCI_OVLY_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_LOAD_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_LOAD_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_LOAD_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_LOAD_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_LOAD_PARMSA = tagMCI_OVLY_LOAD_PARMSA; +pub type PMCI_OVLY_LOAD_PARMSA = *mut tagMCI_OVLY_LOAD_PARMSA; +pub type LPMCI_OVLY_LOAD_PARMSA = *mut tagMCI_OVLY_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_LOAD_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_LOAD_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_LOAD_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_LOAD_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_LOAD_PARMSW = tagMCI_OVLY_LOAD_PARMSW; +pub type PMCI_OVLY_LOAD_PARMSW = *mut tagMCI_OVLY_LOAD_PARMSW; +pub type LPMCI_OVLY_LOAD_PARMSW = *mut tagMCI_OVLY_LOAD_PARMSW; +pub type MCI_OVLY_LOAD_PARMS = MCI_OVLY_LOAD_PARMSA; +pub type PMCI_OVLY_LOAD_PARMS = PMCI_OVLY_LOAD_PARMSA; +pub type LPMCI_OVLY_LOAD_PARMS = LPMCI_OVLY_LOAD_PARMSA; +extern "C" { + pub fn mciGetDriverData(wDeviceID: MCIDEVICEID) -> DWORD_PTR; +} +extern "C" { + pub fn mciLoadCommandResource(hInstance: HANDLE, lpResName: LPCWSTR, wType: UINT) -> UINT; +} +extern "C" { + pub fn mciSetDriverData(wDeviceID: MCIDEVICEID, dwData: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn mciDriverYield(wDeviceID: MCIDEVICEID) -> UINT; +} +extern "C" { + pub fn mciDriverNotify(hwndCallback: HANDLE, wDeviceID: MCIDEVICEID, uStatus: UINT) -> BOOL; +} +extern "C" { + pub fn mciFreeCommandResource(wTable: UINT) -> BOOL; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct DRVCONFIGINFOEX { + pub dwDCISize: DWORD, + pub lpszDCISectionName: LPCWSTR, + pub lpszDCIAliasName: LPCWSTR, + pub dnDevNode: DWORD, +} +#[test] +fn bindgen_test_layout_DRVCONFIGINFOEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(DRVCONFIGINFOEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(DRVCONFIGINFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDCISize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(dwDCISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCISectionName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(lpszDCISectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCIAliasName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(lpszDCIAliasName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dnDevNode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(dnDevNode) + ) + ); +} +pub type PDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +pub type NPDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +pub type LPDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRVCONFIGINFO { + pub dwDCISize: DWORD, + pub lpszDCISectionName: LPCWSTR, + pub lpszDCIAliasName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagDRVCONFIGINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagDRVCONFIGINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagDRVCONFIGINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDCISize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(dwDCISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCISectionName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(lpszDCISectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCIAliasName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(lpszDCIAliasName) + ) + ); +} +pub type DRVCONFIGINFO = tagDRVCONFIGINFO; +pub type PDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type NPDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type LPDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type DRIVERPROC = ::std::option::Option< + unsafe extern "C" fn( + arg1: DWORD_PTR, + arg2: HDRVR, + arg3: UINT, + arg4: LPARAM, + arg5: LPARAM, + ) -> LRESULT, +>; +extern "C" { + pub fn CloseDriver(hDriver: HDRVR, lParam1: LPARAM, lParam2: LPARAM) -> LRESULT; +} +extern "C" { + pub fn OpenDriver(szDriverName: LPCWSTR, szSectionName: LPCWSTR, lParam2: LPARAM) -> HDRVR; +} +extern "C" { + pub fn SendDriverMessage( + hDriver: HDRVR, + message: UINT, + lParam1: LPARAM, + lParam2: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DrvGetModuleHandle(hDriver: HDRVR) -> HMODULE; +} +extern "C" { + pub fn GetDriverModuleHandle(hDriver: HDRVR) -> HMODULE; +} +extern "C" { + pub fn DefDriverProc( + dwDriverIdentifier: DWORD_PTR, + hdrvr: HDRVR, + uMsg: UINT, + lParam1: LPARAM, + lParam2: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DriverCallback( + dwCallback: DWORD_PTR, + dwFlags: DWORD, + hDevice: HDRVR, + dwMsg: DWORD, + dwUser: DWORD_PTR, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> BOOL; +} +extern "C" { + pub fn sndOpenSound( + EventName: LPCWSTR, + AppName: LPCWSTR, + Flags: INT32, + FileHandle: PHANDLE, + ) -> LONG; +} +pub type DRIVERMSGPROC = ::std::option::Option< + unsafe extern "C" fn( + arg1: DWORD, + arg2: DWORD, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ) -> DWORD, +>; +extern "C" { + pub fn mmDrvInstall( + hDriver: HDRVR, + wszDrvEntry: LPCWSTR, + drvMessage: DRIVERMSGPROC, + wFlags: UINT, + ) -> UINT; +} +pub type FOURCC = DWORD; +pub type HPSTR = *mut ::std::os::raw::c_char; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMMIO__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMMIO__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMMIO__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMMIO__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMMIO__), + "::", + stringify!(unused) + ) + ); +} +pub type HMMIO = *mut HMMIO__; +pub type LPMMIOPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: LPSTR, arg2: UINT, arg3: LPARAM, arg4: LPARAM) -> LRESULT, +>; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _MMIOINFO { + pub dwFlags: DWORD, + pub fccIOProc: FOURCC, + pub pIOProc: LPMMIOPROC, + pub wErrorRet: UINT, + pub htask: HTASK, + pub cchBuffer: LONG, + pub pchBuffer: HPSTR, + pub pchNext: HPSTR, + pub pchEndRead: HPSTR, + pub pchEndWrite: HPSTR, + pub lBufOffset: LONG, + pub lDiskOffset: LONG, + pub adwInfo: [DWORD; 3usize], + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, + pub hmmio: HMMIO, +} +#[test] +fn bindgen_test_layout__MMIOINFO() { + const UNINIT: ::std::mem::MaybeUninit<_MMIOINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MMIOINFO>(), + 100usize, + concat!("Size of: ", stringify!(_MMIOINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MMIOINFO>(), + 1usize, + concat!("Alignment of ", stringify!(_MMIOINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fccIOProc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(fccIOProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIOProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pIOProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wErrorRet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(wErrorRet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).htask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(htask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchBuffer) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(cchBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchNext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchEndRead) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchEndRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchEndWrite) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchEndWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lBufOffset) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(lBufOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lDiskOffset) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(lDiskOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adwInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(adwInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmmio) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(hmmio) + ) + ); +} +pub type MMIOINFO = _MMIOINFO; +pub type PMMIOINFO = *mut _MMIOINFO; +pub type NPMMIOINFO = *mut _MMIOINFO; +pub type LPMMIOINFO = *mut _MMIOINFO; +pub type LPCMMIOINFO = *const MMIOINFO; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _MMCKINFO { + pub ckid: FOURCC, + pub cksize: DWORD, + pub fccType: FOURCC, + pub dwDataOffset: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__MMCKINFO() { + const UNINIT: ::std::mem::MaybeUninit<_MMCKINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MMCKINFO>(), + 20usize, + concat!("Size of: ", stringify!(_MMCKINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MMCKINFO>(), + 1usize, + concat!("Alignment of ", stringify!(_MMCKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ckid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(ckid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cksize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(cksize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fccType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(fccType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDataOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(dwDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type MMCKINFO = _MMCKINFO; +pub type PMMCKINFO = *mut _MMCKINFO; +pub type NPMMCKINFO = *mut _MMCKINFO; +pub type LPMMCKINFO = *mut _MMCKINFO; +pub type LPCMMCKINFO = *const MMCKINFO; +extern "C" { + pub fn mmioStringToFOURCCA(sz: LPCSTR, uFlags: UINT) -> FOURCC; +} +extern "C" { + pub fn mmioStringToFOURCCW(sz: LPCWSTR, uFlags: UINT) -> FOURCC; +} +extern "C" { + pub fn mmioInstallIOProcA(fccIOProc: FOURCC, pIOProc: LPMMIOPROC, dwFlags: DWORD) + -> LPMMIOPROC; +} +extern "C" { + pub fn mmioInstallIOProcW(fccIOProc: FOURCC, pIOProc: LPMMIOPROC, dwFlags: DWORD) + -> LPMMIOPROC; +} +extern "C" { + pub fn mmioOpenA(pszFileName: LPSTR, pmmioinfo: LPMMIOINFO, fdwOpen: DWORD) -> HMMIO; +} +extern "C" { + pub fn mmioOpenW(pszFileName: LPWSTR, pmmioinfo: LPMMIOINFO, fdwOpen: DWORD) -> HMMIO; +} +extern "C" { + pub fn mmioRenameA( + pszFileName: LPCSTR, + pszNewFileName: LPCSTR, + pmmioinfo: LPCMMIOINFO, + fdwRename: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioRenameW( + pszFileName: LPCWSTR, + pszNewFileName: LPCWSTR, + pmmioinfo: LPCMMIOINFO, + fdwRename: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioClose(hmmio: HMMIO, fuClose: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioRead(hmmio: HMMIO, pch: HPSTR, cch: LONG) -> LONG; +} +extern "C" { + pub fn mmioWrite(hmmio: HMMIO, pch: *const ::std::os::raw::c_char, cch: LONG) -> LONG; +} +extern "C" { + pub fn mmioSeek(hmmio: HMMIO, lOffset: LONG, iOrigin: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn mmioGetInfo(hmmio: HMMIO, pmmioinfo: LPMMIOINFO, fuInfo: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSetInfo(hmmio: HMMIO, pmmioinfo: LPCMMIOINFO, fuInfo: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSetBuffer( + hmmio: HMMIO, + pchBuffer: LPSTR, + cchBuffer: LONG, + fuBuffer: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioFlush(hmmio: HMMIO, fuFlush: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioAdvance(hmmio: HMMIO, pmmioinfo: LPMMIOINFO, fuAdvance: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSendMessage(hmmio: HMMIO, uMsg: UINT, lParam1: LPARAM, lParam2: LPARAM) -> LRESULT; +} +extern "C" { + pub fn mmioDescend( + hmmio: HMMIO, + pmmcki: LPMMCKINFO, + pmmckiParent: *const MMCKINFO, + fuDescend: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioAscend(hmmio: HMMIO, pmmcki: LPMMCKINFO, fuAscend: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioCreateChunk(hmmio: HMMIO, pmmcki: LPMMCKINFO, fuCreate: UINT) -> MMRESULT; +} +pub type LPTIMECALLBACK = ::std::option::Option< + unsafe extern "C" fn(arg1: UINT, arg2: UINT, arg3: DWORD_PTR, arg4: DWORD_PTR, arg5: DWORD_PTR), +>; +extern "C" { + pub fn timeSetEvent( + uDelay: UINT, + uResolution: UINT, + fptc: LPTIMECALLBACK, + dwUser: DWORD_PTR, + fuEvent: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn timeKillEvent(uTimerID: UINT) -> MMRESULT; +} +extern "C" { + pub fn sndPlaySoundA(pszSound: LPCSTR, fuSound: UINT) -> BOOL; +} +extern "C" { + pub fn sndPlaySoundW(pszSound: LPCWSTR, fuSound: UINT) -> BOOL; +} +extern "C" { + pub fn PlaySoundA(pszSound: LPCSTR, hmod: HMODULE, fdwSound: DWORD) -> BOOL; +} +extern "C" { + pub fn PlaySoundW(pszSound: LPCWSTR, hmod: HMODULE, fdwSound: DWORD) -> BOOL; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVE__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVE = *mut HWAVE__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVEIN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVEIN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVEIN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVEIN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVEIN__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVEIN = *mut HWAVEIN__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVEOUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVEOUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVEOUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVEOUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVEOUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVEOUT = *mut HWAVEOUT__; +pub type LPHWAVEIN = *mut HWAVEIN; +pub type LPHWAVEOUT = *mut HWAVEOUT; +pub type LPWAVECALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct wavehdr_tag { + pub lpData: LPSTR, + pub dwBufferLength: DWORD, + pub dwBytesRecorded: DWORD, + pub dwUser: DWORD_PTR, + pub dwFlags: DWORD, + pub dwLoops: DWORD, + pub lpNext: *mut wavehdr_tag, + pub reserved: DWORD_PTR, +} +#[test] +fn bindgen_test_layout_wavehdr_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(wavehdr_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(wavehdr_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBytesRecorded) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwBytesRecorded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLoops) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwLoops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(lpNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(reserved) + ) + ); +} +pub type WAVEHDR = wavehdr_tag; +pub type PWAVEHDR = *mut wavehdr_tag; +pub type NPWAVEHDR = *mut wavehdr_tag; +pub type LPWAVEHDR = *mut wavehdr_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type WAVEOUTCAPSA = tagWAVEOUTCAPSA; +pub type PWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +pub type NPWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +pub type LPWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type WAVEOUTCAPSW = tagWAVEOUTCAPSW; +pub type PWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type NPWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type LPWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type WAVEOUTCAPS = WAVEOUTCAPSA; +pub type PWAVEOUTCAPS = PWAVEOUTCAPSA; +pub type NPWAVEOUTCAPS = NPWAVEOUTCAPSA; +pub type LPWAVEOUTCAPS = LPWAVEOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEOUTCAPS2A = tagWAVEOUTCAPS2A; +pub type PWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +pub type NPWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +pub type LPWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 132usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEOUTCAPS2W = tagWAVEOUTCAPS2W; +pub type PWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type NPWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type LPWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type WAVEOUTCAPS2 = WAVEOUTCAPS2A; +pub type PWAVEOUTCAPS2 = PWAVEOUTCAPS2A; +pub type NPWAVEOUTCAPS2 = NPWAVEOUTCAPS2A; +pub type LPWAVEOUTCAPS2 = LPWAVEOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagWAVEINCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wReserved1) + ) + ); +} +pub type WAVEINCAPSA = tagWAVEINCAPSA; +pub type PWAVEINCAPSA = *mut tagWAVEINCAPSA; +pub type NPWAVEINCAPSA = *mut tagWAVEINCAPSA; +pub type LPWAVEINCAPSA = *mut tagWAVEINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWAVEINCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wReserved1) + ) + ); +} +pub type WAVEINCAPSW = tagWAVEINCAPSW; +pub type PWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type NPWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type LPWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type WAVEINCAPS = WAVEINCAPSA; +pub type PWAVEINCAPS = PWAVEINCAPSA; +pub type NPWAVEINCAPS = NPWAVEINCAPSA; +pub type LPWAVEINCAPS = LPWAVEINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagWAVEINCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEINCAPS2A = tagWAVEINCAPS2A; +pub type PWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +pub type NPWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +pub type LPWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagWAVEINCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEINCAPS2W = tagWAVEINCAPS2W; +pub type PWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type NPWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type LPWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type WAVEINCAPS2 = WAVEINCAPS2A; +pub type PWAVEINCAPS2 = PWAVEINCAPS2A; +pub type NPWAVEINCAPS2 = NPWAVEINCAPS2A; +pub type LPWAVEINCAPS2 = LPWAVEINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct waveformat_tag { + pub wFormatTag: WORD, + pub nChannels: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, +} +#[test] +fn bindgen_test_layout_waveformat_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 14usize, + concat!("Size of: ", stringify!(waveformat_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(waveformat_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nBlockAlign) + ) + ); +} +pub type WAVEFORMAT = waveformat_tag; +pub type PWAVEFORMAT = *mut waveformat_tag; +pub type NPWAVEFORMAT = *mut waveformat_tag; +pub type LPWAVEFORMAT = *mut waveformat_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct pcmwaveformat_tag { + pub wf: WAVEFORMAT, + pub wBitsPerSample: WORD, +} +#[test] +fn bindgen_test_layout_pcmwaveformat_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(pcmwaveformat_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(pcmwaveformat_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pcmwaveformat_tag), + "::", + stringify!(wf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(pcmwaveformat_tag), + "::", + stringify!(wBitsPerSample) + ) + ); +} +pub type PCMWAVEFORMAT = pcmwaveformat_tag; +pub type PPCMWAVEFORMAT = *mut pcmwaveformat_tag; +pub type NPPCMWAVEFORMAT = *mut pcmwaveformat_tag; +pub type LPPCMWAVEFORMAT = *mut pcmwaveformat_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tWAVEFORMATEX { + pub wFormatTag: WORD, + pub nChannels: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, + pub wBitsPerSample: WORD, + pub cbSize: WORD, +} +#[test] +fn bindgen_test_layout_tWAVEFORMATEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(tWAVEFORMATEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tWAVEFORMATEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nBlockAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(wBitsPerSample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(cbSize) + ) + ); +} +pub type WAVEFORMATEX = tWAVEFORMATEX; +pub type PWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type NPWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type LPWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type LPCWAVEFORMATEX = *const WAVEFORMATEX; +extern "C" { + pub fn waveOutGetNumDevs() -> UINT; +} +extern "C" { + pub fn waveOutGetDevCapsA(uDeviceID: UINT_PTR, pwoc: LPWAVEOUTCAPSA, cbwoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetDevCapsW(uDeviceID: UINT_PTR, pwoc: LPWAVEOUTCAPSW, cbwoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetVolume(hwo: HWAVEOUT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetVolume(hwo: HWAVEOUT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutOpen( + phwo: LPHWAVEOUT, + uDeviceID: UINT, + pwfx: LPCWAVEFORMATEX, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn waveOutClose(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutPrepareHeader(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutWrite(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutPause(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutRestart(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutReset(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutBreakLoop(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPosition(hwo: HWAVEOUT, pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPitch(hwo: HWAVEOUT, pdwPitch: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetPitch(hwo: HWAVEOUT, dwPitch: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwRate: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetPlaybackRate(hwo: HWAVEOUT, dwRate: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetID(hwo: HWAVEOUT, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutMessage(hwo: HWAVEOUT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +extern "C" { + pub fn waveInGetNumDevs() -> UINT; +} +extern "C" { + pub fn waveInGetDevCapsA(uDeviceID: UINT_PTR, pwic: LPWAVEINCAPSA, cbwic: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetDevCapsW(uDeviceID: UINT_PTR, pwic: LPWAVEINCAPSW, cbwic: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInOpen( + phwi: LPHWAVEIN, + uDeviceID: UINT, + pwfx: LPCWAVEFORMATEX, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn waveInClose(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInPrepareHeader(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInUnprepareHeader(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInAddBuffer(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInStart(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInStop(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInReset(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInGetPosition(hwi: HWAVEIN, pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetID(hwi: HWAVEIN, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn waveInMessage(hwi: HWAVEIN, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDI__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDI__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDI__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDI__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDI__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDI = *mut HMIDI__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDIIN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDIIN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDIIN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDIIN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDIIN__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDIIN = *mut HMIDIIN__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDIOUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDIOUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDIOUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDIOUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDIOUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDIOUT = *mut HMIDIOUT__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDISTRM__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDISTRM__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDISTRM__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDISTRM__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDISTRM__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDISTRM = *mut HMIDISTRM__; +pub type LPHMIDI = *mut HMIDI; +pub type LPHMIDIIN = *mut HMIDIIN; +pub type LPHMIDIOUT = *mut HMIDIOUT; +pub type LPHMIDISTRM = *mut HMIDISTRM; +pub type LPMIDICALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type PATCHARRAY = [WORD; 128usize]; +pub type LPPATCHARRAY = *mut WORD; +pub type KEYARRAY = [WORD; 128usize]; +pub type LPKEYARRAY = *mut WORD; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIOUTCAPSA = tagMIDIOUTCAPSA; +pub type PMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +pub type NPMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +pub type LPMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIOUTCAPSW = tagMIDIOUTCAPSW; +pub type PMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type NPMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type LPMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type MIDIOUTCAPS = MIDIOUTCAPSA; +pub type PMIDIOUTCAPS = PMIDIOUTCAPSA; +pub type NPMIDIOUTCAPS = NPMIDIOUTCAPSA; +pub type LPMIDIOUTCAPS = LPMIDIOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIOUTCAPS2A = tagMIDIOUTCAPS2A; +pub type PMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +pub type NPMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +pub type LPMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 132usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIOUTCAPS2W = tagMIDIOUTCAPS2W; +pub type PMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type NPMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type LPMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type MIDIOUTCAPS2 = MIDIOUTCAPS2A; +pub type PMIDIOUTCAPS2 = PMIDIOUTCAPS2A; +pub type NPMIDIOUTCAPS2 = NPMIDIOUTCAPS2A; +pub type LPMIDIOUTCAPS2 = LPMIDIOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagMIDIINCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIINCAPSA = tagMIDIINCAPSA; +pub type PMIDIINCAPSA = *mut tagMIDIINCAPSA; +pub type NPMIDIINCAPSA = *mut tagMIDIINCAPSA; +pub type LPMIDIINCAPSA = *mut tagMIDIINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagMIDIINCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIINCAPSW = tagMIDIINCAPSW; +pub type PMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type NPMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type LPMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type MIDIINCAPS = MIDIINCAPSA; +pub type PMIDIINCAPS = PMIDIINCAPSA; +pub type NPMIDIINCAPS = NPMIDIINCAPSA; +pub type LPMIDIINCAPS = LPMIDIINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 92usize, + concat!("Size of: ", stringify!(tagMIDIINCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIINCAPS2A = tagMIDIINCAPS2A; +pub type PMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +pub type NPMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +pub type LPMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(tagMIDIINCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIINCAPS2W = tagMIDIINCAPS2W; +pub type PMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type NPMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type LPMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type MIDIINCAPS2 = MIDIINCAPS2A; +pub type PMIDIINCAPS2 = PMIDIINCAPS2A; +pub type NPMIDIINCAPS2 = NPMIDIINCAPS2A; +pub type LPMIDIINCAPS2 = LPMIDIINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midihdr_tag { + pub lpData: LPSTR, + pub dwBufferLength: DWORD, + pub dwBytesRecorded: DWORD, + pub dwUser: DWORD_PTR, + pub dwFlags: DWORD, + pub lpNext: *mut midihdr_tag, + pub reserved: DWORD_PTR, + pub dwOffset: DWORD, + pub dwReserved: [DWORD_PTR; 8usize], +} +#[test] +fn bindgen_test_layout_midihdr_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(midihdr_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midihdr_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBytesRecorded) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwBytesRecorded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNext) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(lpNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwReserved) + ) + ); +} +pub type MIDIHDR = midihdr_tag; +pub type PMIDIHDR = *mut midihdr_tag; +pub type NPMIDIHDR = *mut midihdr_tag; +pub type LPMIDIHDR = *mut midihdr_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midievent_tag { + pub dwDeltaTime: DWORD, + pub dwStreamID: DWORD, + pub dwEvent: DWORD, + pub dwParms: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_midievent_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(midievent_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midievent_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeltaTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwStreamID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEvent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParms) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwParms) + ) + ); +} +pub type MIDIEVENT = midievent_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midistrmbuffver_tag { + pub dwVersion: DWORD, + pub dwMid: DWORD, + pub dwOEMVersion: DWORD, +} +#[test] +fn bindgen_test_layout_midistrmbuffver_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(midistrmbuffver_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midistrmbuffver_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOEMVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwOEMVersion) + ) + ); +} +pub type MIDISTRMBUFFVER = midistrmbuffver_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midiproptimediv_tag { + pub cbStruct: DWORD, + pub dwTimeDiv: DWORD, +} +#[test] +fn bindgen_test_layout_midiproptimediv_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(midiproptimediv_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midiproptimediv_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midiproptimediv_tag), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeDiv) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midiproptimediv_tag), + "::", + stringify!(dwTimeDiv) + ) + ); +} +pub type MIDIPROPTIMEDIV = midiproptimediv_tag; +pub type LPMIDIPROPTIMEDIV = *mut midiproptimediv_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midiproptempo_tag { + pub cbStruct: DWORD, + pub dwTempo: DWORD, +} +#[test] +fn bindgen_test_layout_midiproptempo_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(midiproptempo_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midiproptempo_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midiproptempo_tag), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTempo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midiproptempo_tag), + "::", + stringify!(dwTempo) + ) + ); +} +pub type MIDIPROPTEMPO = midiproptempo_tag; +pub type LPMIDIPROPTEMPO = *mut midiproptempo_tag; +extern "C" { + pub fn midiOutGetNumDevs() -> UINT; +} +extern "C" { + pub fn midiStreamOpen( + phms: LPHMIDISTRM, + puDeviceID: LPUINT, + cMidi: DWORD, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiStreamClose(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamProperty(hms: HMIDISTRM, lppropdata: LPBYTE, dwProperty: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiStreamPosition(hms: HMIDISTRM, lpmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiStreamOut(hms: HMIDISTRM, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiStreamPause(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamRestart(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamStop(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiConnect(hmi: HMIDI, hmo: HMIDIOUT, pReserved: LPVOID) -> MMRESULT; +} +extern "C" { + pub fn midiDisconnect(hmi: HMIDI, hmo: HMIDIOUT, pReserved: LPVOID) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetDevCapsA(uDeviceID: UINT_PTR, pmoc: LPMIDIOUTCAPSA, cbmoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetDevCapsW(uDeviceID: UINT_PTR, pmoc: LPMIDIOUTCAPSW, cbmoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetVolume(hmo: HMIDIOUT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutSetVolume(hmo: HMIDIOUT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutOpen( + phmo: LPHMIDIOUT, + uDeviceID: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiOutClose(hmo: HMIDIOUT) -> MMRESULT; +} +extern "C" { + pub fn midiOutPrepareHeader(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutUnprepareHeader(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutShortMsg(hmo: HMIDIOUT, dwMsg: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutLongMsg(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutReset(hmo: HMIDIOUT) -> MMRESULT; +} +extern "C" { + pub fn midiOutCachePatches(hmo: HMIDIOUT, uBank: UINT, pwpa: LPWORD, fuCache: UINT) + -> MMRESULT; +} +extern "C" { + pub fn midiOutCacheDrumPatches( + hmo: HMIDIOUT, + uPatch: UINT, + pwkya: LPWORD, + fuCache: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetID(hmo: HMIDIOUT, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutMessage(hmo: HMIDIOUT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +extern "C" { + pub fn midiInGetNumDevs() -> UINT; +} +extern "C" { + pub fn midiInGetDevCapsA(uDeviceID: UINT_PTR, pmic: LPMIDIINCAPSA, cbmic: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetDevCapsW(uDeviceID: UINT_PTR, pmic: LPMIDIINCAPSW, cbmic: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInOpen( + phmi: LPHMIDIIN, + uDeviceID: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiInClose(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInPrepareHeader(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInUnprepareHeader(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInAddBuffer(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInStart(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInStop(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInReset(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInGetID(hmi: HMIDIIN, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn midiInMessage(hmi: HMIDIIN, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagAUXCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagAUXCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type AUXCAPSA = tagAUXCAPSA; +pub type PAUXCAPSA = *mut tagAUXCAPSA; +pub type NPAUXCAPSA = *mut tagAUXCAPSA; +pub type LPAUXCAPSA = *mut tagAUXCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagAUXCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagAUXCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type AUXCAPSW = tagAUXCAPSW; +pub type PAUXCAPSW = *mut tagAUXCAPSW; +pub type NPAUXCAPSW = *mut tagAUXCAPSW; +pub type LPAUXCAPSW = *mut tagAUXCAPSW; +pub type AUXCAPS = AUXCAPSA; +pub type PAUXCAPS = PAUXCAPSA; +pub type NPAUXCAPS = NPAUXCAPSA; +pub type LPAUXCAPS = LPAUXCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagAUXCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagAUXCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type AUXCAPS2A = tagAUXCAPS2A; +pub type PAUXCAPS2A = *mut tagAUXCAPS2A; +pub type NPAUXCAPS2A = *mut tagAUXCAPS2A; +pub type LPAUXCAPS2A = *mut tagAUXCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagAUXCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagAUXCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type AUXCAPS2W = tagAUXCAPS2W; +pub type PAUXCAPS2W = *mut tagAUXCAPS2W; +pub type NPAUXCAPS2W = *mut tagAUXCAPS2W; +pub type LPAUXCAPS2W = *mut tagAUXCAPS2W; +pub type AUXCAPS2 = AUXCAPS2A; +pub type PAUXCAPS2 = PAUXCAPS2A; +pub type NPAUXCAPS2 = NPAUXCAPS2A; +pub type LPAUXCAPS2 = LPAUXCAPS2A; +extern "C" { + pub fn auxGetNumDevs() -> UINT; +} +extern "C" { + pub fn auxGetDevCapsA(uDeviceID: UINT_PTR, pac: LPAUXCAPSA, cbac: UINT) -> MMRESULT; +} +extern "C" { + pub fn auxGetDevCapsW(uDeviceID: UINT_PTR, pac: LPAUXCAPSW, cbac: UINT) -> MMRESULT; +} +extern "C" { + pub fn auxSetVolume(uDeviceID: UINT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn auxGetVolume(uDeviceID: UINT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn auxOutMessage(uDeviceID: UINT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIXEROBJ__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIXEROBJ__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIXEROBJ__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIXEROBJ__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIXEROBJ__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIXEROBJ = *mut HMIXEROBJ__; +pub type LPHMIXEROBJ = *mut HMIXEROBJ; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIXER__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIXER__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIXER__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIXER__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIXER__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIXER = *mut HMIXER__; +pub type LPHMIXER = *mut HMIXER; +extern "C" { + pub fn mixerGetNumDevs() -> UINT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMIXERCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(cDestinations) + ) + ); +} +pub type MIXERCAPSA = tagMIXERCAPSA; +pub type PMIXERCAPSA = *mut tagMIXERCAPSA; +pub type LPMIXERCAPSA = *mut tagMIXERCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMIXERCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(cDestinations) + ) + ); +} +pub type MIXERCAPSW = tagMIXERCAPSW; +pub type PMIXERCAPSW = *mut tagMIXERCAPSW; +pub type LPMIXERCAPSW = *mut tagMIXERCAPSW; +pub type MIXERCAPS = MIXERCAPSA; +pub type PMIXERCAPS = PMIXERCAPSA; +pub type LPMIXERCAPS = LPMIXERCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagMIXERCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(cDestinations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIXERCAPS2A = tagMIXERCAPS2A; +pub type PMIXERCAPS2A = *mut tagMIXERCAPS2A; +pub type LPMIXERCAPS2A = *mut tagMIXERCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagMIXERCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(cDestinations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIXERCAPS2W = tagMIXERCAPS2W; +pub type PMIXERCAPS2W = *mut tagMIXERCAPS2W; +pub type LPMIXERCAPS2W = *mut tagMIXERCAPS2W; +pub type MIXERCAPS2 = MIXERCAPS2A; +pub type PMIXERCAPS2 = PMIXERCAPS2A; +pub type LPMIXERCAPS2 = LPMIXERCAPS2A; +extern "C" { + pub fn mixerGetDevCapsA(uMxId: UINT_PTR, pmxcaps: LPMIXERCAPSA, cbmxcaps: UINT) -> MMRESULT; +} +extern "C" { + pub fn mixerGetDevCapsW(uMxId: UINT_PTR, pmxcaps: LPMIXERCAPSW, cbmxcaps: UINT) -> MMRESULT; +} +extern "C" { + pub fn mixerOpen( + phmx: LPHMIXER, + uMxId: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerClose(hmx: HMIXER) -> MMRESULT; +} +extern "C" { + pub fn mixerMessage(hmx: HMIXER, uMsg: UINT, dwParam1: DWORD_PTR, dwParam2: DWORD_PTR) + -> DWORD; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEA { + pub cbStruct: DWORD, + pub dwDestination: DWORD, + pub dwSource: DWORD, + pub dwLineID: DWORD, + pub fdwLine: DWORD, + pub dwUser: DWORD_PTR, + pub dwComponentType: DWORD, + pub cChannels: DWORD, + pub cConnections: DWORD, + pub cControls: DWORD, + pub szShortName: [CHAR; 16usize], + pub szName: [CHAR; 64usize], + pub Target: tagMIXERLINEA__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEA__bindgen_ty_1 { + pub dwType: DWORD, + pub dwDeviceID: DWORD, + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMIXERLINEA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMIXERLINEA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeviceID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(dwDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(szPname) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 172usize, + concat!("Size of: ", stringify!(tagMIXERLINEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestination) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwDestination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwLine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(fdwLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwComponentType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwComponentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cConnections) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cConnections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(Target) + ) + ); +} +pub type MIXERLINEA = tagMIXERLINEA; +pub type PMIXERLINEA = *mut tagMIXERLINEA; +pub type LPMIXERLINEA = *mut tagMIXERLINEA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEW { + pub cbStruct: DWORD, + pub dwDestination: DWORD, + pub dwSource: DWORD, + pub dwLineID: DWORD, + pub fdwLine: DWORD, + pub dwUser: DWORD_PTR, + pub dwComponentType: DWORD, + pub cChannels: DWORD, + pub cConnections: DWORD, + pub cControls: DWORD, + pub szShortName: [WCHAR; 16usize], + pub szName: [WCHAR; 64usize], + pub Target: tagMIXERLINEW__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEW__bindgen_ty_1 { + pub dwType: DWORD, + pub dwDeviceID: DWORD, + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMIXERLINEW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMIXERLINEW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeviceID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(dwDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(szPname) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 284usize, + concat!("Size of: ", stringify!(tagMIXERLINEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestination) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwDestination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwLine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(fdwLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwComponentType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwComponentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cConnections) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cConnections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(Target) + ) + ); +} +pub type MIXERLINEW = tagMIXERLINEW; +pub type PMIXERLINEW = *mut tagMIXERLINEW; +pub type LPMIXERLINEW = *mut tagMIXERLINEW; +pub type MIXERLINE = MIXERLINEA; +pub type PMIXERLINE = PMIXERLINEA; +pub type LPMIXERLINE = LPMIXERLINEA; +extern "C" { + pub fn mixerGetLineInfoA(hmxobj: HMIXEROBJ, pmxl: LPMIXERLINEA, fdwInfo: DWORD) -> MMRESULT; +} +extern "C" { + pub fn mixerGetLineInfoW(hmxobj: HMIXEROBJ, pmxl: LPMIXERLINEW, fdwInfo: DWORD) -> MMRESULT; +} +extern "C" { + pub fn mixerGetID(hmxobj: HMIXEROBJ, puMxId: *mut UINT, fdwId: DWORD) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERCONTROLA { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub dwControlType: DWORD, + pub fdwControl: DWORD, + pub cMultipleItems: DWORD, + pub szShortName: [CHAR; 16usize], + pub szName: [CHAR; 64usize], + pub Bounds: tagMIXERCONTROLA__bindgen_ty_1, + pub Metrics: tagMIXERCONTROLA__bindgen_ty_2, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLA__bindgen_ty_1 { + pub __bindgen_anon_1: tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2, + pub dwReserved: [DWORD; 6usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1 { + pub lMinimum: LONG, + pub lMaximum: LONG, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMaximum) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2 { + pub dwMinimum: DWORD, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMaximum) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLA__bindgen_ty_2 { + pub cSteps: DWORD, + pub cbCustomData: DWORD, + pub dwReserved: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSteps) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(cSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCustomData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(cbCustomData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(dwReserved) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 148usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(dwControlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwControl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(fdwControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(cMultipleItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bounds) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(Bounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Metrics) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(Metrics) + ) + ); +} +pub type MIXERCONTROLA = tagMIXERCONTROLA; +pub type PMIXERCONTROLA = *mut tagMIXERCONTROLA; +pub type LPMIXERCONTROLA = *mut tagMIXERCONTROLA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERCONTROLW { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub dwControlType: DWORD, + pub fdwControl: DWORD, + pub cMultipleItems: DWORD, + pub szShortName: [WCHAR; 16usize], + pub szName: [WCHAR; 64usize], + pub Bounds: tagMIXERCONTROLW__bindgen_ty_1, + pub Metrics: tagMIXERCONTROLW__bindgen_ty_2, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLW__bindgen_ty_1 { + pub __bindgen_anon_1: tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2, + pub dwReserved: [DWORD; 6usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1 { + pub lMinimum: LONG, + pub lMaximum: LONG, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMaximum) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2 { + pub dwMinimum: DWORD, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMaximum) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLW__bindgen_ty_2 { + pub cSteps: DWORD, + pub cbCustomData: DWORD, + pub dwReserved: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSteps) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(cSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCustomData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(cbCustomData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(dwReserved) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 228usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(dwControlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwControl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(fdwControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(cMultipleItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bounds) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(Bounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Metrics) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(Metrics) + ) + ); +} +pub type MIXERCONTROLW = tagMIXERCONTROLW; +pub type PMIXERCONTROLW = *mut tagMIXERCONTROLW; +pub type LPMIXERCONTROLW = *mut tagMIXERCONTROLW; +pub type MIXERCONTROL = MIXERCONTROLA; +pub type PMIXERCONTROL = PMIXERCONTROLA; +pub type LPMIXERCONTROL = LPMIXERCONTROLA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERLINECONTROLSA { + pub cbStruct: DWORD, + pub dwLineID: DWORD, + pub __bindgen_anon_1: tagMIXERLINECONTROLSA__bindgen_ty_1, + pub cControls: DWORD, + pub cbmxctrl: DWORD, + pub pamxctrl: LPMIXERCONTROLA, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERLINECONTROLSA__bindgen_ty_1 { + pub dwControlID: DWORD, + pub dwControlType: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), + "::", + stringify!(dwControlType) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINECONTROLSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbmxctrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cbmxctrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pamxctrl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(pamxctrl) + ) + ); +} +pub type MIXERLINECONTROLSA = tagMIXERLINECONTROLSA; +pub type PMIXERLINECONTROLSA = *mut tagMIXERLINECONTROLSA; +pub type LPMIXERLINECONTROLSA = *mut tagMIXERLINECONTROLSA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERLINECONTROLSW { + pub cbStruct: DWORD, + pub dwLineID: DWORD, + pub __bindgen_anon_1: tagMIXERLINECONTROLSW__bindgen_ty_1, + pub cControls: DWORD, + pub cbmxctrl: DWORD, + pub pamxctrl: LPMIXERCONTROLW, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERLINECONTROLSW__bindgen_ty_1 { + pub dwControlID: DWORD, + pub dwControlType: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), + "::", + stringify!(dwControlType) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINECONTROLSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbmxctrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cbmxctrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pamxctrl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(pamxctrl) + ) + ); +} +pub type MIXERLINECONTROLSW = tagMIXERLINECONTROLSW; +pub type PMIXERLINECONTROLSW = *mut tagMIXERLINECONTROLSW; +pub type LPMIXERLINECONTROLSW = *mut tagMIXERLINECONTROLSW; +pub type MIXERLINECONTROLS = MIXERLINECONTROLSA; +pub type PMIXERLINECONTROLS = PMIXERLINECONTROLSA; +pub type LPMIXERLINECONTROLS = LPMIXERLINECONTROLSA; +extern "C" { + pub fn mixerGetLineControlsA( + hmxobj: HMIXEROBJ, + pmxlc: LPMIXERLINECONTROLSA, + fdwControls: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerGetLineControlsW( + hmxobj: HMIXEROBJ, + pmxlc: LPMIXERLINECONTROLSW, + fdwControls: DWORD, + ) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tMIXERCONTROLDETAILS { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub cChannels: DWORD, + pub __bindgen_anon_1: tMIXERCONTROLDETAILS__bindgen_ty_1, + pub cbDetails: DWORD, + pub paDetails: LPVOID, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tMIXERCONTROLDETAILS__bindgen_ty_1 { + pub hwndOwner: HWND, + pub cMultipleItems: DWORD, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), + "::", + stringify!(cMultipleItems) + ) + ); +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDetails) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cbDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paDetails) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(paDetails) + ) + ); +} +pub type MIXERCONTROLDETAILS = tMIXERCONTROLDETAILS; +pub type PMIXERCONTROLDETAILS = *mut tMIXERCONTROLDETAILS; +pub type LPMIXERCONTROLDETAILS = *mut tMIXERCONTROLDETAILS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLDETAILS_LISTTEXTA { + pub dwParam1: DWORD, + pub dwParam2: DWORD, + pub szName: [CHAR; 64usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(dwParam1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(dwParam2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(szName) + ) + ); +} +pub type MIXERCONTROLDETAILS_LISTTEXTA = tagMIXERCONTROLDETAILS_LISTTEXTA; +pub type PMIXERCONTROLDETAILS_LISTTEXTA = *mut tagMIXERCONTROLDETAILS_LISTTEXTA; +pub type LPMIXERCONTROLDETAILS_LISTTEXTA = *mut tagMIXERCONTROLDETAILS_LISTTEXTA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLDETAILS_LISTTEXTW { + pub dwParam1: DWORD, + pub dwParam2: DWORD, + pub szName: [WCHAR; 64usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(dwParam1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(dwParam2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(szName) + ) + ); +} +pub type MIXERCONTROLDETAILS_LISTTEXTW = tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type PMIXERCONTROLDETAILS_LISTTEXTW = *mut tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type LPMIXERCONTROLDETAILS_LISTTEXTW = *mut tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTA; +pub type PMIXERCONTROLDETAILS_LISTTEXT = PMIXERCONTROLDETAILS_LISTTEXTA; +pub type LPMIXERCONTROLDETAILS_LISTTEXT = LPMIXERCONTROLDETAILS_LISTTEXTA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_BOOLEAN { + pub fValue: LONG, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_BOOLEAN() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_BOOLEAN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_BOOLEAN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_BOOLEAN), + "::", + stringify!(fValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_BOOLEAN = tMIXERCONTROLDETAILS_BOOLEAN; +pub type PMIXERCONTROLDETAILS_BOOLEAN = *mut tMIXERCONTROLDETAILS_BOOLEAN; +pub type LPMIXERCONTROLDETAILS_BOOLEAN = *mut tMIXERCONTROLDETAILS_BOOLEAN; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_SIGNED { + pub lValue: LONG, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_SIGNED() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_SIGNED)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_SIGNED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_SIGNED), + "::", + stringify!(lValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_SIGNED = tMIXERCONTROLDETAILS_SIGNED; +pub type PMIXERCONTROLDETAILS_SIGNED = *mut tMIXERCONTROLDETAILS_SIGNED; +pub type LPMIXERCONTROLDETAILS_SIGNED = *mut tMIXERCONTROLDETAILS_SIGNED; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_UNSIGNED { + pub dwValue: DWORD, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_UNSIGNED() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_UNSIGNED)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_UNSIGNED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_UNSIGNED), + "::", + stringify!(dwValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_UNSIGNED = tMIXERCONTROLDETAILS_UNSIGNED; +pub type PMIXERCONTROLDETAILS_UNSIGNED = *mut tMIXERCONTROLDETAILS_UNSIGNED; +pub type LPMIXERCONTROLDETAILS_UNSIGNED = *mut tMIXERCONTROLDETAILS_UNSIGNED; +extern "C" { + pub fn mixerGetControlDetailsA( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerGetControlDetailsW( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerSetControlDetails( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct timecaps_tag { + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, +} +#[test] +fn bindgen_test_layout_timecaps_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(timecaps_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(timecaps_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timecaps_tag), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(timecaps_tag), + "::", + stringify!(wPeriodMax) + ) + ); +} +pub type TIMECAPS = timecaps_tag; +pub type PTIMECAPS = *mut timecaps_tag; +pub type NPTIMECAPS = *mut timecaps_tag; +pub type LPTIMECAPS = *mut timecaps_tag; +extern "C" { + pub fn timeGetSystemTime(pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeGetTime() -> DWORD; +} +extern "C" { + pub fn timeGetDevCaps(ptc: LPTIMECAPS, cbtc: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeBeginPeriod(uPeriod: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeEndPeriod(uPeriod: UINT) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [CHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [CHAR; 32usize], + pub szOEMVxD: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagJOYCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 404usize, + concat!("Size of: ", stringify!(tagJOYCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szOEMVxD) + ) + ); +} +pub type JOYCAPSA = tagJOYCAPSA; +pub type PJOYCAPSA = *mut tagJOYCAPSA; +pub type NPJOYCAPSA = *mut tagJOYCAPSA; +pub type LPJOYCAPSA = *mut tagJOYCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [WCHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [WCHAR; 32usize], + pub szOEMVxD: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagJOYCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 728usize, + concat!("Size of: ", stringify!(tagJOYCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szOEMVxD) + ) + ); +} +pub type JOYCAPSW = tagJOYCAPSW; +pub type PJOYCAPSW = *mut tagJOYCAPSW; +pub type NPJOYCAPSW = *mut tagJOYCAPSW; +pub type LPJOYCAPSW = *mut tagJOYCAPSW; +pub type JOYCAPS = JOYCAPSA; +pub type PJOYCAPS = PJOYCAPSA; +pub type NPJOYCAPS = NPJOYCAPSA; +pub type LPJOYCAPS = LPJOYCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [CHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [CHAR; 32usize], + pub szOEMVxD: [CHAR; 260usize], + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagJOYCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 452usize, + concat!("Size of: ", stringify!(tagJOYCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szOEMVxD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 404usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 420usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 436usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type JOYCAPS2A = tagJOYCAPS2A; +pub type PJOYCAPS2A = *mut tagJOYCAPS2A; +pub type NPJOYCAPS2A = *mut tagJOYCAPS2A; +pub type LPJOYCAPS2A = *mut tagJOYCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [WCHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [WCHAR; 32usize], + pub szOEMVxD: [WCHAR; 260usize], + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagJOYCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 776usize, + concat!("Size of: ", stringify!(tagJOYCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szOEMVxD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 728usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 744usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 760usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type JOYCAPS2W = tagJOYCAPS2W; +pub type PJOYCAPS2W = *mut tagJOYCAPS2W; +pub type NPJOYCAPS2W = *mut tagJOYCAPS2W; +pub type LPJOYCAPS2W = *mut tagJOYCAPS2W; +pub type JOYCAPS2 = JOYCAPS2A; +pub type PJOYCAPS2 = PJOYCAPS2A; +pub type NPJOYCAPS2 = NPJOYCAPS2A; +pub type LPJOYCAPS2 = LPJOYCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct joyinfo_tag { + pub wXpos: UINT, + pub wYpos: UINT, + pub wZpos: UINT, + pub wButtons: UINT, +} +#[test] +fn bindgen_test_layout_joyinfo_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(joyinfo_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(joyinfo_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXpos) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wXpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYpos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wYpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZpos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wZpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wButtons) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wButtons) + ) + ); +} +pub type JOYINFO = joyinfo_tag; +pub type PJOYINFO = *mut joyinfo_tag; +pub type NPJOYINFO = *mut joyinfo_tag; +pub type LPJOYINFO = *mut joyinfo_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct joyinfoex_tag { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub dwXpos: DWORD, + pub dwYpos: DWORD, + pub dwZpos: DWORD, + pub dwRpos: DWORD, + pub dwUpos: DWORD, + pub dwVpos: DWORD, + pub dwButtons: DWORD, + pub dwButtonNumber: DWORD, + pub dwPOV: DWORD, + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout_joyinfoex_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(joyinfoex_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(joyinfoex_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXpos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwXpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYpos) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwYpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwZpos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwZpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRpos) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwRpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwUpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVpos) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwVpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtons) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtonNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwButtonNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPOV) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwPOV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type JOYINFOEX = joyinfoex_tag; +pub type PJOYINFOEX = *mut joyinfoex_tag; +pub type NPJOYINFOEX = *mut joyinfoex_tag; +pub type LPJOYINFOEX = *mut joyinfoex_tag; +extern "C" { + pub fn joyGetPosEx(uJoyID: UINT, pji: LPJOYINFOEX) -> MMRESULT; +} +extern "C" { + pub fn joyGetNumDevs() -> UINT; +} +extern "C" { + pub fn joyGetDevCapsA(uJoyID: UINT_PTR, pjc: LPJOYCAPSA, cbjc: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyGetDevCapsW(uJoyID: UINT_PTR, pjc: LPJOYCAPSW, cbjc: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyGetPos(uJoyID: UINT, pji: LPJOYINFO) -> MMRESULT; +} +extern "C" { + pub fn joyGetThreshold(uJoyID: UINT, puThreshold: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn joyReleaseCapture(uJoyID: UINT) -> MMRESULT; +} +extern "C" { + pub fn joySetCapture(hwnd: HWND, uJoyID: UINT, uPeriod: UINT, fChanged: BOOL) -> MMRESULT; +} +extern "C" { + pub fn joySetThreshold(uJoyID: UINT, uThreshold: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyConfigChanged(dwFlags: DWORD) -> MMRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCB { + pub ncb_command: UCHAR, + pub ncb_retcode: UCHAR, + pub ncb_lsn: UCHAR, + pub ncb_num: UCHAR, + pub ncb_buffer: PUCHAR, + pub ncb_length: WORD, + pub ncb_callname: [UCHAR; 16usize], + pub ncb_name: [UCHAR; 16usize], + pub ncb_rto: UCHAR, + pub ncb_sto: UCHAR, + pub ncb_post: ::std::option::Option, + pub ncb_lana_num: UCHAR, + pub ncb_cmd_cplt: UCHAR, + pub ncb_reserve: [UCHAR; 18usize], + pub ncb_event: HANDLE, +} +#[test] +fn bindgen_test_layout__NCB() { + const UNINIT: ::std::mem::MaybeUninit<_NCB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCB>(), + 96usize, + concat!("Size of: ", stringify!(_NCB)) + ); + assert_eq!( + ::std::mem::align_of::<_NCB>(), + 8usize, + concat!("Alignment of ", stringify!(_NCB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_command) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_command) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_retcode) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_retcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_lsn) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_lsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_num) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_callname) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_callname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_name) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_rto) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_rto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_sto) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_sto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_post) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_post) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_lana_num) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_lana_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_cmd_cplt) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_cmd_cplt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_reserve) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_reserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_event) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_event) + ) + ); +} +pub type NCB = _NCB; +pub type PNCB = *mut _NCB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADAPTER_STATUS { + pub adapter_address: [UCHAR; 6usize], + pub rev_major: UCHAR, + pub reserved0: UCHAR, + pub adapter_type: UCHAR, + pub rev_minor: UCHAR, + pub duration: WORD, + pub frmr_recv: WORD, + pub frmr_xmit: WORD, + pub iframe_recv_err: WORD, + pub xmit_aborts: WORD, + pub xmit_success: DWORD, + pub recv_success: DWORD, + pub iframe_xmit_err: WORD, + pub recv_buff_unavail: WORD, + pub t1_timeouts: WORD, + pub ti_timeouts: WORD, + pub reserved1: DWORD, + pub free_ncbs: WORD, + pub max_cfg_ncbs: WORD, + pub max_ncbs: WORD, + pub xmit_buf_unavail: WORD, + pub max_dgram_size: WORD, + pub pending_sess: WORD, + pub max_cfg_sess: WORD, + pub max_sess: WORD, + pub max_sess_pkt_size: WORD, + pub name_count: WORD, +} +#[test] +fn bindgen_test_layout__ADAPTER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_ADAPTER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADAPTER_STATUS>(), + 60usize, + concat!("Size of: ", stringify!(_ADAPTER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_ADAPTER_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_ADAPTER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapter_address) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(adapter_address) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rev_major) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(rev_major) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapter_type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(adapter_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rev_minor) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(rev_minor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(duration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frmr_recv) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(frmr_recv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frmr_xmit) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(frmr_xmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iframe_recv_err) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(iframe_recv_err) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_aborts) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_aborts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_success) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_success) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_success) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(recv_success) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iframe_xmit_err) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(iframe_xmit_err) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_buff_unavail) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(recv_buff_unavail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).t1_timeouts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(t1_timeouts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ti_timeouts) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(ti_timeouts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).free_ncbs) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(free_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_cfg_ncbs) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_cfg_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_ncbs) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_buf_unavail) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_buf_unavail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_dgram_size) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_dgram_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pending_sess) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(pending_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_cfg_sess) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_cfg_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_sess) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_sess_pkt_size) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_sess_pkt_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_count) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(name_count) + ) + ); +} +pub type ADAPTER_STATUS = _ADAPTER_STATUS; +pub type PADAPTER_STATUS = *mut _ADAPTER_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NAME_BUFFER { + pub name: [UCHAR; 16usize], + pub name_num: UCHAR, + pub name_flags: UCHAR, +} +#[test] +fn bindgen_test_layout__NAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_NAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NAME_BUFFER>(), + 18usize, + concat!("Size of: ", stringify!(_NAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_NAME_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_NAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_num) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_flags) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name_flags) + ) + ); +} +pub type NAME_BUFFER = _NAME_BUFFER; +pub type PNAME_BUFFER = *mut _NAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SESSION_HEADER { + pub sess_name: UCHAR, + pub num_sess: UCHAR, + pub rcv_dg_outstanding: UCHAR, + pub rcv_any_outstanding: UCHAR, +} +#[test] +fn bindgen_test_layout__SESSION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SESSION_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SESSION_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_SESSION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SESSION_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_SESSION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sess_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(sess_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).num_sess) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(num_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcv_dg_outstanding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(rcv_dg_outstanding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcv_any_outstanding) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(rcv_any_outstanding) + ) + ); +} +pub type SESSION_HEADER = _SESSION_HEADER; +pub type PSESSION_HEADER = *mut _SESSION_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SESSION_BUFFER { + pub lsn: UCHAR, + pub state: UCHAR, + pub local_name: [UCHAR; 16usize], + pub remote_name: [UCHAR; 16usize], + pub rcvs_outstanding: UCHAR, + pub sends_outstanding: UCHAR, +} +#[test] +fn bindgen_test_layout__SESSION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_SESSION_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SESSION_BUFFER>(), + 36usize, + concat!("Size of: ", stringify!(_SESSION_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_SESSION_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_SESSION_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(lsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(state) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).local_name) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(local_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).remote_name) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(remote_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcvs_outstanding) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(rcvs_outstanding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sends_outstanding) as usize - ptr as usize }, + 35usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(sends_outstanding) + ) + ); +} +pub type SESSION_BUFFER = _SESSION_BUFFER; +pub type PSESSION_BUFFER = *mut _SESSION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LANA_ENUM { + pub length: UCHAR, + pub lana: [UCHAR; 255usize], +} +#[test] +fn bindgen_test_layout__LANA_ENUM() { + const UNINIT: ::std::mem::MaybeUninit<_LANA_ENUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LANA_ENUM>(), + 256usize, + concat!("Size of: ", stringify!(_LANA_ENUM)) + ); + assert_eq!( + ::std::mem::align_of::<_LANA_ENUM>(), + 1usize, + concat!("Alignment of ", stringify!(_LANA_ENUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LANA_ENUM), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lana) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_LANA_ENUM), + "::", + stringify!(lana) + ) + ); +} +pub type LANA_ENUM = _LANA_ENUM; +pub type PLANA_ENUM = *mut _LANA_ENUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIND_NAME_HEADER { + pub node_count: WORD, + pub reserved: UCHAR, + pub unique_group: UCHAR, +} +#[test] +fn bindgen_test_layout__FIND_NAME_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_FIND_NAME_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIND_NAME_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_FIND_NAME_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_FIND_NAME_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_FIND_NAME_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).node_count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(node_count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unique_group) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(unique_group) + ) + ); +} +pub type FIND_NAME_HEADER = _FIND_NAME_HEADER; +pub type PFIND_NAME_HEADER = *mut _FIND_NAME_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIND_NAME_BUFFER { + pub length: UCHAR, + pub access_control: UCHAR, + pub frame_control: UCHAR, + pub destination_addr: [UCHAR; 6usize], + pub source_addr: [UCHAR; 6usize], + pub routing_info: [UCHAR; 18usize], +} +#[test] +fn bindgen_test_layout__FIND_NAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FIND_NAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIND_NAME_BUFFER>(), + 33usize, + concat!("Size of: ", stringify!(_FIND_NAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FIND_NAME_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FIND_NAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).access_control) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(access_control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frame_control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(frame_control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).destination_addr) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(destination_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).source_addr) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(source_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).routing_info) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(routing_info) + ) + ); +} +pub type FIND_NAME_BUFFER = _FIND_NAME_BUFFER; +pub type PFIND_NAME_BUFFER = *mut _FIND_NAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTION_HEADER { + pub transport_id: ULONG, + pub action_code: USHORT, + pub reserved: USHORT, +} +#[test] +fn bindgen_test_layout__ACTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_ACTION_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTION_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_ACTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_ACTION_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_ACTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transport_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(transport_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).action_code) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(action_code) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(reserved) + ) + ); +} +pub type ACTION_HEADER = _ACTION_HEADER; +pub type PACTION_HEADER = *mut _ACTION_HEADER; +extern "C" { + pub fn Netbios(pncb: PNCB) -> UCHAR; +} +pub type I_RPC_HANDLE = *mut ::std::os::raw::c_void; +pub type RPC_STATUS = ::std::os::raw::c_long; +pub type RPC_CSTR = *mut ::std::os::raw::c_uchar; +pub type RPC_WSTR = *mut ::std::os::raw::c_ushort; +pub type RPC_CWSTR = *const ::std::os::raw::c_ushort; +pub type RPC_BINDING_HANDLE = I_RPC_HANDLE; +pub type handle_t = RPC_BINDING_HANDLE; +pub type UUID = GUID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub BindingH: [RPC_BINDING_HANDLE; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_BINDING_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_VECTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_VECTOR>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_BINDING_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_VECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_BINDING_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindingH) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_VECTOR), + "::", + stringify!(BindingH) + ) + ); +} +pub type RPC_BINDING_VECTOR = _RPC_BINDING_VECTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UUID_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub Uuid: [*mut UUID; 1usize], +} +#[test] +fn bindgen_test_layout__UUID_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_UUID_VECTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UUID_VECTOR>(), + 16usize, + concat!("Size of: ", stringify!(_UUID_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_UUID_VECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_UUID_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UUID_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UUID_VECTOR), + "::", + stringify!(Uuid) + ) + ); +} +pub type UUID_VECTOR = _UUID_VECTOR; +pub type RPC_IF_HANDLE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_IF_ID { + pub Uuid: UUID, + pub VersMajor: ::std::os::raw::c_ushort, + pub VersMinor: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_IF_ID() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_IF_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_IF_ID>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_IF_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_IF_ID>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_IF_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(Uuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMajor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(VersMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMinor) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(VersMinor) + ) + ); +} +pub type RPC_IF_ID = _RPC_IF_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_VECTORA { + pub Count: ::std::os::raw::c_uint, + pub Protseq: [*mut ::std::os::raw::c_uchar; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_VECTORA() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_VECTORA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_VECTORA>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_VECTORA)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_VECTORA>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_VECTORA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORA), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protseq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORA), + "::", + stringify!(Protseq) + ) + ); +} +pub type RPC_PROTSEQ_VECTORA = _RPC_PROTSEQ_VECTORA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_VECTORW { + pub Count: ::std::os::raw::c_uint, + pub Protseq: [*mut ::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_VECTORW() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_VECTORW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_VECTORW>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_VECTORW)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_VECTORW>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_VECTORW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORW), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protseq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORW), + "::", + stringify!(Protseq) + ) + ); +} +pub type RPC_PROTSEQ_VECTORW = _RPC_PROTSEQ_VECTORW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_POLICY { + pub Length: ::std::os::raw::c_uint, + pub EndpointFlags: ::std::os::raw::c_ulong, + pub NICFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_POLICY>(), + 12usize, + concat!("Size of: ", stringify!(_RPC_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndpointFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(EndpointFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NICFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(NICFlags) + ) + ); +} +pub type RPC_POLICY = _RPC_POLICY; +pub type PRPC_POLICY = *mut _RPC_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_STATS_VECTOR { + pub Count: ::std::os::raw::c_uint, + pub Stats: [::std::os::raw::c_ulong; 1usize], +} +#[test] +fn bindgen_test_layout_RPC_STATS_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(RPC_STATS_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(RPC_STATS_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_STATS_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stats) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(RPC_STATS_VECTOR), + "::", + stringify!(Stats) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_IF_ID_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub IfId: [*mut RPC_IF_ID; 1usize], +} +#[test] +fn bindgen_test_layout_RPC_IF_ID_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(RPC_IF_ID_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_IF_ID_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_IF_ID_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_IF_ID_VECTOR), + "::", + stringify!(IfId) + ) + ); +} +extern "C" { + pub fn RpcBindingCopy( + SourceBinding: RPC_BINDING_HANDLE, + DestinationBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFree(Binding: *mut RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + optionValue: ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + pOptionValue: *mut ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFromStringBindingA( + StringBinding: RPC_CSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFromStringBindingW( + StringBinding: RPC_WSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsGetContextBinding( + ContextHandle: *mut ::std::os::raw::c_void, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqMaxCalls( + Binding: RPC_BINDING_HANDLE, + MaxCalls: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingReset(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqDefaultProtectLevel( + AuthnSvc: ::std::os::raw::c_ulong, + AuthnLevel: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingToStringBindingA( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingToStringBindingW( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingVectorFree(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingComposeA( + ObjUuid: RPC_CSTR, + ProtSeq: RPC_CSTR, + NetworkAddr: RPC_CSTR, + Endpoint: RPC_CSTR, + Options: RPC_CSTR, + StringBinding: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingComposeW( + ObjUuid: RPC_WSTR, + ProtSeq: RPC_WSTR, + NetworkAddr: RPC_WSTR, + Endpoint: RPC_WSTR, + Options: RPC_WSTR, + StringBinding: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingParseA( + StringBinding: RPC_CSTR, + ObjUuid: *mut RPC_CSTR, + Protseq: *mut RPC_CSTR, + NetworkAddr: *mut RPC_CSTR, + Endpoint: *mut RPC_CSTR, + NetworkOptions: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingParseW( + StringBinding: RPC_WSTR, + ObjUuid: *mut RPC_WSTR, + Protseq: *mut RPC_WSTR, + NetworkAddr: *mut RPC_WSTR, + Endpoint: *mut RPC_WSTR, + NetworkOptions: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringFreeA(String: *mut RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringFreeW(String: *mut RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcIfInqId(RpcIfHandle: RPC_IF_HANDLE, RpcIfId: *mut RPC_IF_ID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkIsProtseqValidA(Protseq: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkIsProtseqValidW(Protseq: RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqComTimeout( + Binding: RPC_BINDING_HANDLE, + Timeout: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetComTimeout( + Binding: RPC_BINDING_HANDLE, + Timeout: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetCancelTimeout(Timeout: ::std::os::raw::c_long) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkInqProtseqsA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkInqProtseqsW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectInqType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectSetInqFn( + InquiryFn: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut UUID, arg2: *mut UUID, arg3: *mut RPC_STATUS), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectSetType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcProtseqVectorFreeA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; +} +extern "C" { + pub fn RpcProtseqVectorFreeW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindings(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindingsEx( + SecurityDescriptor: *mut ::std::os::raw::c_void, + BindingVector: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerListen( + MinimumCallThreads: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + DontWait: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIfEx( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + IfCallback: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf2( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + MaxRpcSize: ::std::os::raw::c_uint, + IfCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf3( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + MaxRpcSize: ::std::os::raw::c_uint, + IfCallback: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnregisterIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + WaitForCallsToComplete: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnregisterIfEx( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + RundownContextHandles: ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqs( + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsEx( + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsIf( + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsIfEx( + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerYield(); +} +extern "C" { + pub fn RpcMgmtStatsVectorFree(StatsVector: *mut *mut RPC_STATS_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqStats( + Binding: RPC_BINDING_HANDLE, + Statistics: *mut *mut RPC_STATS_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtWaitServerListen() -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetServerStackSize(ThreadStackSize: ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsDontSerializeContext(); +} +extern "C" { + pub fn RpcMgmtEnableIdleCleanup() -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqIfIds( + Binding: RPC_BINDING_HANDLE, + IfIdVector: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcIfIdVectorFree(IfIdVector: *mut *mut RPC_IF_ID_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqServerPrincNameA( + Binding: RPC_BINDING_HANDLE, + AuthnSvc: ::std::os::raw::c_ulong, + ServerPrincName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqServerPrincNameW( + Binding: RPC_BINDING_HANDLE, + AuthnSvc: ::std::os::raw::c_ulong, + ServerPrincName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqDefaultPrincNameA( + AuthnSvc: ::std::os::raw::c_ulong, + PrincName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqDefaultPrincNameW( + AuthnSvc: ::std::os::raw::c_ulong, + PrincName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE, IfSpec: RPC_IF_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingInqEntryNameA( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingInqEntryNameW( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +pub type RPC_AUTH_IDENTITY_HANDLE = *mut ::std::os::raw::c_void; +pub type RPC_AUTHZ_HANDLE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SECURITY_QOS { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(ImpersonationType) + ) + ); +} +pub type RPC_SECURITY_QOS = _RPC_SECURITY_QOS; +pub type PRPC_SECURITY_QOS = *mut _RPC_SECURITY_QOS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SEC_WINNT_AUTH_IDENTITY_W { + pub User: *mut ::std::os::raw::c_ushort, + pub UserLength: ::std::os::raw::c_ulong, + pub Domain: *mut ::std::os::raw::c_ushort, + pub DomainLength: ::std::os::raw::c_ulong, + pub Password: *mut ::std::os::raw::c_ushort, + pub PasswordLength: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__SEC_WINNT_AUTH_IDENTITY_W() { + const UNINIT: ::std::mem::MaybeUninit<_SEC_WINNT_AUTH_IDENTITY_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SEC_WINNT_AUTH_IDENTITY_W>(), + 48usize, + concat!("Size of: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W)) + ); + assert_eq!( + ::std::mem::align_of::<_SEC_WINNT_AUTH_IDENTITY_W>(), + 8usize, + concat!("Alignment of ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Flags) + ) + ); +} +pub type SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W; +pub type PSEC_WINNT_AUTH_IDENTITY_W = *mut _SEC_WINNT_AUTH_IDENTITY_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SEC_WINNT_AUTH_IDENTITY_A { + pub User: *mut ::std::os::raw::c_uchar, + pub UserLength: ::std::os::raw::c_ulong, + pub Domain: *mut ::std::os::raw::c_uchar, + pub DomainLength: ::std::os::raw::c_ulong, + pub Password: *mut ::std::os::raw::c_uchar, + pub PasswordLength: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__SEC_WINNT_AUTH_IDENTITY_A() { + const UNINIT: ::std::mem::MaybeUninit<_SEC_WINNT_AUTH_IDENTITY_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SEC_WINNT_AUTH_IDENTITY_A>(), + 48usize, + concat!("Size of: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A)) + ); + assert_eq!( + ::std::mem::align_of::<_SEC_WINNT_AUTH_IDENTITY_A>(), + 8usize, + concat!("Alignment of ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Flags) + ) + ); +} +pub type SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A; +pub type PSEC_WINNT_AUTH_IDENTITY_A = *mut _SEC_WINNT_AUTH_IDENTITY_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, + pub ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, + pub ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W { + pub TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, + pub ProxyCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A { + pub TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, + pub ProxyCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V2_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V2_W__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V2_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_W>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V2_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V2_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(u) + ) + ); +} +pub type RPC_SECURITY_QOS_V2_W = _RPC_SECURITY_QOS_V2_W; +pub type PRPC_SECURITY_QOS_V2_W = *mut _RPC_SECURITY_QOS_V2_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V2_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V2_A__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V2_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_A>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V2_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V2_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(u) + ) + ); +} +pub type RPC_SECURITY_QOS_V2_A = _RPC_SECURITY_QOS_V2_A; +pub type PRPC_SECURITY_QOS_V2_A = *mut _RPC_SECURITY_QOS_V2_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V3_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V3_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V3_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V3_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V3_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Sid) + ) + ); +} +pub type RPC_SECURITY_QOS_V3_W = _RPC_SECURITY_QOS_V3_W; +pub type PRPC_SECURITY_QOS_V3_W = *mut _RPC_SECURITY_QOS_V3_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V3_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V3_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V3_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V3_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V3_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Sid) + ) + ); +} +pub type RPC_SECURITY_QOS_V3_A = _RPC_SECURITY_QOS_V3_A; +pub type PRPC_SECURITY_QOS_V3_A = *mut _RPC_SECURITY_QOS_V3_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V4_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V4_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V4_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_W>(), + 48usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V4_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V4_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type RPC_SECURITY_QOS_V4_W = _RPC_SECURITY_QOS_V4_W; +pub type PRPC_SECURITY_QOS_V4_W = *mut _RPC_SECURITY_QOS_V4_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V4_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V4_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V4_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_A>(), + 48usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V4_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V4_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type RPC_SECURITY_QOS_V4_A = _RPC_SECURITY_QOS_V4_A; +pub type PRPC_SECURITY_QOS_V4_A = *mut _RPC_SECURITY_QOS_V4_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V5_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V5_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, + pub ServerSecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V5_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_W>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V5_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V5_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerSecurityDescriptor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(ServerSecurityDescriptor) + ) + ); +} +pub type RPC_SECURITY_QOS_V5_W = _RPC_SECURITY_QOS_V5_W; +pub type PRPC_SECURITY_QOS_V5_W = *mut _RPC_SECURITY_QOS_V5_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V5_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V5_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, + pub ServerSecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V5_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_A>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V5_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V5_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerSecurityDescriptor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(ServerSecurityDescriptor) + ) + ); +} +pub type RPC_SECURITY_QOS_V5_A = _RPC_SECURITY_QOS_V5_A; +pub type PRPC_SECURITY_QOS_V5_A = *mut _RPC_SECURITY_QOS_V5_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_TEMPLATE_V1_W { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub NetworkAddress: *mut ::std::os::raw::c_ushort, + pub StringEndpoint: *mut ::std::os::raw::c_ushort, + pub u1: _RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1, + pub ObjectUuid: UUID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1 { + pub Reserved: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetworkAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(NetworkAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringEndpoint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(StringEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(u1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectUuid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(ObjectUuid) + ) + ); +} +pub type RPC_BINDING_HANDLE_TEMPLATE_V1_W = _RPC_BINDING_HANDLE_TEMPLATE_V1_W; +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_W = *mut _RPC_BINDING_HANDLE_TEMPLATE_V1_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_TEMPLATE_V1_A { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub NetworkAddress: *mut ::std::os::raw::c_uchar, + pub StringEndpoint: *mut ::std::os::raw::c_uchar, + pub u1: _RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1, + pub ObjectUuid: UUID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1 { + pub Reserved: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetworkAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(NetworkAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringEndpoint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(StringEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(u1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectUuid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(ObjectUuid) + ) + ); +} +pub type RPC_BINDING_HANDLE_TEMPLATE_V1_A = _RPC_BINDING_HANDLE_TEMPLATE_V1_A; +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_A = *mut _RPC_BINDING_HANDLE_TEMPLATE_V1_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_SECURITY_V1_W { + pub Version: ::std::os::raw::c_ulong, + pub ServerPrincName: *mut ::std::os::raw::c_ushort, + pub AuthnLevel: ::std::os::raw::c_ulong, + pub AuthnSvc: ::std::os::raw::c_ulong, + pub AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub SecurityQos: *mut RPC_SECURITY_QOS, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_SECURITY_V1_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_SECURITY_V1_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_SECURITY_V1_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_SECURITY_V1_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(ServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSvc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthIdentity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityQos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(SecurityQos) + ) + ); +} +pub type RPC_BINDING_HANDLE_SECURITY_V1_W = _RPC_BINDING_HANDLE_SECURITY_V1_W; +pub type PRPC_BINDING_HANDLE_SECURITY_V1_W = *mut _RPC_BINDING_HANDLE_SECURITY_V1_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_SECURITY_V1_A { + pub Version: ::std::os::raw::c_ulong, + pub ServerPrincName: *mut ::std::os::raw::c_uchar, + pub AuthnLevel: ::std::os::raw::c_ulong, + pub AuthnSvc: ::std::os::raw::c_ulong, + pub AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub SecurityQos: *mut RPC_SECURITY_QOS, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_SECURITY_V1_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_SECURITY_V1_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_SECURITY_V1_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_SECURITY_V1_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(ServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSvc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthIdentity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityQos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(SecurityQos) + ) + ); +} +pub type RPC_BINDING_HANDLE_SECURITY_V1_A = _RPC_BINDING_HANDLE_SECURITY_V1_A; +pub type PRPC_BINDING_HANDLE_SECURITY_V1_A = *mut _RPC_BINDING_HANDLE_SECURITY_V1_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_OPTIONS_V1 { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ComTimeout: ::std::os::raw::c_ulong, + pub CallTimeout: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_OPTIONS_V1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_OPTIONS_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_OPTIONS_V1>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_OPTIONS_V1>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComTimeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(ComTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(CallTimeout) + ) + ); +} +pub type RPC_BINDING_HANDLE_OPTIONS_V1 = _RPC_BINDING_HANDLE_OPTIONS_V1; +pub type PRPC_BINDING_HANDLE_OPTIONS_V1 = *mut _RPC_BINDING_HANDLE_OPTIONS_V1; +extern "C" { + pub fn RpcBindingCreateA( + Template: *mut RPC_BINDING_HANDLE_TEMPLATE_V1_A, + Security: *mut RPC_BINDING_HANDLE_SECURITY_V1_A, + Options: *mut RPC_BINDING_HANDLE_OPTIONS_V1, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingCreateW( + Template: *mut RPC_BINDING_HANDLE_TEMPLATE_V1_W, + Security: *mut RPC_BINDING_HANDLE_SECURITY_V1_W, + Options: *mut RPC_BINDING_HANDLE_OPTIONS_V1, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingGetTrainingContextHandle( + Binding: RPC_BINDING_HANDLE, + ContextHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindingHandle(Binding: *mut RPC_BINDING_HANDLE) -> RPC_STATUS; +} +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_REDIRECT: _RPC_HTTP_REDIRECTOR_STAGE = 1; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_ACCESS_1: _RPC_HTTP_REDIRECTOR_STAGE = 2; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_SESSION: _RPC_HTTP_REDIRECTOR_STAGE = 3; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_ACCESS_2: _RPC_HTTP_REDIRECTOR_STAGE = 4; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_INTERFACE: _RPC_HTTP_REDIRECTOR_STAGE = 5; +pub type _RPC_HTTP_REDIRECTOR_STAGE = ::std::os::raw::c_int; +pub use self::_RPC_HTTP_REDIRECTOR_STAGE as RPC_HTTP_REDIRECTOR_STAGE; +pub type RPC_NEW_HTTP_PROXY_CHANNEL = ::std::option::Option< + unsafe extern "C" fn( + RedirectorStage: RPC_HTTP_REDIRECTOR_STAGE, + ServerName: RPC_WSTR, + ServerPort: RPC_WSTR, + RemoteUser: RPC_WSTR, + AuthType: RPC_WSTR, + ResourceUuid: *mut ::std::os::raw::c_void, + SessionId: *mut ::std::os::raw::c_void, + Interface: *mut ::std::os::raw::c_void, + Reserved: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + NewServerName: *mut RPC_WSTR, + NewServerPort: *mut RPC_WSTR, + ) -> RPC_STATUS, +>; +pub type RPC_HTTP_PROXY_FREE_STRING = ::std::option::Option; +extern "C" { + pub fn RpcImpersonateClient(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcImpersonateClient2(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertToSelfEx(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertToSelf() -> RPC_STATUS; +} +extern "C" { + pub fn RpcImpersonateClientContainer(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertContainerImpersonation() -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientA( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientW( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientExA( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + Flags: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientExW( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + Flags: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_CSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoExA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_CSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + SecurityQos: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_WSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoExW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_WSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoExA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + RpcQosVersion: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoExW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + RpcQosVersion: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +pub type RPC_AUTH_KEY_RETRIEVAL_FN = ::std::option::Option< + unsafe extern "C" fn( + Arg: *mut ::std::os::raw::c_void, + ServerPrincName: RPC_WSTR, + KeyVer: ::std::os::raw::c_ulong, + Key: *mut *mut ::std::os::raw::c_void, + Status: *mut RPC_STATUS, + ), +>; +extern "C" { + pub fn RpcServerCompleteSecurityCallback( + BindingHandle: RPC_BINDING_HANDLE, + Status: RPC_STATUS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterAuthInfoA( + ServerPrincName: RPC_CSTR, + AuthnSvc: ::std::os::raw::c_ulong, + GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN, + Arg: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterAuthInfoW( + ServerPrincName: RPC_WSTR, + AuthnSvc: ::std::os::raw::c_ulong, + GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN, + Arg: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_CLIENT_INFORMATION1 { + pub UserName: *mut ::std::os::raw::c_uchar, + pub ComputerName: *mut ::std::os::raw::c_uchar, + pub Privilege: ::std::os::raw::c_ushort, + pub AuthFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_CLIENT_INFORMATION1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_CLIENT_INFORMATION1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_CLIENT_INFORMATION1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(UserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComputerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(ComputerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privilege) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(Privilege) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(AuthFlags) + ) + ); +} +pub type PRPC_CLIENT_INFORMATION1 = *mut RPC_CLIENT_INFORMATION1; +extern "C" { + pub fn RpcBindingServerFromClient( + ClientBinding: RPC_BINDING_HANDLE, + ServerBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRaiseException(exception: RPC_STATUS) -> !; +} +extern "C" { + pub fn RpcTestCancel() -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerTestCancel(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcCancelThread(Thread: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcCancelThreadEx( + Thread: *mut ::std::os::raw::c_void, + Timeout: ::std::os::raw::c_long, + ) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCreate(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCreateSequential(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidToStringA(Uuid: *const UUID, StringUuid: *mut RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn UuidFromStringA(StringUuid: RPC_CSTR, Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidToStringW(Uuid: *const UUID, StringUuid: *mut RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn UuidFromStringW(StringUuid: RPC_WSTR, Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCompare( + Uuid1: *mut UUID, + Uuid2: *mut UUID, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UuidCreateNil(NilUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidEqual( + Uuid1: *mut UUID, + Uuid2: *mut UUID, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UuidHash(Uuid: *mut UUID, Status: *mut RPC_STATUS) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn UuidIsNil(Uuid: *mut UUID, Status: *mut RPC_STATUS) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn RpcEpRegisterNoReplaceA( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterNoReplaceW( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterA( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterW( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpUnregister( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn DceErrorInqTextA(RpcStatus: RPC_STATUS, ErrorText: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn DceErrorInqTextW(RpcStatus: RPC_STATUS, ErrorText: RPC_WSTR) -> RPC_STATUS; +} +pub type RPC_EP_INQ_HANDLE = *mut I_RPC_HANDLE; +extern "C" { + pub fn RpcMgmtEpEltInqBegin( + EpBinding: RPC_BINDING_HANDLE, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuid: *mut UUID, + InquiryContext: *mut RPC_EP_INQ_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqDone(InquiryContext: *mut RPC_EP_INQ_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqNextA( + InquiryContext: RPC_EP_INQ_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: *mut RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + Annotation: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqNextW( + InquiryContext: RPC_EP_INQ_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: *mut RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + Annotation: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpUnregister( + EpBinding: RPC_BINDING_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + ) -> RPC_STATUS; +} +pub type RPC_MGMT_AUTHORIZATION_FN = ::std::option::Option< + unsafe extern "C" fn( + ClientBinding: RPC_BINDING_HANDLE, + RequestedMgmtOperation: ::std::os::raw::c_ulong, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn RpcMgmtSetAuthorizationFn(AuthorizationFn: RPC_MGMT_AUTHORIZATION_FN) -> RPC_STATUS; +} +extern "C" { + pub fn RpcExceptionFilter(ExceptionCode: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int; +} +pub type RPC_INTERFACE_GROUP = *mut ::std::os::raw::c_void; +pub type PRPC_INTERFACE_GROUP = *mut *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_ENDPOINT_TEMPLATEW { + pub Version: ::std::os::raw::c_ulong, + pub ProtSeq: RPC_WSTR, + pub Endpoint: RPC_WSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, + pub Backlog: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_ENDPOINT_TEMPLATEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(RPC_ENDPOINT_TEMPLATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_ENDPOINT_TEMPLATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtSeq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(ProtSeq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Endpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(SecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Backlog) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Backlog) + ) + ); +} +pub type PRPC_ENDPOINT_TEMPLATEW = *mut RPC_ENDPOINT_TEMPLATEW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_ENDPOINT_TEMPLATEA { + pub Version: ::std::os::raw::c_ulong, + pub ProtSeq: RPC_CSTR, + pub Endpoint: RPC_CSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, + pub Backlog: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_ENDPOINT_TEMPLATEA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(RPC_ENDPOINT_TEMPLATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_ENDPOINT_TEMPLATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtSeq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(ProtSeq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Endpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(SecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Backlog) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Backlog) + ) + ); +} +pub type PRPC_ENDPOINT_TEMPLATEA = *mut RPC_ENDPOINT_TEMPLATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_INTERFACE_TEMPLATEA { + pub Version: ::std::os::raw::c_ulong, + pub IfSpec: RPC_IF_HANDLE, + pub MgrTypeUuid: *mut UUID, + pub MgrEpv: *mut ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, + pub MaxCalls: ::std::os::raw::c_uint, + pub MaxRpcSize: ::std::os::raw::c_uint, + pub IfCallback: ::std::option::Option< + unsafe extern "C" fn(arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void) -> RPC_STATUS, + >, + pub UuidVector: *mut UUID_VECTOR, + pub Annotation: RPC_CSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_RPC_INTERFACE_TEMPLATEA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(RPC_INTERFACE_TEMPLATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_INTERFACE_TEMPLATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfSpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(IfSpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrTypeUuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MgrTypeUuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrEpv) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MgrEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCalls) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MaxCalls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRpcSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MaxRpcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(IfCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UuidVector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(UuidVector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Annotation) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Annotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type PRPC_INTERFACE_TEMPLATEA = *mut RPC_INTERFACE_TEMPLATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_INTERFACE_TEMPLATEW { + pub Version: ::std::os::raw::c_ulong, + pub IfSpec: RPC_IF_HANDLE, + pub MgrTypeUuid: *mut UUID, + pub MgrEpv: *mut ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, + pub MaxCalls: ::std::os::raw::c_uint, + pub MaxRpcSize: ::std::os::raw::c_uint, + pub IfCallback: ::std::option::Option< + unsafe extern "C" fn(arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void) -> RPC_STATUS, + >, + pub UuidVector: *mut UUID_VECTOR, + pub Annotation: RPC_WSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_RPC_INTERFACE_TEMPLATEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(RPC_INTERFACE_TEMPLATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_INTERFACE_TEMPLATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfSpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(IfSpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrTypeUuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MgrTypeUuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrEpv) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MgrEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCalls) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MaxCalls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRpcSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MaxRpcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(IfCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UuidVector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(UuidVector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Annotation) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Annotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type PRPC_INTERFACE_TEMPLATEW = *mut RPC_INTERFACE_TEMPLATEW; +extern "C" { + pub fn RpcServerInterfaceGroupCreateW( + Interfaces: *mut RPC_INTERFACE_TEMPLATEW, + NumIfs: ::std::os::raw::c_ulong, + Endpoints: *mut RPC_ENDPOINT_TEMPLATEW, + NumEndpoints: ::std::os::raw::c_ulong, + IdlePeriod: ::std::os::raw::c_ulong, + IdleCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_INTERFACE_GROUP, + arg2: *mut ::std::os::raw::c_void, + arg3: ::std::os::raw::c_ulong, + ), + >, + IdleCallbackContext: *mut ::std::os::raw::c_void, + IfGroup: PRPC_INTERFACE_GROUP, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupCreateA( + Interfaces: *mut RPC_INTERFACE_TEMPLATEA, + NumIfs: ::std::os::raw::c_ulong, + Endpoints: *mut RPC_ENDPOINT_TEMPLATEA, + NumEndpoints: ::std::os::raw::c_ulong, + IdlePeriod: ::std::os::raw::c_ulong, + IdleCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_INTERFACE_GROUP, + arg2: *mut ::std::os::raw::c_void, + arg3: ::std::os::raw::c_ulong, + ), + >, + IdleCallbackContext: *mut ::std::os::raw::c_void, + IfGroup: PRPC_INTERFACE_GROUP, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupClose(IfGroup: RPC_INTERFACE_GROUP) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupActivate(IfGroup: RPC_INTERFACE_GROUP) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupDeactivate( + IfGroup: RPC_INTERFACE_GROUP, + ForceDeactivation: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupInqBindings( + IfGroup: RPC_INTERFACE_GROUP, + BindingVector: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_VERSION { + pub MajorVersion: ::std::os::raw::c_ushort, + pub MinorVersion: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_VERSION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_RPC_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_VERSION>(), + 2usize, + concat!("Alignment of ", stringify!(_RPC_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_VERSION), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RPC_VERSION), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type RPC_VERSION = _RPC_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SYNTAX_IDENTIFIER { + pub SyntaxGUID: GUID, + pub SyntaxVersion: RPC_VERSION, +} +#[test] +fn bindgen_test_layout__RPC_SYNTAX_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SYNTAX_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SYNTAX_IDENTIFIER>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_SYNTAX_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SYNTAX_IDENTIFIER>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SYNTAX_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SyntaxGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SYNTAX_IDENTIFIER), + "::", + stringify!(SyntaxGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SyntaxVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SYNTAX_IDENTIFIER), + "::", + stringify!(SyntaxVersion) + ) + ); +} +pub type RPC_SYNTAX_IDENTIFIER = _RPC_SYNTAX_IDENTIFIER; +pub type PRPC_SYNTAX_IDENTIFIER = *mut _RPC_SYNTAX_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_MESSAGE { + pub Handle: RPC_BINDING_HANDLE, + pub DataRepresentation: ::std::os::raw::c_ulong, + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferLength: ::std::os::raw::c_uint, + pub ProcNum: ::std::os::raw::c_uint, + pub TransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub RpcInterfaceInformation: *mut ::std::os::raw::c_void, + pub ReservedForRuntime: *mut ::std::os::raw::c_void, + pub ManagerEpv: *mut ::std::os::raw::c_void, + pub ImportContext: *mut ::std::os::raw::c_void, + pub RpcFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_MESSAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_MESSAGE>(), + 80usize, + concat!("Size of: ", stringify!(_RPC_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_MESSAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(Handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataRepresentation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(DataRepresentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ProcNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcInterfaceInformation) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(RpcInterfaceInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedForRuntime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ReservedForRuntime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManagerEpv) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ManagerEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ImportContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(RpcFlags) + ) + ); +} +pub type RPC_MESSAGE = _RPC_MESSAGE; +pub type PRPC_MESSAGE = *mut _RPC_MESSAGE; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_NOT_LOADED: RPC_ADDRESS_CHANGE_TYPE = 1; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_LOADED: RPC_ADDRESS_CHANGE_TYPE = 2; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_ADDRESS_CHANGE: RPC_ADDRESS_CHANGE_TYPE = 3; +pub type RPC_ADDRESS_CHANGE_TYPE = ::std::os::raw::c_int; +pub type RPC_DISPATCH_FUNCTION = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_DISPATCH_TABLE { + pub DispatchTableCount: ::std::os::raw::c_uint, + pub DispatchTable: *mut RPC_DISPATCH_FUNCTION, + pub Reserved: LONG_PTR, +} +#[test] +fn bindgen_test_layout_RPC_DISPATCH_TABLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_DISPATCH_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_DISPATCH_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTableCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(DispatchTableCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(Reserved) + ) + ); +} +pub type PRPC_DISPATCH_TABLE = *mut RPC_DISPATCH_TABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_ENDPOINT { + pub RpcProtocolSequence: *mut ::std::os::raw::c_uchar, + pub Endpoint: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_ENDPOINT() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_ENDPOINT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_ENDPOINT>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_ENDPOINT)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_ENDPOINT>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_ENDPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtocolSequence) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_ENDPOINT), + "::", + stringify!(RpcProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_ENDPOINT), + "::", + stringify!(Endpoint) + ) + ); +} +pub type RPC_PROTSEQ_ENDPOINT = _RPC_PROTSEQ_ENDPOINT; +pub type PRPC_PROTSEQ_ENDPOINT = *mut _RPC_PROTSEQ_ENDPOINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SERVER_INTERFACE { + pub Length: ::std::os::raw::c_uint, + pub InterfaceId: RPC_SYNTAX_IDENTIFIER, + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: PRPC_DISPATCH_TABLE, + pub RpcProtseqEndpointCount: ::std::os::raw::c_uint, + pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT, + pub DefaultManagerEpv: *mut ::std::os::raw::c_void, + pub InterpreterInfo: *const ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout__RPC_SERVER_INTERFACE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SERVER_INTERFACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SERVER_INTERFACE>(), + 96usize, + concat!("Size of: ", stringify!(_RPC_SERVER_INTERFACE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SERVER_INTERFACE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SERVER_INTERFACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(InterfaceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpointCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(RpcProtseqEndpointCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpoint) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(RpcProtseqEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultManagerEpv) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(DefaultManagerEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterpreterInfo) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(InterpreterInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(Flags) + ) + ); +} +pub type RPC_SERVER_INTERFACE = _RPC_SERVER_INTERFACE; +pub type PRPC_SERVER_INTERFACE = *mut _RPC_SERVER_INTERFACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_CLIENT_INTERFACE { + pub Length: ::std::os::raw::c_uint, + pub InterfaceId: RPC_SYNTAX_IDENTIFIER, + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: PRPC_DISPATCH_TABLE, + pub RpcProtseqEndpointCount: ::std::os::raw::c_uint, + pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT, + pub Reserved: ULONG_PTR, + pub InterpreterInfo: *const ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout__RPC_CLIENT_INTERFACE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_CLIENT_INTERFACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_CLIENT_INTERFACE>(), + 96usize, + concat!("Size of: ", stringify!(_RPC_CLIENT_INTERFACE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_CLIENT_INTERFACE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_CLIENT_INTERFACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(InterfaceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpointCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(RpcProtseqEndpointCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpoint) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(RpcProtseqEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterpreterInfo) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(InterpreterInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Flags) + ) + ); +} +pub type RPC_CLIENT_INTERFACE = _RPC_CLIENT_INTERFACE; +pub type PRPC_CLIENT_INTERFACE = *mut _RPC_CLIENT_INTERFACE; +extern "C" { + pub fn I_RpcNegotiateTransferSyntax(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetBufferWithObject(Message: *mut RPC_MESSAGE, ObjectUuid: *mut UUID) + -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSendReceive(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreeBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSend(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReceive(Message: PRPC_MESSAGE, Size: ::std::os::raw::c_uint) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreePipeBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReallocPipeBuffer( + Message: PRPC_MESSAGE, + NewSize: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +pub type I_RPC_MUTEX = *mut ::std::os::raw::c_void; +extern "C" { + pub fn I_RpcRequestMutex(Mutex: *mut I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcClearMutex(Mutex: I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcDeleteMutex(Mutex: I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcAllocate(Size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcFree(Object: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn I_RpcFreeSystemHandleCollection( + CallObj: *mut ::std::os::raw::c_void, + FreeFlags: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn I_RpcSetSystemHandle( + Handle: *mut ::std::os::raw::c_void, + Type: ::std::os::raw::c_uchar, + AccessMask: ::std::os::raw::c_ulong, + CallObj: *mut ::std::os::raw::c_void, + HandleIndex: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetSystemHandle( + pMemory: *mut ::std::os::raw::c_uchar, + Type: ::std::os::raw::c_uchar, + AccessMask: ::std::os::raw::c_ulong, + HandleIndex: ::std::os::raw::c_ulong, + CallObj: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreeSystemHandle( + Type: ::std::os::raw::c_uchar, + Handle: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn I_RpcPauseExecution(Milliseconds: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn I_RpcGetExtendedError() -> RPC_STATUS; +} +pub const _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION_MarshalDirectionMarshal: + _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = 0; +pub const _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION_MarshalDirectionUnmarshal: + _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = 1; +pub type _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = ::std::os::raw::c_int; +pub use self::_LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION as LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION; +extern "C" { + pub fn I_RpcSystemHandleTypeSpecificWork( + Handle: *mut ::std::os::raw::c_void, + ActualType: ::std::os::raw::c_uchar, + IdlType: ::std::os::raw::c_uchar, + MarshalDirection: LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION, + ) -> RPC_STATUS; +} +pub type PRPC_RUNDOWN = + ::std::option::Option; +extern "C" { + pub fn I_RpcMonitorAssociation( + Handle: RPC_BINDING_HANDLE, + RundownRoutine: PRPC_RUNDOWN, + Context: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcStopMonitorAssociation(Handle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetCurrentCallHandle() -> RPC_BINDING_HANDLE; +} +extern "C" { + pub fn I_RpcGetAssociationContext( + BindingHandle: RPC_BINDING_HANDLE, + AssociationContext: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetServerContextList( + BindingHandle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcSetServerContextList( + BindingHandle: RPC_BINDING_HANDLE, + ServerContextList: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn I_RpcNsInterfaceExported( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut ::std::os::raw::c_ushort, + RpcInterfaceInformation: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsInterfaceUnexported( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut ::std::os::raw::c_ushort, + RpcInterfaceInformation: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingToStaticStringBindingW( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut *mut ::std::os::raw::c_ushort, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqSecurityContext( + Binding: RPC_BINDING_HANDLE, + SecurityContextHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SEC_CONTEXT_KEY_INFO { + pub EncryptAlgorithm: ::std::os::raw::c_ulong, + pub KeySize: ::std::os::raw::c_ulong, + pub SignatureAlgorithm: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_SEC_CONTEXT_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SEC_CONTEXT_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SEC_CONTEXT_KEY_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SEC_CONTEXT_KEY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(EncryptAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); +} +pub type RPC_SEC_CONTEXT_KEY_INFO = _RPC_SEC_CONTEXT_KEY_INFO; +pub type PRPC_SEC_CONTEXT_KEY_INFO = *mut _RPC_SEC_CONTEXT_KEY_INFO; +extern "C" { + pub fn I_RpcBindingInqSecurityContextKeyInfo( + Binding: RPC_BINDING_HANDLE, + KeyInfo: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqWireIdForSnego( + Binding: RPC_BINDING_HANDLE, + WireId: *mut ::std::os::raw::c_uchar, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqMarshalledTargetInfo( + Binding: RPC_BINDING_HANDLE, + MarshalledTargetInfoSize: *mut ::std::os::raw::c_ulong, + MarshalledTargetInfo: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqLocalClientPID( + Binding: RPC_BINDING_HANDLE, + Pid: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingHandleToAsyncHandle( + Binding: RPC_BINDING_HANDLE, + AsyncHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsBindingSetEntryNameW( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsBindingSetEntryNameA( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseqEp2A( + NetworkAddress: RPC_CSTR, + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseqEp2W( + NetworkAddress: RPC_WSTR, + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseq2W( + NetworkAddress: RPC_WSTR, + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseq2A( + NetworkAddress: RPC_CSTR, + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerStartService( + Protseq: RPC_WSTR, + Endpoint: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqDynamicEndpointW( + Binding: RPC_BINDING_HANDLE, + DynamicEndpoint: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqDynamicEndpointA( + Binding: RPC_BINDING_HANDLE, + DynamicEndpoint: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerCheckClientRestriction(Context: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqTransportType( + Binding: RPC_BINDING_HANDLE, + Type: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_TRANSFER_SYNTAX { + pub Uuid: UUID, + pub VersMajor: ::std::os::raw::c_ushort, + pub VersMinor: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_TRANSFER_SYNTAX() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_TRANSFER_SYNTAX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_TRANSFER_SYNTAX>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_TRANSFER_SYNTAX)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_TRANSFER_SYNTAX>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_TRANSFER_SYNTAX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(Uuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMajor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(VersMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMinor) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(VersMinor) + ) + ); +} +pub type RPC_TRANSFER_SYNTAX = _RPC_TRANSFER_SYNTAX; +extern "C" { + pub fn I_RpcIfInqTransferSyntaxes( + RpcIfHandle: RPC_IF_HANDLE, + TransferSyntaxes: *mut RPC_TRANSFER_SYNTAX, + TransferSyntaxSize: ::std::os::raw::c_uint, + TransferSyntaxCount: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_UuidCreate(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcUninitializeNdrOle(); +} +extern "C" { + pub fn I_RpcBindingCopy( + SourceBinding: RPC_BINDING_HANDLE, + DestinationBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingIsClientLocal( + BindingHandle: RPC_BINDING_HANDLE, + ClientLocalFlag: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqConnId( + Binding: RPC_BINDING_HANDLE, + ConnId: *mut *mut ::std::os::raw::c_void, + pfFirstCall: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingCreateNP( + ServerName: RPC_WSTR, + ServiceName: RPC_WSTR, + NetworkOptions: RPC_WSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSsDontSerializeContext(); +} +extern "C" { + pub fn I_RpcLaunchDatagramReceiveThread(pAddress: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerRegisterForwardFunction( + pForwardFunction: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut UUID, + arg2: *mut RPC_VERSION, + arg3: *mut UUID, + arg4: *mut ::std::os::raw::c_uchar, + arg5: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqAddressChangeFn( + ) -> ::std::option::Option; +} +extern "C" { + pub fn I_RpcServerSetAddressChangeFn( + pAddressChangeFn: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqLocalConnAddress( + Binding: RPC_BINDING_HANDLE, + Buffer: *mut ::std::os::raw::c_void, + BufferSize: *mut ::std::os::raw::c_ulong, + AddressFormat: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqRemoteConnAddress( + Binding: RPC_BINDING_HANDLE, + Buffer: *mut ::std::os::raw::c_void, + BufferSize: *mut ::std::os::raw::c_ulong, + AddressFormat: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSessionStrictContextHandle(); +} +extern "C" { + pub fn I_RpcTurnOnEEInfoPropagation() -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcConnectionInqSockBuffSize( + RecvBuffSize: *mut ::std::os::raw::c_ulong, + SendBuffSize: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcConnectionSetSockBuffSize( + RecvBuffSize: ::std::os::raw::c_ulong, + SendBuffSize: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +pub type RPCLT_PDU_FILTER_FUNC = ::std::option::Option< + unsafe extern "C" fn( + Buffer: *mut ::std::os::raw::c_void, + BufferLength: ::std::os::raw::c_uint, + fDatagram: ::std::os::raw::c_int, + ), +>; +pub type RPC_SETFILTER_FUNC = + ::std::option::Option; +extern "C" { + pub fn I_RpcServerStartListening(hWnd: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerStopListening() -> RPC_STATUS; +} +pub type RPC_BLOCKING_FN = ::std::option::Option< + unsafe extern "C" fn( + hWnd: *mut ::std::os::raw::c_void, + Context: *mut ::std::os::raw::c_void, + hSyncEvent: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, +>; +extern "C" { + pub fn I_RpcBindingSetAsync( + Binding: RPC_BINDING_HANDLE, + BlockingFn: RPC_BLOCKING_FN, + ServerTid: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSetThreadParams( + fClientFree: ::std::os::raw::c_int, + Context: *mut ::std::os::raw::c_void, + hWndClient: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcWindowProc( + hWnd: *mut ::std::os::raw::c_void, + Message: ::std::os::raw::c_uint, + wParam: ::std::os::raw::c_uint, + lParam: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn I_RpcServerUnregisterEndpointA(Protseq: RPC_CSTR, Endpoint: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUnregisterEndpointW(Protseq: RPC_WSTR, Endpoint: RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqTransportType(Type: *mut ::std::os::raw::c_uint) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcMapWin32Status(Status: RPC_STATUS) -> ::std::os::raw::c_long; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR { + pub BufferSize: ::std::os::raw::c_ulong, + pub Buffer: *mut ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout__RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR), + "::", + stringify!(Buffer) + ) + ); +} +pub type RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR = _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RDR_CALLOUT_STATE { + pub LastError: RPC_STATUS, + pub LastEEInfo: *mut ::std::os::raw::c_void, + pub LastCalledStage: RPC_HTTP_REDIRECTOR_STAGE, + pub ServerName: *mut ::std::os::raw::c_ushort, + pub ServerPort: *mut ::std::os::raw::c_ushort, + pub RemoteUser: *mut ::std::os::raw::c_ushort, + pub AuthType: *mut ::std::os::raw::c_ushort, + pub ResourceTypePresent: ::std::os::raw::c_uchar, + pub SessionIdPresent: ::std::os::raw::c_uchar, + pub InterfacePresent: ::std::os::raw::c_uchar, + pub ResourceType: UUID, + pub SessionId: UUID, + pub Interface: RPC_SYNTAX_IDENTIFIER, + pub CertContext: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__RDR_CALLOUT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_RDR_CALLOUT_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RDR_CALLOUT_STATE>(), + 120usize, + concat!("Size of: ", stringify!(_RDR_CALLOUT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_RDR_CALLOUT_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_RDR_CALLOUT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastEEInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastEEInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastCalledStage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastCalledStage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPort) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ServerPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoteUser) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(RemoteUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(AuthType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceTypePresent) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ResourceTypePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionIdPresent) as usize - ptr as usize }, + 57usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(SessionIdPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfacePresent) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(InterfacePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ResourceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionId) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(SessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Interface) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(Interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertContext) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(CertContext) + ) + ); +} +pub type RDR_CALLOUT_STATE = _RDR_CALLOUT_STATE; +pub type I_RpcProxyIsValidMachineFn = ::std::option::Option< + unsafe extern "C" fn( + Machine: RPC_WSTR, + DotMachine: RPC_WSTR, + PortNumber: ::std::os::raw::c_ulong, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyGetClientAddressFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + Buffer: *mut ::std::os::raw::c_char, + BufferLength: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyGetConnectionTimeoutFn = ::std::option::Option< + unsafe extern "C" fn(ConnectionTimeout: *mut ::std::os::raw::c_ulong) -> RPC_STATUS, +>; +pub type I_RpcPerformCalloutFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + CallOutState: *mut RDR_CALLOUT_STATE, + Stage: RPC_HTTP_REDIRECTOR_STAGE, + ) -> RPC_STATUS, +>; +pub type I_RpcFreeCalloutStateFn = + ::std::option::Option; +pub type I_RpcProxyGetClientSessionAndResourceUUID = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + SessionIdPresent: *mut ::std::os::raw::c_int, + SessionId: *mut UUID, + ResourceIdPresent: *mut ::std::os::raw::c_int, + ResourceId: *mut UUID, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyFilterIfFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + IfUuid: *mut UUID, + IfMajorVersion: ::std::os::raw::c_ushort, + fAllow: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS, +>; +pub const RpcProxyPerfCounters_RpcCurrentUniqueUser: RpcProxyPerfCounters = 1; +pub const RpcProxyPerfCounters_RpcBackEndConnectionAttempts: RpcProxyPerfCounters = 2; +pub const RpcProxyPerfCounters_RpcBackEndConnectionFailed: RpcProxyPerfCounters = 3; +pub const RpcProxyPerfCounters_RpcRequestsPerSecond: RpcProxyPerfCounters = 4; +pub const RpcProxyPerfCounters_RpcIncomingConnections: RpcProxyPerfCounters = 5; +pub const RpcProxyPerfCounters_RpcIncomingBandwidth: RpcProxyPerfCounters = 6; +pub const RpcProxyPerfCounters_RpcOutgoingBandwidth: RpcProxyPerfCounters = 7; +pub const RpcProxyPerfCounters_RpcAttemptedLbsDecisions: RpcProxyPerfCounters = 8; +pub const RpcProxyPerfCounters_RpcFailedLbsDecisions: RpcProxyPerfCounters = 9; +pub const RpcProxyPerfCounters_RpcAttemptedLbsMessages: RpcProxyPerfCounters = 10; +pub const RpcProxyPerfCounters_RpcFailedLbsMessages: RpcProxyPerfCounters = 11; +pub const RpcProxyPerfCounters_RpcLastCounter: RpcProxyPerfCounters = 12; +pub type RpcProxyPerfCounters = ::std::os::raw::c_int; +pub use self::RpcProxyPerfCounters as RpcPerfCounters; +pub type I_RpcProxyUpdatePerfCounterFn = ::std::option::Option< + unsafe extern "C" fn( + Counter: RpcPerfCounters, + ModifyTrend: ::std::os::raw::c_int, + Size: ::std::os::raw::c_ulong, + ), +>; +pub type I_RpcProxyUpdatePerfCounterBackendServerFn = ::std::option::Option< + unsafe extern "C" fn( + MachineName: *mut ::std::os::raw::c_ushort, + IsConnectEvent: ::std::os::raw::c_int, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagI_RpcProxyCallbackInterface { + pub IsValidMachineFn: I_RpcProxyIsValidMachineFn, + pub GetClientAddressFn: I_RpcProxyGetClientAddressFn, + pub GetConnectionTimeoutFn: I_RpcProxyGetConnectionTimeoutFn, + pub PerformCalloutFn: I_RpcPerformCalloutFn, + pub FreeCalloutStateFn: I_RpcFreeCalloutStateFn, + pub GetClientSessionAndResourceUUIDFn: I_RpcProxyGetClientSessionAndResourceUUID, + pub ProxyFilterIfFn: I_RpcProxyFilterIfFn, + pub RpcProxyUpdatePerfCounterFn: I_RpcProxyUpdatePerfCounterFn, + pub RpcProxyUpdatePerfCounterBackendServerFn: I_RpcProxyUpdatePerfCounterBackendServerFn, +} +#[test] +fn bindgen_test_layout_tagI_RpcProxyCallbackInterface() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagI_RpcProxyCallbackInterface)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagI_RpcProxyCallbackInterface)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsValidMachineFn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(IsValidMachineFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClientAddressFn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetClientAddressFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetConnectionTimeoutFn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetConnectionTimeoutFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerformCalloutFn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(PerformCalloutFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeCalloutStateFn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(FreeCalloutStateFn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetClientSessionAndResourceUUIDFn) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetClientSessionAndResourceUUIDFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyFilterIfFn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(ProxyFilterIfFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProxyUpdatePerfCounterFn) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(RpcProxyUpdatePerfCounterFn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RpcProxyUpdatePerfCounterBackendServerFn) as usize + - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(RpcProxyUpdatePerfCounterBackendServerFn) + ) + ); +} +pub type I_RpcProxyCallbackInterface = tagI_RpcProxyCallbackInterface; +extern "C" { + pub fn I_RpcProxyNewConnection( + ConnectionType: ::std::os::raw::c_ulong, + ServerAddress: *mut ::std::os::raw::c_ushort, + ServerPort: *mut ::std::os::raw::c_ushort, + MinConnTimeout: *mut ::std::os::raw::c_ushort, + ConnectionParameter: *mut ::std::os::raw::c_void, + CallOutState: *mut RDR_CALLOUT_STATE, + ProxyCallbackInterface: *mut I_RpcProxyCallbackInterface, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReplyToClientWithStatus( + ConnectionParameter: *mut ::std::os::raw::c_void, + RpcStatus: RPC_STATUS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcRecordCalloutFailure( + RpcStatus: RPC_STATUS, + CallOutState: *mut RDR_CALLOUT_STATE, + DllName: *mut ::std::os::raw::c_ushort, + ); +} +extern "C" { + pub fn I_RpcMgmtEnableDedicatedThreadPool() -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetDefaultSD(ppSecurityDescriptor: *mut *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcOpenClientProcess( + Binding: RPC_BINDING_HANDLE, + DesiredAccess: ::std::os::raw::c_ulong, + ClientProcess: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingIsServerLocal( + Binding: RPC_BINDING_HANDLE, + ServerLocalFlag: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingSetPrivateOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + optionValue: ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerSubscribeForDisconnectNotification( + Binding: RPC_BINDING_HANDLE, + hEvent: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerGetAssociationID( + Binding: RPC_BINDING_HANDLE, + AssociationID: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerDisableExceptionFilter() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn I_RpcServerSubscribeForDisconnectNotification2( + Binding: RPC_BINDING_HANDLE, + hEvent: *mut ::std::os::raw::c_void, + SubscriptionId: *mut UUID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUnsubscribeForDisconnectNotification( + Binding: RPC_BINDING_HANDLE, + SubscriptionId: UUID, + ) -> RPC_STATUS; +} +pub type RPC_NS_HANDLE = *mut ::std::os::raw::c_void; +extern "C" { + pub fn RpcNsBindingExportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + BindingVec: *mut RPC_BINDING_VECTOR, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + BindingVec: *mut RPC_BINDING_VECTOR, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportPnPA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportPnPA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportPnPW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportPnPW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + BindingMaxCount: ::std::os::raw::c_ulong, + LookupContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + BindingMaxCount: ::std::os::raw::c_ulong, + LookupContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupNext( + LookupContext: RPC_NS_HANDLE, + BindingVec: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupDone(LookupContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupDeleteA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrAddA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrRemoveA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqBeginA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqNextA( + InquiryContext: RPC_NS_HANDLE, + MemberName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupDeleteW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrAddW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrRemoveW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqBeginW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqNextW( + InquiryContext: RPC_NS_HANDLE, + MemberName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileDeleteA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltAddA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + Priority: ::std::os::raw::c_ulong, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltRemoveA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqBeginA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqNextA( + InquiryContext: RPC_NS_HANDLE, + IfId: *mut RPC_IF_ID, + MemberName: *mut RPC_CSTR, + Priority: *mut ::std::os::raw::c_ulong, + Annotation: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileDeleteW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltAddW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + Priority: ::std::os::raw::c_ulong, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltRemoveW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqBeginW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqNextW( + InquiryContext: RPC_NS_HANDLE, + IfId: *mut RPC_IF_ID, + MemberName: *mut RPC_WSTR, + Priority: *mut ::std::os::raw::c_ulong, + Annotation: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqNext(InquiryContext: RPC_NS_HANDLE, ObjUuid: *mut UUID) + -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryExpandNameA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ExpandedName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtBindingUnexportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryCreateA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryDeleteA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryInqIfIdsA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfIdVec: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtHandleSetExpAge( + NsHandle: RPC_NS_HANDLE, + ExpirationAge: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtInqExpAge(ExpirationAge: *mut ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtSetExpAge(ExpirationAge: ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryExpandNameW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ExpandedName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtBindingUnexportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryCreateW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryDeleteW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryInqIfIdsW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfIdVec: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + ImportContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + ImportContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportNext( + ImportContext: RPC_NS_HANDLE, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportDone(ImportContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingSelect( + BindingVec: *mut RPC_BINDING_VECTOR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeNone: _RPC_NOTIFICATION_TYPES = 0; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeEvent: _RPC_NOTIFICATION_TYPES = 1; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeApc: _RPC_NOTIFICATION_TYPES = 2; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeIoc: _RPC_NOTIFICATION_TYPES = 3; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeHwnd: _RPC_NOTIFICATION_TYPES = 4; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeCallback: _RPC_NOTIFICATION_TYPES = 5; +pub type _RPC_NOTIFICATION_TYPES = ::std::os::raw::c_int; +pub use self::_RPC_NOTIFICATION_TYPES as RPC_NOTIFICATION_TYPES; +pub const _RPC_ASYNC_EVENT_RpcCallComplete: _RPC_ASYNC_EVENT = 0; +pub const _RPC_ASYNC_EVENT_RpcSendComplete: _RPC_ASYNC_EVENT = 1; +pub const _RPC_ASYNC_EVENT_RpcReceiveComplete: _RPC_ASYNC_EVENT = 2; +pub const _RPC_ASYNC_EVENT_RpcClientDisconnect: _RPC_ASYNC_EVENT = 3; +pub const _RPC_ASYNC_EVENT_RpcClientCancel: _RPC_ASYNC_EVENT = 4; +pub type _RPC_ASYNC_EVENT = ::std::os::raw::c_int; +pub use self::_RPC_ASYNC_EVENT as RPC_ASYNC_EVENT; +pub type PFN_RPCNOTIFICATION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut _RPC_ASYNC_STATE, + arg2: *mut ::std::os::raw::c_void, + arg3: RPC_ASYNC_EVENT, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_ASYNC_NOTIFICATION_INFO { + pub APC: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1, + pub IOC: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2, + pub HWND: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3, + pub hEvent: HANDLE, + pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1 { + pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE, + pub hThread: HANDLE, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationRoutine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1), + "::", + stringify!(NotificationRoutine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1), + "::", + stringify!(hThread) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2 { + pub hIOPort: HANDLE, + pub dwNumberOfBytesTransferred: DWORD, + pub dwCompletionKey: DWORD_PTR, + pub lpOverlapped: LPOVERLAPPED, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>(), + 32usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIOPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(hIOPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfBytesTransferred) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(dwNumberOfBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCompletionKey) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(dwCompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(lpOverlapped) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3 { + pub hWnd: HWND, + pub Msg: UINT, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Msg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3), + "::", + stringify!(Msg) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).APC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(APC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IOC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(IOC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HWND) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(HWND) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(hEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationRoutine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(NotificationRoutine) + ) + ); +} +pub type RPC_ASYNC_NOTIFICATION_INFO = _RPC_ASYNC_NOTIFICATION_INFO; +pub type PRPC_ASYNC_NOTIFICATION_INFO = *mut _RPC_ASYNC_NOTIFICATION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_ASYNC_STATE { + pub Size: ::std::os::raw::c_uint, + pub Signature: ::std::os::raw::c_ulong, + pub Lock: ::std::os::raw::c_long, + pub Flags: ::std::os::raw::c_ulong, + pub StubInfo: *mut ::std::os::raw::c_void, + pub UserInfo: *mut ::std::os::raw::c_void, + pub RuntimeInfo: *mut ::std::os::raw::c_void, + pub Event: RPC_ASYNC_EVENT, + pub NotificationType: RPC_NOTIFICATION_TYPES, + pub u: RPC_ASYNC_NOTIFICATION_INFO, + pub Reserved: [LONG_PTR; 4usize], +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_STATE>(), + 112usize, + concat!("Size of: ", stringify!(_RPC_ASYNC_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_ASYNC_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Lock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(StubInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(UserInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RuntimeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(RuntimeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Event) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Event) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationType) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(NotificationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Reserved) + ) + ); +} +pub type RPC_ASYNC_STATE = _RPC_ASYNC_STATE; +pub type PRPC_ASYNC_STATE = *mut _RPC_ASYNC_STATE; +extern "C" { + pub fn RpcAsyncRegisterInfo(pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncInitializeHandle( + pAsync: PRPC_ASYNC_STATE, + Size: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncGetCallStatus(pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncCompleteCall( + pAsync: PRPC_ASYNC_STATE, + Reply: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncAbortCall( + pAsync: PRPC_ASYNC_STATE, + ExceptionCode: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncCancelCall(pAsync: PRPC_ASYNC_STATE, fAbort: BOOL) -> RPC_STATUS; +} +pub const tagExtendedErrorParamTypes_eeptAnsiString: tagExtendedErrorParamTypes = 1; +pub const tagExtendedErrorParamTypes_eeptUnicodeString: tagExtendedErrorParamTypes = 2; +pub const tagExtendedErrorParamTypes_eeptLongVal: tagExtendedErrorParamTypes = 3; +pub const tagExtendedErrorParamTypes_eeptShortVal: tagExtendedErrorParamTypes = 4; +pub const tagExtendedErrorParamTypes_eeptPointerVal: tagExtendedErrorParamTypes = 5; +pub const tagExtendedErrorParamTypes_eeptNone: tagExtendedErrorParamTypes = 6; +pub const tagExtendedErrorParamTypes_eeptBinary: tagExtendedErrorParamTypes = 7; +pub type tagExtendedErrorParamTypes = ::std::os::raw::c_int; +pub use self::tagExtendedErrorParamTypes as ExtendedErrorParamTypes; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBinaryParam { + pub Buffer: *mut ::std::os::raw::c_void, + pub Size: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_tagBinaryParam() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBinaryParam)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBinaryParam)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBinaryParam), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBinaryParam), + "::", + stringify!(Size) + ) + ); +} +pub type BinaryParam = tagBinaryParam; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRPC_EE_INFO_PARAM { + pub ParameterType: ExtendedErrorParamTypes, + pub u: tagRPC_EE_INFO_PARAM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRPC_EE_INFO_PARAM__bindgen_ty_1 { + pub AnsiString: LPSTR, + pub UnicodeString: LPWSTR, + pub LVal: ::std::os::raw::c_long, + pub SVal: ::std::os::raw::c_short, + pub PVal: ULONGLONG, + pub BVal: BinaryParam, +} +#[test] +fn bindgen_test_layout_tagRPC_EE_INFO_PARAM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AnsiString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(AnsiString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(UnicodeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(LVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(SVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(PVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(BVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRPC_EE_INFO_PARAM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRPC_EE_INFO_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_EE_INFO_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM), + "::", + stringify!(ParameterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM), + "::", + stringify!(u) + ) + ); +} +pub type RPC_EE_INFO_PARAM = tagRPC_EE_INFO_PARAM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRPC_EXTENDED_ERROR_INFO { + pub Version: ULONG, + pub ComputerName: LPWSTR, + pub ProcessID: ULONG, + pub u: tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1, + pub GeneratingComponent: ULONG, + pub Status: ULONG, + pub DetectionLocation: USHORT, + pub Flags: USHORT, + pub NumberOfParameters: ::std::os::raw::c_int, + pub Parameters: [RPC_EE_INFO_PARAM; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1 { + pub SystemTime: SYSTEMTIME, + pub FileTime: FILETIME, +} +#[test] +fn bindgen_test_layout_tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1), + "::", + stringify!(SystemTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1), + "::", + stringify!(FileTime) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRPC_EXTENDED_ERROR_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagRPC_EXTENDED_ERROR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_EXTENDED_ERROR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComputerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(ComputerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(ProcessID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GeneratingComponent) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(GeneratingComponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetectionLocation) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(DetectionLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfParameters) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(NumberOfParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Parameters) + ) + ); +} +pub type RPC_EXTENDED_ERROR_INFO = tagRPC_EXTENDED_ERROR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_ERROR_ENUM_HANDLE { + pub Signature: ULONG, + pub CurrentPos: *mut ::std::os::raw::c_void, + pub Head: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_tagRPC_ERROR_ENUM_HANDLE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRPC_ERROR_ENUM_HANDLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_ERROR_ENUM_HANDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentPos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(CurrentPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Head) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(Head) + ) + ); +} +pub type RPC_ERROR_ENUM_HANDLE = tagRPC_ERROR_ENUM_HANDLE; +extern "C" { + pub fn RpcErrorStartEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorGetNextRecord( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + CopyStrings: BOOL, + ErrorInfo: *mut RPC_EXTENDED_ERROR_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorEndEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorResetEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorGetNumberOfRecords( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + Records: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorSaveErrorInfo( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + ErrorBlob: *mut PVOID, + BlobSize: *mut usize, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorLoadErrorInfo( + ErrorBlob: PVOID, + BlobSize: usize, + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorAddRecord(ErrorInfo: *mut RPC_EXTENDED_ERROR_INFO) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorClearInformation(); +} +extern "C" { + pub fn RpcAsyncCleanupThread(dwTimeout: DWORD) -> RPC_STATUS; +} +extern "C" { + pub fn RpcGetAuthorizationContextForClient( + ClientBinding: RPC_BINDING_HANDLE, + ImpersonateOnReturn: BOOL, + Reserved1: PVOID, + pExpirationTime: PLARGE_INTEGER, + Reserved2: LUID, + Reserved3: DWORD, + Reserved4: PVOID, + pAuthzClientContext: *mut PVOID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcFreeAuthorizationContext(pAuthzClientContext: *mut PVOID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsContextLockExclusive( + ServerBindingHandle: RPC_BINDING_HANDLE, + UserContext: PVOID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsContextLockShared( + ServerBindingHandle: RPC_BINDING_HANDLE, + UserContext: PVOID, + ) -> RPC_STATUS; +} +pub const tagRpcLocalAddressFormat_rlafInvalid: tagRpcLocalAddressFormat = 0; +pub const tagRpcLocalAddressFormat_rlafIPv4: tagRpcLocalAddressFormat = 1; +pub const tagRpcLocalAddressFormat_rlafIPv6: tagRpcLocalAddressFormat = 2; +pub type tagRpcLocalAddressFormat = ::std::os::raw::c_int; +pub use self::tagRpcLocalAddressFormat as RpcLocalAddressFormat; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_CALL_LOCAL_ADDRESS_V1 { + pub Version: ::std::os::raw::c_uint, + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferSize: ::std::os::raw::c_ulong, + pub AddressFormat: RpcLocalAddressFormat, +} +#[test] +fn bindgen_test_layout__RPC_CALL_LOCAL_ADDRESS_V1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_CALL_LOCAL_ADDRESS_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_CALL_LOCAL_ADDRESS_V1>(), + 24usize, + concat!("Size of: ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_CALL_LOCAL_ADDRESS_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(AddressFormat) + ) + ); +} +pub type RPC_CALL_LOCAL_ADDRESS_V1 = _RPC_CALL_LOCAL_ADDRESS_V1; +pub type PRPC_CALL_LOCAL_ADDRESS_V1 = *mut _RPC_CALL_LOCAL_ADDRESS_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V1_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V1_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(NullSession) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V1_W = tagRPC_CALL_ATTRIBUTES_V1_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V1_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V1_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(NullSession) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V1_A = tagRPC_CALL_ATTRIBUTES_V1_A; +pub const tagRpcCallType_rctInvalid: tagRpcCallType = 0; +pub const tagRpcCallType_rctNormal: tagRpcCallType = 1; +pub const tagRpcCallType_rctTraining: tagRpcCallType = 2; +pub const tagRpcCallType_rctGuaranteed: tagRpcCallType = 3; +pub type tagRpcCallType = ::std::os::raw::c_int; +pub use self::tagRpcCallType as RpcCallType; +pub const tagRpcCallClientLocality_rcclInvalid: tagRpcCallClientLocality = 0; +pub const tagRpcCallClientLocality_rcclLocal: tagRpcCallClientLocality = 1; +pub const tagRpcCallClientLocality_rcclRemote: tagRpcCallClientLocality = 2; +pub const tagRpcCallClientLocality_rcclClientUnknownLocality: tagRpcCallClientLocality = 3; +pub type tagRpcCallClientLocality = ::std::os::raw::c_int; +pub use self::tagRpcCallClientLocality as RpcCallClientLocality; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V2_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: RpcCallClientLocality, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V2_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(InterfaceUuid) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V2_W = tagRPC_CALL_ATTRIBUTES_V2_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V2_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: ::std::os::raw::c_ulong, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V2_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(InterfaceUuid) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V2_A = tagRPC_CALL_ATTRIBUTES_V2_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V3_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: RpcCallClientLocality, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, + pub ClientIdentifierBufferLength: ::std::os::raw::c_ulong, + pub ClientIdentifier: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V3_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(InterfaceUuid) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientIdentifierBufferLength) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientIdentifierBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientIdentifier) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientIdentifier) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V3_W = tagRPC_CALL_ATTRIBUTES_V3_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V3_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: ::std::os::raw::c_ulong, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, + pub ClientIdentifierBufferLength: ::std::os::raw::c_ulong, + pub ClientIdentifier: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V3_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(InterfaceUuid) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientIdentifierBufferLength) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientIdentifierBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientIdentifier) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientIdentifier) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V3_A = tagRPC_CALL_ATTRIBUTES_V3_A; +extern "C" { + pub fn RpcServerInqCallAttributesW( + ClientBinding: RPC_BINDING_HANDLE, + RpcCallAttributes: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqCallAttributesA( + ClientBinding: RPC_BINDING_HANDLE, + RpcCallAttributes: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +pub type RPC_CALL_ATTRIBUTES = RPC_CALL_ATTRIBUTES_V3_A; +pub const _RPC_NOTIFICATIONS_RpcNotificationCallNone: _RPC_NOTIFICATIONS = 0; +pub const _RPC_NOTIFICATIONS_RpcNotificationClientDisconnect: _RPC_NOTIFICATIONS = 1; +pub const _RPC_NOTIFICATIONS_RpcNotificationCallCancel: _RPC_NOTIFICATIONS = 2; +pub type _RPC_NOTIFICATIONS = ::std::os::raw::c_int; +pub use self::_RPC_NOTIFICATIONS as RPC_NOTIFICATIONS; +extern "C" { + pub fn RpcServerSubscribeForNotification( + Binding: RPC_BINDING_HANDLE, + Notification: RPC_NOTIFICATIONS, + NotificationType: RPC_NOTIFICATION_TYPES, + NotificationInfo: *mut RPC_ASYNC_NOTIFICATION_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnsubscribeForNotification( + Binding: RPC_BINDING_HANDLE, + Notification: RPC_NOTIFICATIONS, + NotificationsQueued: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingBind( + pAsync: PRPC_ASYNC_STATE, + Binding: RPC_BINDING_HANDLE, + IfSpec: RPC_IF_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingUnbind(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcAsyncSetHandle(Message: PRPC_MESSAGE, pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcAsyncAbortCall( + pAsync: PRPC_ASYNC_STATE, + ExceptionCode: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcExceptionFilter(ExceptionCode: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn I_RpcBindingInqClientTokenAttributes( + Binding: RPC_BINDING_HANDLE, + TokenId: *mut LUID, + AuthenticationId: *mut LUID, + ModifiedId: *mut LUID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn CommandLineToArgvW( + lpCmdLine: LPCWSTR, + pNumArgs: *mut ::std::os::raw::c_int, + ) -> *mut LPWSTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDROP__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDROP__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDROP__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDROP__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDROP__), + "::", + stringify!(unused) + ) + ); +} +pub type HDROP = *mut HDROP__; +extern "C" { + pub fn DragQueryFileA(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR, cch: UINT) -> UINT; +} +extern "C" { + pub fn DragQueryFileW(hDrop: HDROP, iFile: UINT, lpszFile: LPWSTR, cch: UINT) -> UINT; +} +extern "C" { + pub fn DragQueryPoint(hDrop: HDROP, ppt: *mut POINT) -> BOOL; +} +extern "C" { + pub fn DragFinish(hDrop: HDROP); +} +extern "C" { + pub fn DragAcceptFiles(hWnd: HWND, fAccept: BOOL); +} +extern "C" { + pub fn ShellExecuteA( + hwnd: HWND, + lpOperation: LPCSTR, + lpFile: LPCSTR, + lpParameters: LPCSTR, + lpDirectory: LPCSTR, + nShowCmd: INT, + ) -> HINSTANCE; +} +extern "C" { + pub fn ShellExecuteW( + hwnd: HWND, + lpOperation: LPCWSTR, + lpFile: LPCWSTR, + lpParameters: LPCWSTR, + lpDirectory: LPCWSTR, + nShowCmd: INT, + ) -> HINSTANCE; +} +extern "C" { + pub fn FindExecutableA(lpFile: LPCSTR, lpDirectory: LPCSTR, lpResult: LPSTR) -> HINSTANCE; +} +extern "C" { + pub fn FindExecutableW(lpFile: LPCWSTR, lpDirectory: LPCWSTR, lpResult: LPWSTR) -> HINSTANCE; +} +extern "C" { + pub fn ShellAboutA(hWnd: HWND, szApp: LPCSTR, szOtherStuff: LPCSTR, hIcon: HICON) -> INT; +} +extern "C" { + pub fn ShellAboutW(hWnd: HWND, szApp: LPCWSTR, szOtherStuff: LPCWSTR, hIcon: HICON) -> INT; +} +extern "C" { + pub fn DuplicateIcon(hInst: HINSTANCE, hIcon: HICON) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconA(hInst: HINSTANCE, pszIconPath: LPSTR, piIcon: *mut WORD) + -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconW( + hInst: HINSTANCE, + pszIconPath: LPWSTR, + piIcon: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconExA( + hInst: HINSTANCE, + pszIconPath: LPSTR, + piIconIndex: *mut WORD, + piIconId: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconExW( + hInst: HINSTANCE, + pszIconPath: LPWSTR, + piIconIndex: *mut WORD, + piIconId: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractIconA(hInst: HINSTANCE, pszExeFileName: LPCSTR, nIconIndex: UINT) -> HICON; +} +extern "C" { + pub fn ExtractIconW(hInst: HINSTANCE, pszExeFileName: LPCWSTR, nIconIndex: UINT) -> HICON; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAGINFOA { + pub uSize: UINT, + pub pt: POINT, + pub fNC: BOOL, + pub lpFileList: PZZSTR, + pub grfKeyState: DWORD, +} +#[test] +fn bindgen_test_layout__DRAGINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_DRAGINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAGINFOA>(), + 32usize, + concat!("Size of: ", stringify!(_DRAGINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAGINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_DRAGINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(uSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNC) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(fNC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(lpFileList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfKeyState) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(grfKeyState) + ) + ); +} +pub type DRAGINFOA = _DRAGINFOA; +pub type LPDRAGINFOA = *mut _DRAGINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAGINFOW { + pub uSize: UINT, + pub pt: POINT, + pub fNC: BOOL, + pub lpFileList: PZZWSTR, + pub grfKeyState: DWORD, +} +#[test] +fn bindgen_test_layout__DRAGINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_DRAGINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAGINFOW>(), + 32usize, + concat!("Size of: ", stringify!(_DRAGINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAGINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_DRAGINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(uSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNC) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(fNC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(lpFileList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfKeyState) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(grfKeyState) + ) + ); +} +pub type DRAGINFOW = _DRAGINFOW; +pub type LPDRAGINFOW = *mut _DRAGINFOW; +pub type DRAGINFO = DRAGINFOA; +pub type LPDRAGINFO = LPDRAGINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AppBarData { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uCallbackMessage: UINT, + pub uEdge: UINT, + pub rc: RECT, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout__AppBarData() { + const UNINIT: ::std::mem::MaybeUninit<_AppBarData> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AppBarData>(), + 48usize, + concat!("Size of: ", stringify!(_AppBarData)) + ); + assert_eq!( + ::std::mem::align_of::<_AppBarData>(), + 8usize, + concat!("Alignment of ", stringify!(_AppBarData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uEdge) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(uEdge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(rc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(lParam) + ) + ); +} +pub type APPBARDATA = _AppBarData; +pub type PAPPBARDATA = *mut _AppBarData; +extern "C" { + pub fn SHAppBarMessage(dwMessage: DWORD, pData: PAPPBARDATA) -> UINT_PTR; +} +extern "C" { + pub fn DoEnvironmentSubstA(pszSrc: LPSTR, cchSrc: UINT) -> DWORD; +} +extern "C" { + pub fn DoEnvironmentSubstW(pszSrc: LPWSTR, cchSrc: UINT) -> DWORD; +} +extern "C" { + pub fn ExtractIconExA( + lpszFile: LPCSTR, + nIconIndex: ::std::os::raw::c_int, + phiconLarge: *mut HICON, + phiconSmall: *mut HICON, + nIcons: UINT, + ) -> UINT; +} +extern "C" { + pub fn ExtractIconExW( + lpszFile: LPCWSTR, + nIconIndex: ::std::os::raw::c_int, + phiconLarge: *mut HICON, + phiconSmall: *mut HICON, + nIcons: UINT, + ) -> UINT; +} +pub type FILEOP_FLAGS = WORD; +pub type PRINTEROP_FLAGS = WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEOPSTRUCTA { + pub hwnd: HWND, + pub wFunc: UINT, + pub pFrom: PCZZSTR, + pub pTo: PCZZSTR, + pub fFlags: FILEOP_FLAGS, + pub fAnyOperationsAborted: BOOL, + pub hNameMappings: LPVOID, + pub lpszProgressTitle: PCSTR, +} +#[test] +fn bindgen_test_layout__SHFILEOPSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEOPSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEOPSTRUCTA>(), + 56usize, + concat!("Size of: ", stringify!(_SHFILEOPSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEOPSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEOPSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(wFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFrom) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(pFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(pTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fAnyOperationsAborted) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(fAnyOperationsAborted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNameMappings) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(hNameMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszProgressTitle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(lpszProgressTitle) + ) + ); +} +pub type SHFILEOPSTRUCTA = _SHFILEOPSTRUCTA; +pub type LPSHFILEOPSTRUCTA = *mut _SHFILEOPSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEOPSTRUCTW { + pub hwnd: HWND, + pub wFunc: UINT, + pub pFrom: PCZZWSTR, + pub pTo: PCZZWSTR, + pub fFlags: FILEOP_FLAGS, + pub fAnyOperationsAborted: BOOL, + pub hNameMappings: LPVOID, + pub lpszProgressTitle: PCWSTR, +} +#[test] +fn bindgen_test_layout__SHFILEOPSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEOPSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEOPSTRUCTW>(), + 56usize, + concat!("Size of: ", stringify!(_SHFILEOPSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEOPSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEOPSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(wFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFrom) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(pFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(pTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fAnyOperationsAborted) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(fAnyOperationsAborted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNameMappings) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(hNameMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszProgressTitle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(lpszProgressTitle) + ) + ); +} +pub type SHFILEOPSTRUCTW = _SHFILEOPSTRUCTW; +pub type LPSHFILEOPSTRUCTW = *mut _SHFILEOPSTRUCTW; +pub type SHFILEOPSTRUCT = SHFILEOPSTRUCTA; +pub type LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTA; +extern "C" { + pub fn SHFileOperationA(lpFileOp: LPSHFILEOPSTRUCTA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SHFileOperationW(lpFileOp: LPSHFILEOPSTRUCTW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SHFreeNameMappings(hNameMappings: HANDLE); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHNAMEMAPPINGA { + pub pszOldPath: LPSTR, + pub pszNewPath: LPSTR, + pub cchOldPath: ::std::os::raw::c_int, + pub cchNewPath: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__SHNAMEMAPPINGA() { + const UNINIT: ::std::mem::MaybeUninit<_SHNAMEMAPPINGA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHNAMEMAPPINGA>(), + 24usize, + concat!("Size of: ", stringify!(_SHNAMEMAPPINGA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHNAMEMAPPINGA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHNAMEMAPPINGA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOldPath) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(pszOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNewPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(pszNewPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchOldPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(cchOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchNewPath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(cchNewPath) + ) + ); +} +pub type SHNAMEMAPPINGA = _SHNAMEMAPPINGA; +pub type LPSHNAMEMAPPINGA = *mut _SHNAMEMAPPINGA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHNAMEMAPPINGW { + pub pszOldPath: LPWSTR, + pub pszNewPath: LPWSTR, + pub cchOldPath: ::std::os::raw::c_int, + pub cchNewPath: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__SHNAMEMAPPINGW() { + const UNINIT: ::std::mem::MaybeUninit<_SHNAMEMAPPINGW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHNAMEMAPPINGW>(), + 24usize, + concat!("Size of: ", stringify!(_SHNAMEMAPPINGW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHNAMEMAPPINGW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHNAMEMAPPINGW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOldPath) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(pszOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNewPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(pszNewPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchOldPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(cchOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchNewPath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(cchNewPath) + ) + ); +} +pub type SHNAMEMAPPINGW = _SHNAMEMAPPINGW; +pub type LPSHNAMEMAPPINGW = *mut _SHNAMEMAPPINGW; +pub type SHNAMEMAPPING = SHNAMEMAPPINGA; +pub type LPSHNAMEMAPPING = LPSHNAMEMAPPINGA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SHELLEXECUTEINFOA { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub lpVerb: LPCSTR, + pub lpFile: LPCSTR, + pub lpParameters: LPCSTR, + pub lpDirectory: LPCSTR, + pub nShow: ::std::os::raw::c_int, + pub hInstApp: HINSTANCE, + pub lpIDList: *mut ::std::os::raw::c_void, + pub lpClass: LPCSTR, + pub hkeyClass: HKEY, + pub dwHotKey: DWORD, + pub __bindgen_anon_1: _SHELLEXECUTEINFOA__bindgen_ty_1, + pub hProcess: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SHELLEXECUTEINFOA__bindgen_ty_1 { + pub hIcon: HANDLE, + pub hMonitor: HANDLE, +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMonitor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), + "::", + stringify!(hMonitor) + ) + ); +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOA>(), + 112usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHELLEXECUTEINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVerb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpParameters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDirectory) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nShow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(nShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstApp) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hInstApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpIDList) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpIDList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkeyClass) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hkeyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHotKey) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(dwHotKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hProcess) + ) + ); +} +pub type SHELLEXECUTEINFOA = _SHELLEXECUTEINFOA; +pub type LPSHELLEXECUTEINFOA = *mut _SHELLEXECUTEINFOA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SHELLEXECUTEINFOW { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub lpVerb: LPCWSTR, + pub lpFile: LPCWSTR, + pub lpParameters: LPCWSTR, + pub lpDirectory: LPCWSTR, + pub nShow: ::std::os::raw::c_int, + pub hInstApp: HINSTANCE, + pub lpIDList: *mut ::std::os::raw::c_void, + pub lpClass: LPCWSTR, + pub hkeyClass: HKEY, + pub dwHotKey: DWORD, + pub __bindgen_anon_1: _SHELLEXECUTEINFOW__bindgen_ty_1, + pub hProcess: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SHELLEXECUTEINFOW__bindgen_ty_1 { + pub hIcon: HANDLE, + pub hMonitor: HANDLE, +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOW__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOW__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMonitor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), + "::", + stringify!(hMonitor) + ) + ); +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOW>(), + 112usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHELLEXECUTEINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVerb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpParameters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDirectory) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nShow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(nShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstApp) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hInstApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpIDList) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpIDList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkeyClass) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hkeyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHotKey) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(dwHotKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hProcess) + ) + ); +} +pub type SHELLEXECUTEINFOW = _SHELLEXECUTEINFOW; +pub type LPSHELLEXECUTEINFOW = *mut _SHELLEXECUTEINFOW; +pub type SHELLEXECUTEINFO = SHELLEXECUTEINFOA; +pub type LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOA; +extern "C" { + pub fn ShellExecuteExA(pExecInfo: *mut SHELLEXECUTEINFOA) -> BOOL; +} +extern "C" { + pub fn ShellExecuteExW(pExecInfo: *mut SHELLEXECUTEINFOW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHCREATEPROCESSINFOW { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub pszFile: LPCWSTR, + pub pszParameters: LPCWSTR, + pub pszCurrentDirectory: LPCWSTR, + pub hUserToken: HANDLE, + pub lpProcessAttributes: LPSECURITY_ATTRIBUTES, + pub lpThreadAttributes: LPSECURITY_ATTRIBUTES, + pub bInheritHandles: BOOL, + pub dwCreationFlags: DWORD, + pub lpStartupInfo: LPSTARTUPINFOW, + pub lpProcessInformation: LPPROCESS_INFORMATION, +} +#[test] +fn bindgen_test_layout__SHCREATEPROCESSINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHCREATEPROCESSINFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHCREATEPROCESSINFOW>(), + 88usize, + concat!("Size of: ", stringify!(_SHCREATEPROCESSINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHCREATEPROCESSINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHCREATEPROCESSINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCurrentDirectory) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszCurrentDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hUserToken) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(hUserToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProcessAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpProcessAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpThreadAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandles) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(bInheritHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCreationFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(dwCreationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartupInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpStartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProcessInformation) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpProcessInformation) + ) + ); +} +pub type SHCREATEPROCESSINFOW = _SHCREATEPROCESSINFOW; +pub type PSHCREATEPROCESSINFOW = *mut _SHCREATEPROCESSINFOW; +extern "C" { + pub fn SHCreateProcessAsUserW(pscpi: PSHCREATEPROCESSINFOW) -> BOOL; +} +extern "C" { + pub fn SHEvaluateSystemCommandTemplate( + pszCmdTemplate: PCWSTR, + ppszApplication: *mut PWSTR, + ppszCommandLine: *mut PWSTR, + ppszParameters: *mut PWSTR, + ) -> HRESULT; +} +pub const ASSOCCLASS_ASSOCCLASS_SHELL_KEY: ASSOCCLASS = 0; +pub const ASSOCCLASS_ASSOCCLASS_PROGID_KEY: ASSOCCLASS = 1; +pub const ASSOCCLASS_ASSOCCLASS_PROGID_STR: ASSOCCLASS = 2; +pub const ASSOCCLASS_ASSOCCLASS_CLSID_KEY: ASSOCCLASS = 3; +pub const ASSOCCLASS_ASSOCCLASS_CLSID_STR: ASSOCCLASS = 4; +pub const ASSOCCLASS_ASSOCCLASS_APP_KEY: ASSOCCLASS = 5; +pub const ASSOCCLASS_ASSOCCLASS_APP_STR: ASSOCCLASS = 6; +pub const ASSOCCLASS_ASSOCCLASS_SYSTEM_STR: ASSOCCLASS = 7; +pub const ASSOCCLASS_ASSOCCLASS_FOLDER: ASSOCCLASS = 8; +pub const ASSOCCLASS_ASSOCCLASS_STAR: ASSOCCLASS = 9; +pub const ASSOCCLASS_ASSOCCLASS_FIXED_PROGID_STR: ASSOCCLASS = 10; +pub const ASSOCCLASS_ASSOCCLASS_PROTOCOL_STR: ASSOCCLASS = 11; +pub type ASSOCCLASS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ASSOCIATIONELEMENT { + pub ac: ASSOCCLASS, + pub hkClass: HKEY, + pub pszClass: PCWSTR, +} +#[test] +fn bindgen_test_layout_ASSOCIATIONELEMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ASSOCIATIONELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ASSOCIATIONELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ac) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(ac) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(hkClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszClass) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(pszClass) + ) + ); +} +extern "C" { + pub fn AssocCreateForClasses( + rgClasses: *const ASSOCIATIONELEMENT, + cClasses: ULONG, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHQUERYRBINFO { + pub cbSize: DWORD, + pub i64Size: ::std::os::raw::c_longlong, + pub i64NumItems: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__SHQUERYRBINFO() { + const UNINIT: ::std::mem::MaybeUninit<_SHQUERYRBINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHQUERYRBINFO>(), + 24usize, + concat!("Size of: ", stringify!(_SHQUERYRBINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SHQUERYRBINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SHQUERYRBINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i64Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(i64Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i64NumItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(i64NumItems) + ) + ); +} +pub type SHQUERYRBINFO = _SHQUERYRBINFO; +pub type LPSHQUERYRBINFO = *mut _SHQUERYRBINFO; +extern "C" { + pub fn SHQueryRecycleBinA(pszRootPath: LPCSTR, pSHQueryRBInfo: LPSHQUERYRBINFO) -> HRESULT; +} +extern "C" { + pub fn SHQueryRecycleBinW(pszRootPath: LPCWSTR, pSHQueryRBInfo: LPSHQUERYRBINFO) -> HRESULT; +} +extern "C" { + pub fn SHEmptyRecycleBinA(hwnd: HWND, pszRootPath: LPCSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn SHEmptyRecycleBinW(hwnd: HWND, pszRootPath: LPCWSTR, dwFlags: DWORD) -> HRESULT; +} +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_NOT_PRESENT: QUERY_USER_NOTIFICATION_STATE = 1; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_BUSY: QUERY_USER_NOTIFICATION_STATE = 2; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_RUNNING_D3D_FULL_SCREEN: + QUERY_USER_NOTIFICATION_STATE = 3; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_PRESENTATION_MODE: QUERY_USER_NOTIFICATION_STATE = 4; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_ACCEPTS_NOTIFICATIONS: QUERY_USER_NOTIFICATION_STATE = + 5; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_QUIET_TIME: QUERY_USER_NOTIFICATION_STATE = 6; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_APP: QUERY_USER_NOTIFICATION_STATE = 7; +pub type QUERY_USER_NOTIFICATION_STATE = ::std::os::raw::c_int; +extern "C" { + pub fn SHQueryUserNotificationState(pquns: *mut QUERY_USER_NOTIFICATION_STATE) -> HRESULT; +} +extern "C" { + pub fn SHGetPropertyStoreForWindow( + hwnd: HWND, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NOTIFYICONDATAA { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub uFlags: UINT, + pub uCallbackMessage: UINT, + pub hIcon: HICON, + pub szTip: [CHAR; 128usize], + pub dwState: DWORD, + pub dwStateMask: DWORD, + pub szInfo: [CHAR; 256usize], + pub __bindgen_anon_1: _NOTIFYICONDATAA__bindgen_ty_1, + pub szInfoTitle: [CHAR; 64usize], + pub dwInfoFlags: DWORD, + pub guidItem: GUID, + pub hBalloonIcon: HICON, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NOTIFYICONDATAA__bindgen_ty_1 { + pub uTimeout: UINT, + pub uVersion: UINT, +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAA__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAA__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA__bindgen_ty_1), + "::", + stringify!(uTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA__bindgen_ty_1), + "::", + stringify!(uVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAA() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAA>(), + 528usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAA)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAA>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTip) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szTip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStateMask) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwStateMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfo) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfoTitle) as usize - ptr as usize }, + 436usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szInfoTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoFlags) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwInfoFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(guidItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBalloonIcon) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hBalloonIcon) + ) + ); +} +pub type NOTIFYICONDATAA = _NOTIFYICONDATAA; +pub type PNOTIFYICONDATAA = *mut _NOTIFYICONDATAA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NOTIFYICONDATAW { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub uFlags: UINT, + pub uCallbackMessage: UINT, + pub hIcon: HICON, + pub szTip: [WCHAR; 128usize], + pub dwState: DWORD, + pub dwStateMask: DWORD, + pub szInfo: [WCHAR; 256usize], + pub __bindgen_anon_1: _NOTIFYICONDATAW__bindgen_ty_1, + pub szInfoTitle: [WCHAR; 64usize], + pub dwInfoFlags: DWORD, + pub guidItem: GUID, + pub hBalloonIcon: HICON, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NOTIFYICONDATAW__bindgen_ty_1 { + pub uTimeout: UINT, + pub uVersion: UINT, +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAW__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAW__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW__bindgen_ty_1), + "::", + stringify!(uTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW__bindgen_ty_1), + "::", + stringify!(uVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAW() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAW>(), + 976usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAW)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAW>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTip) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szTip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStateMask) as usize - ptr as usize }, + 300usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwStateMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfo) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfoTitle) as usize - ptr as usize }, + 820usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szInfoTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoFlags) as usize - ptr as usize }, + 948usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwInfoFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 952usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(guidItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBalloonIcon) as usize - ptr as usize }, + 968usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hBalloonIcon) + ) + ); +} +pub type NOTIFYICONDATAW = _NOTIFYICONDATAW; +pub type PNOTIFYICONDATAW = *mut _NOTIFYICONDATAW; +pub type NOTIFYICONDATA = NOTIFYICONDATAA; +pub type PNOTIFYICONDATA = PNOTIFYICONDATAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NOTIFYICONIDENTIFIER { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub guidItem: GUID, +} +#[test] +fn bindgen_test_layout__NOTIFYICONIDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONIDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONIDENTIFIER>(), + 40usize, + concat!("Size of: ", stringify!(_NOTIFYICONIDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONIDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONIDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(guidItem) + ) + ); +} +pub type NOTIFYICONIDENTIFIER = _NOTIFYICONIDENTIFIER; +pub type PNOTIFYICONIDENTIFIER = *mut _NOTIFYICONIDENTIFIER; +extern "C" { + pub fn Shell_NotifyIconA(dwMessage: DWORD, lpData: PNOTIFYICONDATAA) -> BOOL; +} +extern "C" { + pub fn Shell_NotifyIconW(dwMessage: DWORD, lpData: PNOTIFYICONDATAW) -> BOOL; +} +extern "C" { + pub fn Shell_NotifyIconGetRect( + identifier: *const NOTIFYICONIDENTIFIER, + iconLocation: *mut RECT, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEINFOA { + pub hIcon: HICON, + pub iIcon: ::std::os::raw::c_int, + pub dwAttributes: DWORD, + pub szDisplayName: [CHAR; 260usize], + pub szTypeName: [CHAR; 80usize], +} +#[test] +fn bindgen_test_layout__SHFILEINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEINFOA>(), + 360usize, + concat!("Size of: ", stringify!(_SHFILEINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(dwAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTypeName) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(szTypeName) + ) + ); +} +pub type SHFILEINFOA = _SHFILEINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEINFOW { + pub hIcon: HICON, + pub iIcon: ::std::os::raw::c_int, + pub dwAttributes: DWORD, + pub szDisplayName: [WCHAR; 260usize], + pub szTypeName: [WCHAR; 80usize], +} +#[test] +fn bindgen_test_layout__SHFILEINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEINFOW>(), + 696usize, + concat!("Size of: ", stringify!(_SHFILEINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(dwAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTypeName) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(szTypeName) + ) + ); +} +pub type SHFILEINFOW = _SHFILEINFOW; +pub type SHFILEINFO = SHFILEINFOA; +extern "C" { + pub fn SHGetFileInfoA( + pszPath: LPCSTR, + dwFileAttributes: DWORD, + psfi: *mut SHFILEINFOA, + cbFileInfo: UINT, + uFlags: UINT, + ) -> DWORD_PTR; +} +extern "C" { + pub fn SHGetFileInfoW( + pszPath: LPCWSTR, + dwFileAttributes: DWORD, + psfi: *mut SHFILEINFOW, + cbFileInfo: UINT, + uFlags: UINT, + ) -> DWORD_PTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHSTOCKICONINFO { + pub cbSize: DWORD, + pub hIcon: HICON, + pub iSysImageIndex: ::std::os::raw::c_int, + pub iIcon: ::std::os::raw::c_int, + pub szPath: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__SHSTOCKICONINFO() { + const UNINIT: ::std::mem::MaybeUninit<_SHSTOCKICONINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHSTOCKICONINFO>(), + 544usize, + concat!("Size of: ", stringify!(_SHSTOCKICONINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SHSTOCKICONINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SHSTOCKICONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSysImageIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(iSysImageIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(szPath) + ) + ); +} +pub type SHSTOCKICONINFO = _SHSTOCKICONINFO; +pub const SHSTOCKICONID_SIID_DOCNOASSOC: SHSTOCKICONID = 0; +pub const SHSTOCKICONID_SIID_DOCASSOC: SHSTOCKICONID = 1; +pub const SHSTOCKICONID_SIID_APPLICATION: SHSTOCKICONID = 2; +pub const SHSTOCKICONID_SIID_FOLDER: SHSTOCKICONID = 3; +pub const SHSTOCKICONID_SIID_FOLDEROPEN: SHSTOCKICONID = 4; +pub const SHSTOCKICONID_SIID_DRIVE525: SHSTOCKICONID = 5; +pub const SHSTOCKICONID_SIID_DRIVE35: SHSTOCKICONID = 6; +pub const SHSTOCKICONID_SIID_DRIVEREMOVE: SHSTOCKICONID = 7; +pub const SHSTOCKICONID_SIID_DRIVEFIXED: SHSTOCKICONID = 8; +pub const SHSTOCKICONID_SIID_DRIVENET: SHSTOCKICONID = 9; +pub const SHSTOCKICONID_SIID_DRIVENETDISABLED: SHSTOCKICONID = 10; +pub const SHSTOCKICONID_SIID_DRIVECD: SHSTOCKICONID = 11; +pub const SHSTOCKICONID_SIID_DRIVERAM: SHSTOCKICONID = 12; +pub const SHSTOCKICONID_SIID_WORLD: SHSTOCKICONID = 13; +pub const SHSTOCKICONID_SIID_SERVER: SHSTOCKICONID = 15; +pub const SHSTOCKICONID_SIID_PRINTER: SHSTOCKICONID = 16; +pub const SHSTOCKICONID_SIID_MYNETWORK: SHSTOCKICONID = 17; +pub const SHSTOCKICONID_SIID_FIND: SHSTOCKICONID = 22; +pub const SHSTOCKICONID_SIID_HELP: SHSTOCKICONID = 23; +pub const SHSTOCKICONID_SIID_SHARE: SHSTOCKICONID = 28; +pub const SHSTOCKICONID_SIID_LINK: SHSTOCKICONID = 29; +pub const SHSTOCKICONID_SIID_SLOWFILE: SHSTOCKICONID = 30; +pub const SHSTOCKICONID_SIID_RECYCLER: SHSTOCKICONID = 31; +pub const SHSTOCKICONID_SIID_RECYCLERFULL: SHSTOCKICONID = 32; +pub const SHSTOCKICONID_SIID_MEDIACDAUDIO: SHSTOCKICONID = 40; +pub const SHSTOCKICONID_SIID_LOCK: SHSTOCKICONID = 47; +pub const SHSTOCKICONID_SIID_AUTOLIST: SHSTOCKICONID = 49; +pub const SHSTOCKICONID_SIID_PRINTERNET: SHSTOCKICONID = 50; +pub const SHSTOCKICONID_SIID_SERVERSHARE: SHSTOCKICONID = 51; +pub const SHSTOCKICONID_SIID_PRINTERFAX: SHSTOCKICONID = 52; +pub const SHSTOCKICONID_SIID_PRINTERFAXNET: SHSTOCKICONID = 53; +pub const SHSTOCKICONID_SIID_PRINTERFILE: SHSTOCKICONID = 54; +pub const SHSTOCKICONID_SIID_STACK: SHSTOCKICONID = 55; +pub const SHSTOCKICONID_SIID_MEDIASVCD: SHSTOCKICONID = 56; +pub const SHSTOCKICONID_SIID_STUFFEDFOLDER: SHSTOCKICONID = 57; +pub const SHSTOCKICONID_SIID_DRIVEUNKNOWN: SHSTOCKICONID = 58; +pub const SHSTOCKICONID_SIID_DRIVEDVD: SHSTOCKICONID = 59; +pub const SHSTOCKICONID_SIID_MEDIADVD: SHSTOCKICONID = 60; +pub const SHSTOCKICONID_SIID_MEDIADVDRAM: SHSTOCKICONID = 61; +pub const SHSTOCKICONID_SIID_MEDIADVDRW: SHSTOCKICONID = 62; +pub const SHSTOCKICONID_SIID_MEDIADVDR: SHSTOCKICONID = 63; +pub const SHSTOCKICONID_SIID_MEDIADVDROM: SHSTOCKICONID = 64; +pub const SHSTOCKICONID_SIID_MEDIACDAUDIOPLUS: SHSTOCKICONID = 65; +pub const SHSTOCKICONID_SIID_MEDIACDRW: SHSTOCKICONID = 66; +pub const SHSTOCKICONID_SIID_MEDIACDR: SHSTOCKICONID = 67; +pub const SHSTOCKICONID_SIID_MEDIACDBURN: SHSTOCKICONID = 68; +pub const SHSTOCKICONID_SIID_MEDIABLANKCD: SHSTOCKICONID = 69; +pub const SHSTOCKICONID_SIID_MEDIACDROM: SHSTOCKICONID = 70; +pub const SHSTOCKICONID_SIID_AUDIOFILES: SHSTOCKICONID = 71; +pub const SHSTOCKICONID_SIID_IMAGEFILES: SHSTOCKICONID = 72; +pub const SHSTOCKICONID_SIID_VIDEOFILES: SHSTOCKICONID = 73; +pub const SHSTOCKICONID_SIID_MIXEDFILES: SHSTOCKICONID = 74; +pub const SHSTOCKICONID_SIID_FOLDERBACK: SHSTOCKICONID = 75; +pub const SHSTOCKICONID_SIID_FOLDERFRONT: SHSTOCKICONID = 76; +pub const SHSTOCKICONID_SIID_SHIELD: SHSTOCKICONID = 77; +pub const SHSTOCKICONID_SIID_WARNING: SHSTOCKICONID = 78; +pub const SHSTOCKICONID_SIID_INFO: SHSTOCKICONID = 79; +pub const SHSTOCKICONID_SIID_ERROR: SHSTOCKICONID = 80; +pub const SHSTOCKICONID_SIID_KEY: SHSTOCKICONID = 81; +pub const SHSTOCKICONID_SIID_SOFTWARE: SHSTOCKICONID = 82; +pub const SHSTOCKICONID_SIID_RENAME: SHSTOCKICONID = 83; +pub const SHSTOCKICONID_SIID_DELETE: SHSTOCKICONID = 84; +pub const SHSTOCKICONID_SIID_MEDIAAUDIODVD: SHSTOCKICONID = 85; +pub const SHSTOCKICONID_SIID_MEDIAMOVIEDVD: SHSTOCKICONID = 86; +pub const SHSTOCKICONID_SIID_MEDIAENHANCEDCD: SHSTOCKICONID = 87; +pub const SHSTOCKICONID_SIID_MEDIAENHANCEDDVD: SHSTOCKICONID = 88; +pub const SHSTOCKICONID_SIID_MEDIAHDDVD: SHSTOCKICONID = 89; +pub const SHSTOCKICONID_SIID_MEDIABLURAY: SHSTOCKICONID = 90; +pub const SHSTOCKICONID_SIID_MEDIAVCD: SHSTOCKICONID = 91; +pub const SHSTOCKICONID_SIID_MEDIADVDPLUSR: SHSTOCKICONID = 92; +pub const SHSTOCKICONID_SIID_MEDIADVDPLUSRW: SHSTOCKICONID = 93; +pub const SHSTOCKICONID_SIID_DESKTOPPC: SHSTOCKICONID = 94; +pub const SHSTOCKICONID_SIID_MOBILEPC: SHSTOCKICONID = 95; +pub const SHSTOCKICONID_SIID_USERS: SHSTOCKICONID = 96; +pub const SHSTOCKICONID_SIID_MEDIASMARTMEDIA: SHSTOCKICONID = 97; +pub const SHSTOCKICONID_SIID_MEDIACOMPACTFLASH: SHSTOCKICONID = 98; +pub const SHSTOCKICONID_SIID_DEVICECELLPHONE: SHSTOCKICONID = 99; +pub const SHSTOCKICONID_SIID_DEVICECAMERA: SHSTOCKICONID = 100; +pub const SHSTOCKICONID_SIID_DEVICEVIDEOCAMERA: SHSTOCKICONID = 101; +pub const SHSTOCKICONID_SIID_DEVICEAUDIOPLAYER: SHSTOCKICONID = 102; +pub const SHSTOCKICONID_SIID_NETWORKCONNECT: SHSTOCKICONID = 103; +pub const SHSTOCKICONID_SIID_INTERNET: SHSTOCKICONID = 104; +pub const SHSTOCKICONID_SIID_ZIPFILE: SHSTOCKICONID = 105; +pub const SHSTOCKICONID_SIID_SETTINGS: SHSTOCKICONID = 106; +pub const SHSTOCKICONID_SIID_DRIVEHDDVD: SHSTOCKICONID = 132; +pub const SHSTOCKICONID_SIID_DRIVEBD: SHSTOCKICONID = 133; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDROM: SHSTOCKICONID = 134; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDR: SHSTOCKICONID = 135; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDRAM: SHSTOCKICONID = 136; +pub const SHSTOCKICONID_SIID_MEDIABDROM: SHSTOCKICONID = 137; +pub const SHSTOCKICONID_SIID_MEDIABDR: SHSTOCKICONID = 138; +pub const SHSTOCKICONID_SIID_MEDIABDRE: SHSTOCKICONID = 139; +pub const SHSTOCKICONID_SIID_CLUSTEREDDRIVE: SHSTOCKICONID = 140; +pub const SHSTOCKICONID_SIID_MAX_ICONS: SHSTOCKICONID = 181; +pub type SHSTOCKICONID = ::std::os::raw::c_int; +extern "C" { + pub fn SHGetStockIconInfo( + siid: SHSTOCKICONID, + uFlags: UINT, + psii: *mut SHSTOCKICONINFO, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetDiskFreeSpaceExA( + pszDirectoryName: LPCSTR, + pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, + pulTotalNumberOfBytes: *mut ULARGE_INTEGER, + pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn SHGetDiskFreeSpaceExW( + pszDirectoryName: LPCWSTR, + pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, + pulTotalNumberOfBytes: *mut ULARGE_INTEGER, + pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn SHGetNewLinkInfoA( + pszLinkTo: LPCSTR, + pszDir: LPCSTR, + pszName: LPSTR, + pfMustCopy: *mut BOOL, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SHGetNewLinkInfoW( + pszLinkTo: LPCWSTR, + pszDir: LPCWSTR, + pszName: LPWSTR, + pfMustCopy: *mut BOOL, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SHInvokePrinterCommandA( + hwnd: HWND, + uAction: UINT, + lpBuf1: LPCSTR, + lpBuf2: LPCSTR, + fModal: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SHInvokePrinterCommandW( + hwnd: HWND, + uAction: UINT, + lpBuf1: LPCWSTR, + lpBuf2: LPCWSTR, + fModal: BOOL, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPEN_PRINTER_PROPS_INFOA { + pub dwSize: DWORD, + pub pszSheetName: LPSTR, + pub uSheetIndex: UINT, + pub dwFlags: DWORD, + pub bModal: BOOL, +} +#[test] +fn bindgen_test_layout__OPEN_PRINTER_PROPS_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_OPEN_PRINTER_PROPS_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPEN_PRINTER_PROPS_INFOA>(), + 32usize, + concat!("Size of: ", stringify!(_OPEN_PRINTER_PROPS_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_OPEN_PRINTER_PROPS_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_OPEN_PRINTER_PROPS_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSheetName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(pszSheetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSheetIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(uSheetIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bModal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(bModal) + ) + ); +} +pub type OPEN_PRINTER_PROPS_INFOA = _OPEN_PRINTER_PROPS_INFOA; +pub type POPEN_PRINTER_PROPS_INFOA = *mut _OPEN_PRINTER_PROPS_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPEN_PRINTER_PROPS_INFOW { + pub dwSize: DWORD, + pub pszSheetName: LPWSTR, + pub uSheetIndex: UINT, + pub dwFlags: DWORD, + pub bModal: BOOL, +} +#[test] +fn bindgen_test_layout__OPEN_PRINTER_PROPS_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_OPEN_PRINTER_PROPS_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPEN_PRINTER_PROPS_INFOW>(), + 32usize, + concat!("Size of: ", stringify!(_OPEN_PRINTER_PROPS_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_OPEN_PRINTER_PROPS_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_OPEN_PRINTER_PROPS_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSheetName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(pszSheetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSheetIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(uSheetIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bModal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(bModal) + ) + ); +} +pub type OPEN_PRINTER_PROPS_INFOW = _OPEN_PRINTER_PROPS_INFOW; +pub type POPEN_PRINTER_PROPS_INFOW = *mut _OPEN_PRINTER_PROPS_INFOW; +pub type OPEN_PRINTER_PROPS_INFO = OPEN_PRINTER_PROPS_INFOA; +pub type POPEN_PRINTER_PROPS_INFO = POPEN_PRINTER_PROPS_INFOA; +extern "C" { + pub fn SHLoadNonloadedIconOverlayIdentifiers() -> HRESULT; +} +extern "C" { + pub fn SHIsFileAvailableOffline(pwszPath: PCWSTR, pdwStatus: *mut DWORD) -> HRESULT; +} +extern "C" { + pub fn SHSetLocalizedName( + pszPath: PCWSTR, + pszResModule: PCWSTR, + idsRes: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHRemoveLocalizedName(pszPath: PCWSTR) -> HRESULT; +} +extern "C" { + pub fn SHGetLocalizedName( + pszPath: PCWSTR, + pszResModule: PWSTR, + cch: UINT, + pidsRes: *mut ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn ShellMessageBoxA( + hAppInst: HINSTANCE, + hWnd: HWND, + lpcText: LPCSTR, + lpcTitle: LPCSTR, + fuStyle: UINT, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ShellMessageBoxW( + hAppInst: HINSTANCE, + hWnd: HWND, + lpcText: LPCWSTR, + lpcTitle: LPCWSTR, + fuStyle: UINT, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsLFNDriveA(pszPath: LPCSTR) -> BOOL; +} +extern "C" { + pub fn IsLFNDriveW(pszPath: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SHEnumerateUnreadMailAccountsA( + hKeyUser: HKEY, + dwIndex: DWORD, + pszMailAddress: LPSTR, + cchMailAddress: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHEnumerateUnreadMailAccountsW( + hKeyUser: HKEY, + dwIndex: DWORD, + pszMailAddress: LPWSTR, + cchMailAddress: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetUnreadMailCountA( + hKeyUser: HKEY, + pszMailAddress: LPCSTR, + pdwCount: *mut DWORD, + pFileTime: *mut FILETIME, + pszShellExecuteCommand: LPSTR, + cchShellExecuteCommand: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetUnreadMailCountW( + hKeyUser: HKEY, + pszMailAddress: LPCWSTR, + pdwCount: *mut DWORD, + pFileTime: *mut FILETIME, + pszShellExecuteCommand: LPWSTR, + cchShellExecuteCommand: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHSetUnreadMailCountA( + pszMailAddress: LPCSTR, + dwCount: DWORD, + pszShellExecuteCommand: LPCSTR, + ) -> HRESULT; +} +extern "C" { + pub fn SHSetUnreadMailCountW( + pszMailAddress: LPCWSTR, + dwCount: DWORD, + pszShellExecuteCommand: LPCWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn SHTestTokenMembership(hToken: HANDLE, ulRID: ULONG) -> BOOL; +} +extern "C" { + pub fn SHGetImageList( + iImageList: ::std::os::raw::c_int, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +pub type PFNCANSHAREFOLDERW = + ::std::option::Option HRESULT>; +pub type PFNSHOWSHAREFOLDERUIW = + ::std::option::Option HRESULT>; +extern "C" { + pub fn InitNetworkAddressControl() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNC_ADDRESS { + pub pAddrInfo: *mut NET_ADDRESS_INFO_, + pub PortNumber: USHORT, + pub PrefixLength: BYTE, +} +#[test] +fn bindgen_test_layout_tagNC_ADDRESS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagNC_ADDRESS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNC_ADDRESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAddrInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(pAddrInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PortNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(PortNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrefixLength) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(PrefixLength) + ) + ); +} +pub type NC_ADDRESS = tagNC_ADDRESS; +pub type PNC_ADDRESS = *mut tagNC_ADDRESS; +extern "C" { + pub fn SHGetDriveMedia(pszDrive: PCWSTR, pdwMediaContent: *mut DWORD) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_DATA_BLOCK { + pub Signature: [WCHAR; 4usize], + pub LittleEndian: DWORD, + pub Version: DWORD, + pub Revision: DWORD, + pub TotalByteLength: DWORD, + pub HeaderLength: DWORD, + pub NumObjectTypes: DWORD, + pub DefaultObject: LONG, + pub SystemTime: SYSTEMTIME, + pub PerfTime: LARGE_INTEGER, + pub PerfFreq: LARGE_INTEGER, + pub PerfTime100nSec: LARGE_INTEGER, + pub SystemNameLength: DWORD, + pub SystemNameOffset: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_DATA_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_DATA_BLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_DATA_BLOCK>(), + 88usize, + concat!("Size of: ", stringify!(_PERF_DATA_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_DATA_BLOCK>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_DATA_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LittleEndian) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(LittleEndian) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalByteLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(TotalByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(HeaderLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumObjectTypes) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(NumObjectTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultObject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(DefaultObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemTime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfFreq) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime100nSec) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfTime100nSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemNameLength) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemNameOffset) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemNameOffset) + ) + ); +} +pub type PERF_DATA_BLOCK = _PERF_DATA_BLOCK; +pub type PPERF_DATA_BLOCK = *mut _PERF_DATA_BLOCK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_OBJECT_TYPE { + pub TotalByteLength: DWORD, + pub DefinitionLength: DWORD, + pub HeaderLength: DWORD, + pub ObjectNameTitleIndex: DWORD, + pub ObjectNameTitle: DWORD, + pub ObjectHelpTitleIndex: DWORD, + pub ObjectHelpTitle: DWORD, + pub DetailLevel: DWORD, + pub NumCounters: DWORD, + pub DefaultCounter: LONG, + pub NumInstances: LONG, + pub CodePage: DWORD, + pub PerfTime: LARGE_INTEGER, + pub PerfFreq: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__PERF_OBJECT_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_OBJECT_TYPE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_OBJECT_TYPE>(), + 64usize, + concat!("Size of: ", stringify!(_PERF_OBJECT_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_OBJECT_TYPE>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_OBJECT_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(TotalByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefinitionLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DefinitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(HeaderLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectNameTitleIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectNameTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectNameTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectNameTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHelpTitleIndex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectHelpTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHelpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectHelpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetailLevel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DetailLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumCounters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(NumCounters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultCounter) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DefaultCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumInstances) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(NumInstances) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(PerfTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfFreq) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(PerfFreq) + ) + ); +} +pub type PERF_OBJECT_TYPE = _PERF_OBJECT_TYPE; +pub type PPERF_OBJECT_TYPE = *mut _PERF_OBJECT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_COUNTER_DEFINITION { + pub ByteLength: DWORD, + pub CounterNameTitleIndex: DWORD, + pub CounterNameTitle: DWORD, + pub CounterHelpTitleIndex: DWORD, + pub CounterHelpTitle: DWORD, + pub DefaultScale: LONG, + pub DetailLevel: DWORD, + pub CounterType: DWORD, + pub CounterSize: DWORD, + pub CounterOffset: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_COUNTER_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_COUNTER_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_COUNTER_DEFINITION>(), + 40usize, + concat!("Size of: ", stringify!(_PERF_COUNTER_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_COUNTER_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_COUNTER_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterNameTitleIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterNameTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterNameTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterNameTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterHelpTitleIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterHelpTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterHelpTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterHelpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultScale) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(DefaultScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetailLevel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(DetailLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterOffset) + ) + ); +} +pub type PERF_COUNTER_DEFINITION = _PERF_COUNTER_DEFINITION; +pub type PPERF_COUNTER_DEFINITION = *mut _PERF_COUNTER_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_INSTANCE_DEFINITION { + pub ByteLength: DWORD, + pub ParentObjectTitleIndex: DWORD, + pub ParentObjectInstance: DWORD, + pub UniqueID: LONG, + pub NameOffset: DWORD, + pub NameLength: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_INSTANCE_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_INSTANCE_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_INSTANCE_DEFINITION>(), + 24usize, + concat!("Size of: ", stringify!(_PERF_INSTANCE_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_INSTANCE_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_INSTANCE_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentObjectTitleIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ParentObjectTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentObjectInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ParentObjectInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(UniqueID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(NameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(NameLength) + ) + ); +} +pub type PERF_INSTANCE_DEFINITION = _PERF_INSTANCE_DEFINITION; +pub type PPERF_INSTANCE_DEFINITION = *mut _PERF_INSTANCE_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_COUNTER_BLOCK { + pub ByteLength: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_COUNTER_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_COUNTER_BLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_COUNTER_BLOCK>(), + 4usize, + concat!("Size of: ", stringify!(_PERF_COUNTER_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_COUNTER_BLOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_COUNTER_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_BLOCK), + "::", + stringify!(ByteLength) + ) + ); +} +pub type PERF_COUNTER_BLOCK = _PERF_COUNTER_BLOCK; +pub type PPERF_COUNTER_BLOCK = *mut _PERF_COUNTER_BLOCK; +pub type u_char = ::std::os::raw::c_uchar; +pub type u_short = ::std::os::raw::c_ushort; +pub type u_int = ::std::os::raw::c_uint; +pub type u_long = ::std::os::raw::c_ulong; +pub type SOCKET = UINT_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fd_set { + pub fd_count: u_int, + pub fd_array: [SOCKET; 64usize], +} +#[test] +fn bindgen_test_layout_fd_set() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 520usize, + concat!("Size of: ", stringify!(fd_set)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(fd_set)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fd_count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(fd_set), + "::", + stringify!(fd_count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fd_array) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(fd_set), + "::", + stringify!(fd_array) + ) + ); +} +extern "C" { + pub fn __WSAFDIsSet(arg1: SOCKET, arg2: *mut fd_set) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timeval { + pub tv_sec: ::std::os::raw::c_long, + pub tv_usec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_timeval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(timeval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(timeval)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_usec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hostent { + pub h_name: *mut ::std::os::raw::c_char, + pub h_aliases: *mut *mut ::std::os::raw::c_char, + pub h_addrtype: ::std::os::raw::c_short, + pub h_length: ::std::os::raw::c_short, + pub h_addr_list: *mut *mut ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_hostent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(hostent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(hostent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_addrtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_addr_list) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netent { + pub n_name: *mut ::std::os::raw::c_char, + pub n_aliases: *mut *mut ::std::os::raw::c_char, + pub n_addrtype: ::std::os::raw::c_short, + pub n_net: u_long, +} +#[test] +fn bindgen_test_layout_netent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(netent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(netent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_addrtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_net) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct servent { + pub s_name: *mut ::std::os::raw::c_char, + pub s_aliases: *mut *mut ::std::os::raw::c_char, + pub s_proto: *mut ::std::os::raw::c_char, + pub s_port: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_servent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(servent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(servent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_proto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_port) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct protoent { + pub p_name: *mut ::std::os::raw::c_char, + pub p_aliases: *mut *mut ::std::os::raw::c_char, + pub p_proto: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_protoent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(protoent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(protoent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_proto) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in_addr { + pub S_un: in_addr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union in_addr__bindgen_ty_1 { + pub S_un_b: in_addr__bindgen_ty_1__bindgen_ty_1, + pub S_un_w: in_addr__bindgen_ty_1__bindgen_ty_2, + pub S_addr: ULONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_addr__bindgen_ty_1__bindgen_ty_1 { + pub s_b1: UCHAR, + pub s_b2: UCHAR, + pub s_b3: UCHAR, + pub s_b4: UCHAR, +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b2) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b3) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b4) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b4) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_addr__bindgen_ty_1__bindgen_ty_2 { + pub s_w1: USHORT, + pub s_w2: USHORT, +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_w1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(s_w1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_w2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(s_w2) + ) + ); +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_addr__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un_b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_un_b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un_w) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_un_w) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_addr) + ) + ); +} +#[test] +fn bindgen_test_layout_in_addr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_addr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr), + "::", + stringify!(S_un) + ) + ); +} +pub type IN_ADDR = in_addr; +pub type PIN_ADDR = *mut in_addr; +pub type LPIN_ADDR = *mut in_addr; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockaddr_in { + pub sin_family: ::std::os::raw::c_short, + pub sin_port: u_short, + pub sin_addr: in_addr, + pub sin_zero: [::std::os::raw::c_char; 8usize], +} +#[test] +fn bindgen_test_layout_sockaddr_in() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sockaddr_in)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_port) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_port) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_addr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_zero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_zero) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WSAData { + pub wVersion: WORD, + pub wHighVersion: WORD, + pub iMaxSockets: ::std::os::raw::c_ushort, + pub iMaxUdpDg: ::std::os::raw::c_ushort, + pub lpVendorInfo: *mut ::std::os::raw::c_char, + pub szDescription: [::std::os::raw::c_char; 257usize], + pub szSystemStatus: [::std::os::raw::c_char; 129usize], +} +#[test] +fn bindgen_test_layout_WSAData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(WSAData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(WSAData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(wVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHighVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(wHighVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSockets) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(iMaxSockets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxUdpDg) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(iMaxUdpDg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVendorInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(lpVendorInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szSystemStatus) as usize - ptr as usize }, + 273usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(szSystemStatus) + ) + ); +} +pub type WSADATA = WSAData; +pub type LPWSADATA = *mut WSADATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_mreq { + pub imr_multiaddr: in_addr, + pub imr_interface: in_addr, +} +#[test] +fn bindgen_test_layout_ip_mreq() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ip_mreq)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ip_mreq)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq), + "::", + stringify!(imr_multiaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq), + "::", + stringify!(imr_interface) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr { + pub sa_family: u_short, + pub sa_data: [::std::os::raw::c_char; 14usize], +} +#[test] +fn bindgen_test_layout_sockaddr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sockaddr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(sockaddr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr), + "::", + stringify!(sa_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr), + "::", + stringify!(sa_data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockproto { + pub sp_family: u_short, + pub sp_protocol: u_short, +} +#[test] +fn bindgen_test_layout_sockproto() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(sockproto)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(sockproto)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sp_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockproto), + "::", + stringify!(sp_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sp_protocol) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockproto), + "::", + stringify!(sp_protocol) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linger { + pub l_onoff: u_short, + pub l_linger: u_short, +} +#[test] +fn bindgen_test_layout_linger() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(linger)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(linger)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(linger), + "::", + stringify!(l_onoff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(linger), + "::", + stringify!(l_linger) + ) + ); +} +extern "C" { + pub fn accept(s: SOCKET, addr: *mut sockaddr, addrlen: *mut ::std::os::raw::c_int) -> SOCKET; +} +extern "C" { + pub fn bind( + s: SOCKET, + addr: *const sockaddr, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn closesocket(s: SOCKET) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn connect( + s: SOCKET, + name: *const sockaddr, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ioctlsocket( + s: SOCKET, + cmd: ::std::os::raw::c_long, + argp: *mut u_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getpeername( + s: SOCKET, + name: *mut sockaddr, + namelen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getsockname( + s: SOCKET, + name: *mut sockaddr, + namelen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getsockopt( + s: SOCKET, + level: ::std::os::raw::c_int, + optname: ::std::os::raw::c_int, + optval: *mut ::std::os::raw::c_char, + optlen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn htonl(hostlong: u_long) -> u_long; +} +extern "C" { + pub fn htons(hostshort: u_short) -> u_short; +} +extern "C" { + pub fn inet_addr(cp: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn inet_ntoa(in_: in_addr) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn listen(s: SOCKET, backlog: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ntohl(netlong: u_long) -> u_long; +} +extern "C" { + pub fn ntohs(netshort: u_short) -> u_short; +} +extern "C" { + pub fn recv( + s: SOCKET, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn recvfrom( + s: SOCKET, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + from: *mut sockaddr, + fromlen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn select( + nfds: ::std::os::raw::c_int, + readfds: *mut fd_set, + writefds: *mut fd_set, + exceptfds: *mut fd_set, + timeout: *const timeval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn send( + s: SOCKET, + buf: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sendto( + s: SOCKET, + buf: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + to: *const sockaddr, + tolen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setsockopt( + s: SOCKET, + level: ::std::os::raw::c_int, + optname: ::std::os::raw::c_int, + optval: *const ::std::os::raw::c_char, + optlen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn shutdown(s: SOCKET, how: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn socket( + af: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + protocol: ::std::os::raw::c_int, + ) -> SOCKET; +} +extern "C" { + pub fn gethostbyaddr( + addr: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + ) -> *mut hostent; +} +extern "C" { + pub fn gethostbyname(name: *const ::std::os::raw::c_char) -> *mut hostent; +} +extern "C" { + pub fn gethostname( + name: *mut ::std::os::raw::c_char, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getservbyport( + port: ::std::os::raw::c_int, + proto: *const ::std::os::raw::c_char, + ) -> *mut servent; +} +extern "C" { + pub fn getservbyname( + name: *const ::std::os::raw::c_char, + proto: *const ::std::os::raw::c_char, + ) -> *mut servent; +} +extern "C" { + pub fn getprotobynumber(proto: ::std::os::raw::c_int) -> *mut protoent; +} +extern "C" { + pub fn getprotobyname(name: *const ::std::os::raw::c_char) -> *mut protoent; +} +extern "C" { + pub fn WSAStartup(wVersionRequired: WORD, lpWSAData: LPWSADATA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSACleanup() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASetLastError(iError: ::std::os::raw::c_int); +} +extern "C" { + pub fn WSAGetLastError() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAIsBlocking() -> BOOL; +} +extern "C" { + pub fn WSAUnhookBlockingHook() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASetBlockingHook(lpBlockFunc: FARPROC) -> FARPROC; +} +extern "C" { + pub fn WSACancelBlockingCall() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAAsyncGetServByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + proto: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetServByPort( + hWnd: HWND, + wMsg: u_int, + port: ::std::os::raw::c_int, + proto: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetProtoByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetProtoByNumber( + hWnd: HWND, + wMsg: u_int, + number: ::std::os::raw::c_int, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetHostByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetHostByAddr( + hWnd: HWND, + wMsg: u_int, + addr: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAAsyncSelect( + s: SOCKET, + hWnd: HWND, + wMsg: u_int, + lEvent: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSARecvEx( + s: SOCKET, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSMIT_FILE_BUFFERS { + pub Head: PVOID, + pub HeadLength: DWORD, + pub Tail: PVOID, + pub TailLength: DWORD, +} +#[test] +fn bindgen_test_layout__TRANSMIT_FILE_BUFFERS() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSMIT_FILE_BUFFERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSMIT_FILE_BUFFERS>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSMIT_FILE_BUFFERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSMIT_FILE_BUFFERS>(), + 8usize, + concat!("Alignment of ", stringify!(_TRANSMIT_FILE_BUFFERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Head) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSMIT_FILE_BUFFERS), + "::", + stringify!(Head) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeadLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRANSMIT_FILE_BUFFERS), + "::", + stringify!(HeadLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tail) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSMIT_FILE_BUFFERS), + "::", + stringify!(Tail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TailLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TRANSMIT_FILE_BUFFERS), + "::", + stringify!(TailLength) + ) + ); +} +pub type TRANSMIT_FILE_BUFFERS = _TRANSMIT_FILE_BUFFERS; +pub type PTRANSMIT_FILE_BUFFERS = *mut _TRANSMIT_FILE_BUFFERS; +pub type LPTRANSMIT_FILE_BUFFERS = *mut _TRANSMIT_FILE_BUFFERS; +extern "C" { + pub fn TransmitFile( + hSocket: SOCKET, + hFile: HANDLE, + nNumberOfBytesToWrite: DWORD, + nNumberOfBytesPerSend: DWORD, + lpOverlapped: LPOVERLAPPED, + lpTransmitBuffers: LPTRANSMIT_FILE_BUFFERS, + dwReserved: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AcceptEx( + sListenSocket: SOCKET, + sAcceptSocket: SOCKET, + lpOutputBuffer: PVOID, + dwReceiveDataLength: DWORD, + dwLocalAddressLength: DWORD, + dwRemoteAddressLength: DWORD, + lpdwBytesReceived: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn GetAcceptExSockaddrs( + lpOutputBuffer: PVOID, + dwReceiveDataLength: DWORD, + dwLocalAddressLength: DWORD, + dwRemoteAddressLength: DWORD, + LocalSockaddr: *mut *mut sockaddr, + LocalSockaddrLength: LPINT, + RemoteSockaddr: *mut *mut sockaddr, + RemoteSockaddrLength: LPINT, + ); +} +pub type SOCKADDR = sockaddr; +pub type PSOCKADDR = *mut sockaddr; +pub type LPSOCKADDR = *mut sockaddr; +pub type SOCKADDR_IN = sockaddr_in; +pub type PSOCKADDR_IN = *mut sockaddr_in; +pub type LPSOCKADDR_IN = *mut sockaddr_in; +pub type LINGER = linger; +pub type PLINGER = *mut linger; +pub type LPLINGER = *mut linger; +pub type FD_SET = fd_set; +pub type PFD_SET = *mut fd_set; +pub type LPFD_SET = *mut fd_set; +pub type HOSTENT = hostent; +pub type PHOSTENT = *mut hostent; +pub type LPHOSTENT = *mut hostent; +pub type SERVENT = servent; +pub type PSERVENT = *mut servent; +pub type LPSERVENT = *mut servent; +pub type PROTOENT = protoent; +pub type PPROTOENT = *mut protoent; +pub type LPPROTOENT = *mut protoent; +pub type TIMEVAL = timeval; +pub type PTIMEVAL = *mut timeval; +pub type LPTIMEVAL = *mut timeval; +pub type ALG_ID = ::std::os::raw::c_uint; +pub type HCRYPTPROV = ULONG_PTR; +pub type HCRYPTKEY = ULONG_PTR; +pub type HCRYPTHASH = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMS_KEY_INFO { + pub dwVersion: DWORD, + pub Algid: ALG_ID, + pub pbOID: *mut BYTE, + pub cbOID: DWORD, +} +#[test] +fn bindgen_test_layout__CMS_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMS_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMS_KEY_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMS_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMS_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMS_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(pbOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(cbOID) + ) + ); +} +pub type CMS_KEY_INFO = _CMS_KEY_INFO; +pub type PCMS_KEY_INFO = *mut _CMS_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HMAC_Info { + pub HashAlgid: ALG_ID, + pub pbInnerString: *mut BYTE, + pub cbInnerString: DWORD, + pub pbOuterString: *mut BYTE, + pub cbOuterString: DWORD, +} +#[test] +fn bindgen_test_layout__HMAC_Info() { + const UNINIT: ::std::mem::MaybeUninit<_HMAC_Info> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HMAC_Info>(), + 40usize, + concat!("Size of: ", stringify!(_HMAC_Info)) + ); + assert_eq!( + ::std::mem::align_of::<_HMAC_Info>(), + 8usize, + concat!("Alignment of ", stringify!(_HMAC_Info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(HashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbInnerString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(pbInnerString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbInnerString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(cbInnerString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOuterString) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(pbOuterString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOuterString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(cbOuterString) + ) + ); +} +pub type HMAC_INFO = _HMAC_Info; +pub type PHMAC_INFO = *mut _HMAC_Info; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCHANNEL_ALG { + pub dwUse: DWORD, + pub Algid: ALG_ID, + pub cBits: DWORD, + pub dwFlags: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__SCHANNEL_ALG() { + const UNINIT: ::std::mem::MaybeUninit<_SCHANNEL_ALG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCHANNEL_ALG>(), + 20usize, + concat!("Size of: ", stringify!(_SCHANNEL_ALG)) + ); + assert_eq!( + ::std::mem::align_of::<_SCHANNEL_ALG>(), + 4usize, + concat!("Alignment of ", stringify!(_SCHANNEL_ALG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBits) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(cBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type SCHANNEL_ALG = _SCHANNEL_ALG; +pub type PSCHANNEL_ALG = *mut _SCHANNEL_ALG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROV_ENUMALGS { + pub aiAlgid: ALG_ID, + pub dwBitLen: DWORD, + pub dwNameLen: DWORD, + pub szName: [CHAR; 20usize], +} +#[test] +fn bindgen_test_layout__PROV_ENUMALGS() { + const UNINIT: ::std::mem::MaybeUninit<_PROV_ENUMALGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROV_ENUMALGS>(), + 32usize, + concat!("Size of: ", stringify!(_PROV_ENUMALGS)) + ); + assert_eq!( + ::std::mem::align_of::<_PROV_ENUMALGS>(), + 4usize, + concat!("Alignment of ", stringify!(_PROV_ENUMALGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(aiAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(dwBitLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameLen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(dwNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(szName) + ) + ); +} +pub type PROV_ENUMALGS = _PROV_ENUMALGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROV_ENUMALGS_EX { + pub aiAlgid: ALG_ID, + pub dwDefaultLen: DWORD, + pub dwMinLen: DWORD, + pub dwMaxLen: DWORD, + pub dwProtocols: DWORD, + pub dwNameLen: DWORD, + pub szName: [CHAR; 20usize], + pub dwLongNameLen: DWORD, + pub szLongName: [CHAR; 40usize], +} +#[test] +fn bindgen_test_layout__PROV_ENUMALGS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_PROV_ENUMALGS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROV_ENUMALGS_EX>(), + 88usize, + concat!("Size of: ", stringify!(_PROV_ENUMALGS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_PROV_ENUMALGS_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_PROV_ENUMALGS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(aiAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefaultLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwDefaultLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwMinLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLen) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwMaxLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProtocols) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameLen) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLongNameLen) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwLongNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szLongName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(szLongName) + ) + ); +} +pub type PROV_ENUMALGS_EX = _PROV_ENUMALGS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBLICKEYSTRUC { + pub bType: BYTE, + pub bVersion: BYTE, + pub reserved: WORD, + pub aiKeyAlg: ALG_ID, +} +#[test] +fn bindgen_test_layout__PUBLICKEYSTRUC() { + const UNINIT: ::std::mem::MaybeUninit<_PUBLICKEYSTRUC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBLICKEYSTRUC>(), + 8usize, + concat!("Size of: ", stringify!(_PUBLICKEYSTRUC)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBLICKEYSTRUC>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBLICKEYSTRUC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(bType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVersion) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(bVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiKeyAlg) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(aiKeyAlg) + ) + ); +} +pub type BLOBHEADER = _PUBLICKEYSTRUC; +pub type PUBLICKEYSTRUC = _PUBLICKEYSTRUC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RSAPUBKEY { + pub magic: DWORD, + pub bitlen: DWORD, + pub pubexp: DWORD, +} +#[test] +fn bindgen_test_layout__RSAPUBKEY() { + const UNINIT: ::std::mem::MaybeUninit<_RSAPUBKEY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RSAPUBKEY>(), + 12usize, + concat!("Size of: ", stringify!(_RSAPUBKEY)) + ); + assert_eq!( + ::std::mem::align_of::<_RSAPUBKEY>(), + 4usize, + concat!("Alignment of ", stringify!(_RSAPUBKEY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(bitlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pubexp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(pubexp) + ) + ); +} +pub type RSAPUBKEY = _RSAPUBKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBKEY { + pub magic: DWORD, + pub bitlen: DWORD, +} +#[test] +fn bindgen_test_layout__PUBKEY() { + const UNINIT: ::std::mem::MaybeUninit<_PUBKEY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBKEY>(), + 8usize, + concat!("Size of: ", stringify!(_PUBKEY)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBKEY>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBKEY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEY), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEY), + "::", + stringify!(bitlen) + ) + ); +} +pub type DHPUBKEY = _PUBKEY; +pub type DSSPUBKEY = _PUBKEY; +pub type KEAPUBKEY = _PUBKEY; +pub type TEKPUBKEY = _PUBKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DSSSEED { + pub counter: DWORD, + pub seed: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__DSSSEED() { + const UNINIT: ::std::mem::MaybeUninit<_DSSSEED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DSSSEED>(), + 24usize, + concat!("Size of: ", stringify!(_DSSSEED)) + ); + assert_eq!( + ::std::mem::align_of::<_DSSSEED>(), + 4usize, + concat!("Alignment of ", stringify!(_DSSSEED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).counter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DSSSEED), + "::", + stringify!(counter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DSSSEED), + "::", + stringify!(seed) + ) + ); +} +pub type DSSSEED = _DSSSEED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBKEYVER3 { + pub magic: DWORD, + pub bitlenP: DWORD, + pub bitlenQ: DWORD, + pub bitlenJ: DWORD, + pub DSSSeed: DSSSEED, +} +#[test] +fn bindgen_test_layout__PUBKEYVER3() { + const UNINIT: ::std::mem::MaybeUninit<_PUBKEYVER3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBKEYVER3>(), + 40usize, + concat!("Size of: ", stringify!(_PUBKEYVER3)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBKEYVER3>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBKEYVER3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenQ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenJ) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenJ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DSSSeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(DSSSeed) + ) + ); +} +pub type DHPUBKEY_VER3 = _PUBKEYVER3; +pub type DSSPUBKEY_VER3 = _PUBKEYVER3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRIVKEYVER3 { + pub magic: DWORD, + pub bitlenP: DWORD, + pub bitlenQ: DWORD, + pub bitlenJ: DWORD, + pub bitlenX: DWORD, + pub DSSSeed: DSSSEED, +} +#[test] +fn bindgen_test_layout__PRIVKEYVER3() { + const UNINIT: ::std::mem::MaybeUninit<_PRIVKEYVER3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRIVKEYVER3>(), + 44usize, + concat!("Size of: ", stringify!(_PRIVKEYVER3)) + ); + assert_eq!( + ::std::mem::align_of::<_PRIVKEYVER3>(), + 4usize, + concat!("Alignment of ", stringify!(_PRIVKEYVER3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenQ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenJ) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenJ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DSSSeed) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(DSSSeed) + ) + ); +} +pub type DHPRIVKEY_VER3 = _PRIVKEYVER3; +pub type DSSPRIVKEY_VER3 = _PRIVKEYVER3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KEY_TYPE_SUBTYPE { + pub dwKeySpec: DWORD, + pub Type: GUID, + pub Subtype: GUID, +} +#[test] +fn bindgen_test_layout__KEY_TYPE_SUBTYPE() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_TYPE_SUBTYPE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_TYPE_SUBTYPE>(), + 36usize, + concat!("Size of: ", stringify!(_KEY_TYPE_SUBTYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_TYPE_SUBTYPE>(), + 4usize, + concat!("Alignment of ", stringify!(_KEY_TYPE_SUBTYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subtype) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(Subtype) + ) + ); +} +pub type KEY_TYPE_SUBTYPE = _KEY_TYPE_SUBTYPE; +pub type PKEY_TYPE_SUBTYPE = *mut _KEY_TYPE_SUBTYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_FORTEZZA_DATA_PROP { + pub SerialNumber: [::std::os::raw::c_uchar; 8usize], + pub CertIndex: ::std::os::raw::c_int, + pub CertLabel: [::std::os::raw::c_uchar; 36usize], +} +#[test] +fn bindgen_test_layout__CERT_FORTEZZA_DATA_PROP() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_FORTEZZA_DATA_PROP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_FORTEZZA_DATA_PROP>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_FORTEZZA_DATA_PROP)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_FORTEZZA_DATA_PROP>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_FORTEZZA_DATA_PROP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(CertIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertLabel) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(CertLabel) + ) + ); +} +pub type CERT_FORTEZZA_DATA_PROP = _CERT_FORTEZZA_DATA_PROP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RC4_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 16usize], + pub SBox: [::std::os::raw::c_uchar; 256usize], + pub i: ::std::os::raw::c_uchar, + pub j: ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__CRYPT_RC4_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RC4_KEY_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RC4_KEY_STATE>(), + 274usize, + concat!("Size of: ", stringify!(_CRYPT_RC4_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RC4_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_RC4_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SBox) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(SBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(i) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, + 273usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(j) + ) + ); +} +pub type CRYPT_RC4_KEY_STATE = _CRYPT_RC4_KEY_STATE; +pub type PCRYPT_RC4_KEY_STATE = *mut _CRYPT_RC4_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DES_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 8usize], + pub IV: [::std::os::raw::c_uchar; 8usize], + pub Feedback: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_DES_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DES_KEY_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DES_KEY_STATE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DES_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DES_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_DES_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_DES_KEY_STATE = _CRYPT_DES_KEY_STATE; +pub type PCRYPT_DES_KEY_STATE = *mut _CRYPT_DES_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_3DES_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 24usize], + pub IV: [::std::os::raw::c_uchar; 8usize], + pub Feedback: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_3DES_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_3DES_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_3DES_KEY_STATE>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_3DES_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_3DES_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_3DES_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_3DES_KEY_STATE = _CRYPT_3DES_KEY_STATE; +pub type PCRYPT_3DES_KEY_STATE = *mut _CRYPT_3DES_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_AES_128_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 16usize], + pub IV: [::std::os::raw::c_uchar; 16usize], + pub EncryptionState: [[::std::os::raw::c_uchar; 16usize]; 11usize], + pub DecryptionState: [[::std::os::raw::c_uchar; 16usize]; 11usize], + pub Feedback: [::std::os::raw::c_uchar; 16usize], +} +#[test] +fn bindgen_test_layout__CRYPT_AES_128_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_AES_128_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_AES_128_KEY_STATE>(), + 400usize, + concat!("Size of: ", stringify!(_CRYPT_AES_128_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_AES_128_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_AES_128_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionState) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(EncryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecryptionState) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(DecryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_AES_128_KEY_STATE = _CRYPT_AES_128_KEY_STATE; +pub type PCRYPT_AES_128_KEY_STATE = *mut _CRYPT_AES_128_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_AES_256_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 32usize], + pub IV: [::std::os::raw::c_uchar; 16usize], + pub EncryptionState: [[::std::os::raw::c_uchar; 16usize]; 15usize], + pub DecryptionState: [[::std::os::raw::c_uchar; 16usize]; 15usize], + pub Feedback: [::std::os::raw::c_uchar; 16usize], +} +#[test] +fn bindgen_test_layout__CRYPT_AES_256_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_AES_256_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_AES_256_KEY_STATE>(), + 544usize, + concat!("Size of: ", stringify!(_CRYPT_AES_256_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_AES_256_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_AES_256_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionState) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(EncryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecryptionState) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(DecryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_AES_256_KEY_STATE = _CRYPT_AES_256_KEY_STATE; +pub type PCRYPT_AES_256_KEY_STATE = *mut _CRYPT_AES_256_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTOAPI_BLOB { + pub cbData: DWORD, + pub pbData: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CRYPTOAPI_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTOAPI_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTOAPI_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPTOAPI_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTOAPI_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPTOAPI_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTOAPI_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTOAPI_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type CRYPT_INTEGER_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_INTEGER_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_UINT_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_UINT_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_OBJID_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_OBJID_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_NAME_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_NAME_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_RDN_VALUE_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_RDN_VALUE_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRL_BLOB = _CRYPTOAPI_BLOB; +pub type PCRL_BLOB = *mut _CRYPTOAPI_BLOB; +pub type DATA_BLOB = _CRYPTOAPI_BLOB; +pub type PDATA_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DATA_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DATA_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_HASH_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_HASH_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DIGEST_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DIGEST_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DER_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DER_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_ATTR_BLOB = *mut _CRYPTOAPI_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMS_DH_KEY_INFO { + pub dwVersion: DWORD, + pub Algid: ALG_ID, + pub pszContentEncObjId: LPSTR, + pub PubInfo: CRYPT_DATA_BLOB, + pub pReserved: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMS_DH_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMS_DH_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMS_DH_KEY_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMS_DH_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMS_DH_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMS_DH_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentEncObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(pszContentEncObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(PubInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(pReserved) + ) + ); +} +pub type CMS_DH_KEY_INFO = _CMS_DH_KEY_INFO; +pub type PCMS_DH_KEY_INFO = *mut _CMS_DH_KEY_INFO; +extern "C" { + pub fn CryptAcquireContextA( + phProv: *mut HCRYPTPROV, + szContainer: LPCSTR, + szProvider: LPCSTR, + dwProvType: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptAcquireContextW( + phProv: *mut HCRYPTPROV, + szContainer: LPCWSTR, + szProvider: LPCWSTR, + dwProvType: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptReleaseContext(hProv: HCRYPTPROV, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptGenKey( + hProv: HCRYPTPROV, + Algid: ALG_ID, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDeriveKey( + hProv: HCRYPTPROV, + Algid: ALG_ID, + hBaseData: HCRYPTHASH, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDestroyKey(hKey: HCRYPTKEY) -> BOOL; +} +extern "C" { + pub fn CryptSetKeyParam( + hKey: HCRYPTKEY, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetKeyParam( + hKey: HCRYPTKEY, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetHashParam( + hHash: HCRYPTHASH, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetHashParam( + hHash: HCRYPTHASH, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProvParam( + hProv: HCRYPTPROV, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetProvParam( + hProv: HCRYPTPROV, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGenRandom(hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: *mut BYTE) -> BOOL; +} +extern "C" { + pub fn CryptGetUserKey(hProv: HCRYPTPROV, dwKeySpec: DWORD, phUserKey: *mut HCRYPTKEY) -> BOOL; +} +extern "C" { + pub fn CryptExportKey( + hKey: HCRYPTKEY, + hExpKey: HCRYPTKEY, + dwBlobType: DWORD, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportKey( + hProv: HCRYPTPROV, + pbData: *const BYTE, + dwDataLen: DWORD, + hPubKey: HCRYPTKEY, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncrypt( + hKey: HCRYPTKEY, + hHash: HCRYPTHASH, + Final: BOOL, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwBufLen: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecrypt( + hKey: HCRYPTKEY, + hHash: HCRYPTHASH, + Final: BOOL, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptCreateHash( + hProv: HCRYPTPROV, + Algid: ALG_ID, + hKey: HCRYPTKEY, + dwFlags: DWORD, + phHash: *mut HCRYPTHASH, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashData( + hHash: HCRYPTHASH, + pbData: *const BYTE, + dwDataLen: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashSessionKey(hHash: HCRYPTHASH, hKey: HCRYPTKEY, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptDestroyHash(hHash: HCRYPTHASH) -> BOOL; +} +extern "C" { + pub fn CryptSignHashA( + hHash: HCRYPTHASH, + dwKeySpec: DWORD, + szDescription: LPCSTR, + dwFlags: DWORD, + pbSignature: *mut BYTE, + pdwSigLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignHashW( + hHash: HCRYPTHASH, + dwKeySpec: DWORD, + szDescription: LPCWSTR, + dwFlags: DWORD, + pbSignature: *mut BYTE, + pdwSigLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifySignatureA( + hHash: HCRYPTHASH, + pbSignature: *const BYTE, + dwSigLen: DWORD, + hPubKey: HCRYPTKEY, + szDescription: LPCSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifySignatureW( + hHash: HCRYPTHASH, + pbSignature: *const BYTE, + dwSigLen: DWORD, + hPubKey: HCRYPTKEY, + szDescription: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderA(pszProvName: LPCSTR, dwProvType: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderW(pszProvName: LPCWSTR, dwProvType: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderExA( + pszProvName: LPCSTR, + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderExW( + pszProvName: LPCWSTR, + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultProviderA( + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pszProvName: LPSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultProviderW( + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pszProvName: LPWSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProviderTypesA( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szTypeName: LPSTR, + pcbTypeName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProviderTypesW( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szTypeName: LPWSTR, + pcbTypeName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProvidersA( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szProvName: LPSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProvidersW( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szProvName: LPWSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptContextAddRef(hProv: HCRYPTPROV, pdwReserved: *mut DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptDuplicateKey( + hKey: HCRYPTKEY, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDuplicateHash( + hHash: HCRYPTHASH, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + phHash: *mut HCRYPTHASH, + ) -> BOOL; +} +extern "C" { + pub fn GetEncSChannel(pData: *mut *mut BYTE, dwDecSize: *mut DWORD) -> BOOL; +} +pub type NTSTATUS = LONG; +pub type PNTSTATUS = *mut NTSTATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __BCRYPT_KEY_LENGTHS_STRUCT { + pub dwMinLength: ULONG, + pub dwMaxLength: ULONG, + pub dwIncrement: ULONG, +} +#[test] +fn bindgen_test_layout___BCRYPT_KEY_LENGTHS_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<__BCRYPT_KEY_LENGTHS_STRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__BCRYPT_KEY_LENGTHS_STRUCT>(), + 12usize, + concat!("Size of: ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<__BCRYPT_KEY_LENGTHS_STRUCT>(), + 4usize, + concat!("Alignment of ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwMinLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwMaxLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIncrement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwIncrement) + ) + ); +} +pub type BCRYPT_KEY_LENGTHS_STRUCT = __BCRYPT_KEY_LENGTHS_STRUCT; +pub type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OID { + pub cbOID: ULONG, + pub pbOID: PUCHAR, +} +#[test] +fn bindgen_test_layout__BCRYPT_OID() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OID>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_OID)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OID>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID), + "::", + stringify!(cbOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID), + "::", + stringify!(pbOID) + ) + ); +} +pub type BCRYPT_OID = _BCRYPT_OID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OID_LIST { + pub dwOIDCount: ULONG, + pub pOIDs: *mut BCRYPT_OID, +} +#[test] +fn bindgen_test_layout__BCRYPT_OID_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OID_LIST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OID_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_OID_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OID_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OID_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOIDCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID_LIST), + "::", + stringify!(dwOIDCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOIDs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID_LIST), + "::", + stringify!(pOIDs) + ) + ); +} +pub type BCRYPT_OID_LIST = _BCRYPT_OID_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PKCS1_PADDING_INFO { + pub pszAlgId: LPCWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_PKCS1_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PKCS1_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PKCS1_PADDING_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_PKCS1_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PKCS1_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PKCS1_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PKCS1_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); +} +pub type BCRYPT_PKCS1_PADDING_INFO = _BCRYPT_PKCS1_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PSS_PADDING_INFO { + pub pszAlgId: LPCWSTR, + pub cbSalt: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_PSS_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PSS_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PSS_PADDING_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_PSS_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PSS_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PSS_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PSS_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSalt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PSS_PADDING_INFO), + "::", + stringify!(cbSalt) + ) + ); +} +pub type BCRYPT_PSS_PADDING_INFO = _BCRYPT_PSS_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OAEP_PADDING_INFO { + pub pszAlgId: LPCWSTR, + pub pbLabel: PUCHAR, + pub cbLabel: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_OAEP_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OAEP_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OAEP_PADDING_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_OAEP_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OAEP_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OAEP_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbLabel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(pbLabel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLabel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(cbLabel) + ) + ); +} +pub type BCRYPT_OAEP_PADDING_INFO = _BCRYPT_OAEP_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO { + pub cbSize: ULONG, + pub dwInfoVersion: ULONG, + pub pbNonce: PUCHAR, + pub cbNonce: ULONG, + pub pbAuthData: PUCHAR, + pub cbAuthData: ULONG, + pub pbTag: PUCHAR, + pub cbTag: ULONG, + pub pbMacContext: PUCHAR, + pub cbMacContext: ULONG, + pub cbAAD: ULONG, + pub cbData: ULONGLONG, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>(), + 88usize, + concat!( + "Size of: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(dwInfoVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbNonce) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbNonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbAuthData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbAuthData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAuthData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbAuthData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbTag) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTag) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbMacContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbMacContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMacContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbMacContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAAD) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbAAD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; +pub type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = *mut _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCryptBuffer { + pub cbBuffer: ULONG, + pub BufferType: ULONG, + pub pvBuffer: PVOID, +} +#[test] +fn bindgen_test_layout__BCryptBuffer() { + const UNINIT: ::std::mem::MaybeUninit<_BCryptBuffer> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCryptBuffer>(), + 16usize, + concat!("Size of: ", stringify!(_BCryptBuffer)) + ); + assert_eq!( + ::std::mem::align_of::<_BCryptBuffer>(), + 8usize, + concat!("Alignment of ", stringify!(_BCryptBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(cbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(BufferType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(pvBuffer) + ) + ); +} +pub type BCryptBuffer = _BCryptBuffer; +pub type PBCryptBuffer = *mut _BCryptBuffer; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCryptBufferDesc { + pub ulVersion: ULONG, + pub cBuffers: ULONG, + pub pBuffers: PBCryptBuffer, +} +#[test] +fn bindgen_test_layout__BCryptBufferDesc() { + const UNINIT: ::std::mem::MaybeUninit<_BCryptBufferDesc> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCryptBufferDesc>(), + 16usize, + concat!("Size of: ", stringify!(_BCryptBufferDesc)) + ); + assert_eq!( + ::std::mem::align_of::<_BCryptBufferDesc>(), + 8usize, + concat!("Alignment of ", stringify!(_BCryptBufferDesc)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(ulVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBuffers) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(cBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuffers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(pBuffers) + ) + ); +} +pub type BCryptBufferDesc = _BCryptBufferDesc; +pub type PBCryptBufferDesc = *mut _BCryptBufferDesc; +pub type BCRYPT_HANDLE = PVOID; +pub type BCRYPT_ALG_HANDLE = PVOID; +pub type BCRYPT_KEY_HANDLE = PVOID; +pub type BCRYPT_HASH_HANDLE = PVOID; +pub type BCRYPT_SECRET_HANDLE = PVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_KEY_BLOB { + pub Magic: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_KEY_BLOB>(), + 4usize, + concat!("Size of: ", stringify!(_BCRYPT_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_BLOB), + "::", + stringify!(Magic) + ) + ); +} +pub type BCRYPT_KEY_BLOB = _BCRYPT_KEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_RSAKEY_BLOB { + pub Magic: ULONG, + pub BitLength: ULONG, + pub cbPublicExp: ULONG, + pub cbModulus: ULONG, + pub cbPrime1: ULONG, + pub cbPrime2: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_RSAKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_RSAKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_RSAKEY_BLOB>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_RSAKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_RSAKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_RSAKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(BitLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublicExp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPublicExp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbModulus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbModulus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrime1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPrime1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrime2) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPrime2) + ) + ); +} +pub type BCRYPT_RSAKEY_BLOB = _BCRYPT_RSAKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECCKEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECCKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECCKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECCKEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_ECCKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECCKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECCKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCKEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCKEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type BCRYPT_ECCKEY_BLOB = _BCRYPT_ECCKEY_BLOB; +pub type PBCRYPT_ECCKEY_BLOB = *mut _BCRYPT_ECCKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_ECCKEY_BLOB { + pub dwCurveType: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__SSL_ECCKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_ECCKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_ECCKEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_SSL_ECCKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_ECCKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_SSL_ECCKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_ECCKEY_BLOB), + "::", + stringify!(dwCurveType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_ECCKEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type SSL_ECCKEY_BLOB = _SSL_ECCKEY_BLOB; +pub type PSSL_ECCKEY_BLOB = *mut _SSL_ECCKEY_BLOB; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE: ECC_CURVE_TYPE_ENUM = 1; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE: ECC_CURVE_TYPE_ENUM = 2; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_MONTGOMERY_CURVE: ECC_CURVE_TYPE_ENUM = 3; +pub type ECC_CURVE_TYPE_ENUM = ::std::os::raw::c_int; +pub const ECC_CURVE_ALG_ID_ENUM_BCRYPT_NO_CURVE_GENERATION_ALG_ID: ECC_CURVE_ALG_ID_ENUM = 0; +pub type ECC_CURVE_ALG_ID_ENUM = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECCFULLKEY_BLOB { + pub dwMagic: ULONG, + pub dwVersion: ULONG, + pub dwCurveType: ECC_CURVE_TYPE_ENUM, + pub dwCurveGenerationAlgId: ECC_CURVE_ALG_ID_ENUM, + pub cbFieldLength: ULONG, + pub cbSubgroupOrder: ULONG, + pub cbCofactor: ULONG, + pub cbSeed: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECCFULLKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECCFULLKEY_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECCFULLKEY_BLOB>(), + 32usize, + concat!("Size of: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECCFULLKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECCFULLKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwCurveType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveGenerationAlgId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwCurveGenerationAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbFieldLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbFieldLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSubgroupOrder) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbSubgroupOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCofactor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbCofactor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeed) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbSeed) + ) + ); +} +pub type BCRYPT_ECCFULLKEY_BLOB = _BCRYPT_ECCFULLKEY_BLOB; +pub type PBCRYPT_ECCFULLKEY_BLOB = *mut _BCRYPT_ECCFULLKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DH_KEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_DH_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DH_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DH_KEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_DH_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DH_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DH_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_KEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_KEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type BCRYPT_DH_KEY_BLOB = _BCRYPT_DH_KEY_BLOB; +pub type PBCRYPT_DH_KEY_BLOB = *mut _BCRYPT_DH_KEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DH_PARAMETER_HEADER { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_DH_PARAMETER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DH_PARAMETER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DH_PARAMETER_HEADER>(), + 12usize, + concat!("Size of: ", stringify!(_BCRYPT_DH_PARAMETER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DH_PARAMETER_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DH_PARAMETER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(cbKeyLength) + ) + ); +} +pub type BCRYPT_DH_PARAMETER_HEADER = _BCRYPT_DH_PARAMETER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_KEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, + pub Count: [UCHAR; 4usize], + pub Seed: [UCHAR; 20usize], + pub q: [UCHAR; 20usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_KEY_BLOB>(), + 52usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(cbKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(Seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(q) + ) + ); +} +pub type BCRYPT_DSA_KEY_BLOB = _BCRYPT_DSA_KEY_BLOB; +pub type PBCRYPT_DSA_KEY_BLOB = *mut _BCRYPT_DSA_KEY_BLOB; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA1: HASHALGORITHM_ENUM = 0; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA256: HASHALGORITHM_ENUM = 1; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA512: HASHALGORITHM_ENUM = 2; +pub type HASHALGORITHM_ENUM = ::std::os::raw::c_int; +pub const DSAFIPSVERSION_ENUM_DSA_FIPS186_2: DSAFIPSVERSION_ENUM = 0; +pub const DSAFIPSVERSION_ENUM_DSA_FIPS186_3: DSAFIPSVERSION_ENUM = 1; +pub type DSAFIPSVERSION_ENUM = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_KEY_BLOB_V2 { + pub dwMagic: ULONG, + pub cbKey: ULONG, + pub hashAlgorithm: HASHALGORITHM_ENUM, + pub standardVersion: DSAFIPSVERSION_ENUM, + pub cbSeedLength: ULONG, + pub cbGroupSize: ULONG, + pub Count: [UCHAR; 4usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_KEY_BLOB_V2() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_KEY_BLOB_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_KEY_BLOB_V2>(), + 28usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_KEY_BLOB_V2>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(hashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).standardVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(standardVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeedLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbSeedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbGroupSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbGroupSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(Count) + ) + ); +} +pub type BCRYPT_DSA_KEY_BLOB_V2 = _BCRYPT_DSA_KEY_BLOB_V2; +pub type PBCRYPT_DSA_KEY_BLOB_V2 = *mut _BCRYPT_DSA_KEY_BLOB_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_KEY_DATA_BLOB_HEADER { + pub dwMagic: ULONG, + pub dwVersion: ULONG, + pub cbKeyData: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_KEY_DATA_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_KEY_DATA_BLOB_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_KEY_DATA_BLOB_HEADER>(), + 12usize, + concat!("Size of: ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_KEY_DATA_BLOB_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(cbKeyData) + ) + ); +} +pub type BCRYPT_KEY_DATA_BLOB_HEADER = _BCRYPT_KEY_DATA_BLOB_HEADER; +pub type PBCRYPT_KEY_DATA_BLOB_HEADER = *mut _BCRYPT_KEY_DATA_BLOB_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_PARAMETER_HEADER { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, + pub Count: [UCHAR; 4usize], + pub Seed: [UCHAR; 20usize], + pub q: [UCHAR; 20usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_PARAMETER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_PARAMETER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_PARAMETER_HEADER>(), + 56usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_PARAMETER_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(cbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(Seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(q) + ) + ); +} +pub type BCRYPT_DSA_PARAMETER_HEADER = _BCRYPT_DSA_PARAMETER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_PARAMETER_HEADER_V2 { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, + pub hashAlgorithm: HASHALGORITHM_ENUM, + pub standardVersion: DSAFIPSVERSION_ENUM, + pub cbSeedLength: ULONG, + pub cbGroupSize: ULONG, + pub Count: [UCHAR; 4usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_PARAMETER_HEADER_V2() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_PARAMETER_HEADER_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_PARAMETER_HEADER_V2>(), + 32usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_PARAMETER_HEADER_V2>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(hashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).standardVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(standardVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeedLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbSeedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbGroupSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbGroupSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(Count) + ) + ); +} +pub type BCRYPT_DSA_PARAMETER_HEADER_V2 = _BCRYPT_DSA_PARAMETER_HEADER_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECC_CURVE_NAMES { + pub dwEccCurveNames: ULONG, + pub pEccCurveNames: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECC_CURVE_NAMES() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECC_CURVE_NAMES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECC_CURVE_NAMES>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_ECC_CURVE_NAMES)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECC_CURVE_NAMES>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECC_CURVE_NAMES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEccCurveNames) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECC_CURVE_NAMES), + "::", + stringify!(dwEccCurveNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEccCurveNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECC_CURVE_NAMES), + "::", + stringify!(pEccCurveNames) + ) + ); +} +pub type BCRYPT_ECC_CURVE_NAMES = _BCRYPT_ECC_CURVE_NAMES; +pub const BCRYPT_HASH_OPERATION_TYPE_BCRYPT_HASH_OPERATION_HASH_DATA: BCRYPT_HASH_OPERATION_TYPE = + 1; +pub const BCRYPT_HASH_OPERATION_TYPE_BCRYPT_HASH_OPERATION_FINISH_HASH: BCRYPT_HASH_OPERATION_TYPE = + 2; +pub type BCRYPT_HASH_OPERATION_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_MULTI_HASH_OPERATION { + pub iHash: ULONG, + pub hashOperation: BCRYPT_HASH_OPERATION_TYPE, + pub pbBuffer: PUCHAR, + pub cbBuffer: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_MULTI_HASH_OPERATION() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_MULTI_HASH_OPERATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_MULTI_HASH_OPERATION>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_MULTI_HASH_OPERATION)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_MULTI_HASH_OPERATION>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_MULTI_HASH_OPERATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(iHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashOperation) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(hashOperation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(pbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(cbBuffer) + ) + ); +} +pub type BCRYPT_MULTI_HASH_OPERATION = _BCRYPT_MULTI_HASH_OPERATION; +pub const BCRYPT_MULTI_OPERATION_TYPE_BCRYPT_OPERATION_TYPE_HASH: BCRYPT_MULTI_OPERATION_TYPE = 1; +pub type BCRYPT_MULTI_OPERATION_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_MULTI_OBJECT_LENGTH_STRUCT { + pub cbPerObject: ULONG, + pub cbPerElement: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_MULTI_OBJECT_LENGTH_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPerObject) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT), + "::", + stringify!(cbPerObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPerElement) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT), + "::", + stringify!(cbPerElement) + ) + ); +} +pub type BCRYPT_MULTI_OBJECT_LENGTH_STRUCT = _BCRYPT_MULTI_OBJECT_LENGTH_STRUCT; +extern "C" { + pub fn BCryptOpenAlgorithmProvider( + phAlgorithm: *mut BCRYPT_ALG_HANDLE, + pszAlgId: LPCWSTR, + pszImplementation: LPCWSTR, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ALGORITHM_IDENTIFIER { + pub pszName: LPWSTR, + pub dwClass: ULONG, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ALGORITHM_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ALGORITHM_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ALGORITHM_IDENTIFIER>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ALGORITHM_IDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(dwClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(dwFlags) + ) + ); +} +pub type BCRYPT_ALGORITHM_IDENTIFIER = _BCRYPT_ALGORITHM_IDENTIFIER; +extern "C" { + pub fn BCryptEnumAlgorithms( + dwAlgOperations: ULONG, + pAlgCount: *mut ULONG, + ppAlgList: *mut *mut BCRYPT_ALGORITHM_IDENTIFIER, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PROVIDER_NAME { + pub pszProviderName: LPWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_PROVIDER_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PROVIDER_NAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PROVIDER_NAME>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_PROVIDER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PROVIDER_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PROVIDER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProviderName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PROVIDER_NAME), + "::", + stringify!(pszProviderName) + ) + ); +} +pub type BCRYPT_PROVIDER_NAME = _BCRYPT_PROVIDER_NAME; +extern "C" { + pub fn BCryptEnumProviders( + pszAlgId: LPCWSTR, + pImplCount: *mut ULONG, + ppImplList: *mut *mut BCRYPT_PROVIDER_NAME, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGetProperty( + hObject: BCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSetProperty( + hObject: BCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCloseAlgorithmProvider(hAlgorithm: BCRYPT_ALG_HANDLE, dwFlags: ULONG) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFreeBuffer(pvBuffer: PVOID); +} +extern "C" { + pub fn BCryptGenerateSymmetricKey( + hAlgorithm: BCRYPT_ALG_HANDLE, + phKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGenerateKeyPair( + hAlgorithm: BCRYPT_ALG_HANDLE, + phKey: *mut BCRYPT_KEY_HANDLE, + dwLength: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEncrypt( + hKey: BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbIV: PUCHAR, + cbIV: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDecrypt( + hKey: BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbIV: PUCHAR, + cbIV: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptExportKey( + hKey: BCRYPT_KEY_HANDLE, + hExportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptImportKey( + hAlgorithm: BCRYPT_ALG_HANDLE, + hImportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + phKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptImportKeyPair( + hAlgorithm: BCRYPT_ALG_HANDLE, + hImportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + phKey: *mut BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDuplicateKey( + hKey: BCRYPT_KEY_HANDLE, + phNewKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFinalizeKeyPair(hKey: BCRYPT_KEY_HANDLE, dwFlags: ULONG) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroyKey(hKey: BCRYPT_KEY_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroySecret(hSecret: BCRYPT_SECRET_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSignHash( + hKey: BCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbInput: PUCHAR, + cbInput: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptVerifySignature( + hKey: BCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHash: PUCHAR, + cbHash: ULONG, + pbSignature: PUCHAR, + cbSignature: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSecretAgreement( + hPrivKey: BCRYPT_KEY_HANDLE, + hPubKey: BCRYPT_KEY_HANDLE, + phAgreedSecret: *mut BCRYPT_SECRET_HANDLE, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKey( + hSharedSecret: BCRYPT_SECRET_HANDLE, + pwszKDF: LPCWSTR, + pParameterList: *mut BCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptKeyDerivation( + hKey: BCRYPT_KEY_HANDLE, + pParameterList: *mut BCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + phHash: *mut BCRYPT_HASH_HANDLE, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptHashData( + hHash: BCRYPT_HASH_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFinishHash( + hHash: BCRYPT_HASH_HANDLE, + pbOutput: PUCHAR, + cbOutput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateMultiHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + phHash: *mut BCRYPT_HASH_HANDLE, + nHashes: ULONG, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptProcessMultiOperations( + hObject: BCRYPT_HANDLE, + operationType: BCRYPT_MULTI_OPERATION_TYPE, + pOperations: PVOID, + cbOperations: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDuplicateHash( + hHash: BCRYPT_HASH_HANDLE, + phNewHash: *mut BCRYPT_HASH_HANDLE, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroyHash(hHash: BCRYPT_HASH_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + pbSecret: PUCHAR, + cbSecret: ULONG, + pbInput: PUCHAR, + cbInput: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGenRandom( + hAlgorithm: BCRYPT_ALG_HANDLE, + pbBuffer: PUCHAR, + cbBuffer: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKeyCapi( + hHash: BCRYPT_HASH_HANDLE, + hTargetAlg: BCRYPT_ALG_HANDLE, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKeyPBKDF2( + hPrf: BCRYPT_ALG_HANDLE, + pbPassword: PUCHAR, + cbPassword: ULONG, + pbSalt: PUCHAR, + cbSalt: ULONG, + cIterations: ULONGLONG, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_INTERFACE_VERSION { + pub MajorVersion: USHORT, + pub MinorVersion: USHORT, +} +#[test] +fn bindgen_test_layout__BCRYPT_INTERFACE_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_INTERFACE_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_INTERFACE_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_BCRYPT_INTERFACE_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_INTERFACE_VERSION>(), + 2usize, + concat!("Alignment of ", stringify!(_BCRYPT_INTERFACE_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_INTERFACE_VERSION), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_INTERFACE_VERSION), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type BCRYPT_INTERFACE_VERSION = _BCRYPT_INTERFACE_VERSION; +pub type PBCRYPT_INTERFACE_VERSION = *mut _BCRYPT_INTERFACE_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_INTERFACE_REG { + pub dwInterface: ULONG, + pub dwFlags: ULONG, + pub cFunctions: ULONG, + pub rgpszFunctions: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_INTERFACE_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_INTERFACE_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_INTERFACE_REG>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_INTERFACE_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_INTERFACE_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_INTERFACE_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(dwInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFunctions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(cFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszFunctions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(rgpszFunctions) + ) + ); +} +pub type CRYPT_INTERFACE_REG = _CRYPT_INTERFACE_REG; +pub type PCRYPT_INTERFACE_REG = *mut _CRYPT_INTERFACE_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_IMAGE_REG { + pub pszImage: PWSTR, + pub cInterfaces: ULONG, + pub rgpInterfaces: *mut PCRYPT_INTERFACE_REG, +} +#[test] +fn bindgen_test_layout__CRYPT_IMAGE_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_IMAGE_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_IMAGE_REG>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_IMAGE_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_IMAGE_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_IMAGE_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(pszImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cInterfaces) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(cInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpInterfaces) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(rgpInterfaces) + ) + ); +} +pub type CRYPT_IMAGE_REG = _CRYPT_IMAGE_REG; +pub type PCRYPT_IMAGE_REG = *mut _CRYPT_IMAGE_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REG { + pub cAliases: ULONG, + pub rgpszAliases: *mut PWSTR, + pub pUM: PCRYPT_IMAGE_REG, + pub pKM: PCRYPT_IMAGE_REG, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REG>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAliases) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(cAliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszAliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(rgpszAliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUM) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(pUM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKM) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(pKM) + ) + ); +} +pub type CRYPT_PROVIDER_REG = _CRYPT_PROVIDER_REG; +pub type PCRYPT_PROVIDER_REG = *mut _CRYPT_PROVIDER_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDERS { + pub cProviders: ULONG, + pub rgpszProviders: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDERS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDERS), + "::", + stringify!(rgpszProviders) + ) + ); +} +pub type CRYPT_PROVIDERS = _CRYPT_PROVIDERS; +pub type PCRYPT_PROVIDERS = *mut _CRYPT_PROVIDERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_CONFIG { + pub dwFlags: ULONG, + pub dwReserved: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_CONFIG>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_CONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_CONFIG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type CRYPT_CONTEXT_CONFIG = _CRYPT_CONTEXT_CONFIG; +pub type PCRYPT_CONTEXT_CONFIG = *mut _CRYPT_CONTEXT_CONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTION_CONFIG { + pub dwFlags: ULONG, + pub dwReserved: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTION_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTION_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTION_CONFIG>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTION_CONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTION_CONFIG = _CRYPT_CONTEXT_FUNCTION_CONFIG; +pub type PCRYPT_CONTEXT_FUNCTION_CONFIG = *mut _CRYPT_CONTEXT_FUNCTION_CONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXTS { + pub cContexts: ULONG, + pub rgpszContexts: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXTS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXTS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXTS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXTS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cContexts) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXTS), + "::", + stringify!(cContexts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszContexts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXTS), + "::", + stringify!(rgpszContexts) + ) + ); +} +pub type CRYPT_CONTEXTS = _CRYPT_CONTEXTS; +pub type PCRYPT_CONTEXTS = *mut _CRYPT_CONTEXTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTIONS { + pub cFunctions: ULONG, + pub rgpszFunctions: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTIONS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_FUNCTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFunctions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTIONS), + "::", + stringify!(cFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszFunctions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTIONS), + "::", + stringify!(rgpszFunctions) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTIONS = _CRYPT_CONTEXT_FUNCTIONS; +pub type PCRYPT_CONTEXT_FUNCTIONS = *mut _CRYPT_CONTEXT_FUNCTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTION_PROVIDERS { + pub cProviders: ULONG, + pub rgpszProviders: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTION_PROVIDERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTION_PROVIDERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS), + "::", + stringify!(rgpszProviders) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTION_PROVIDERS = _CRYPT_CONTEXT_FUNCTION_PROVIDERS; +pub type PCRYPT_CONTEXT_FUNCTION_PROVIDERS = *mut _CRYPT_CONTEXT_FUNCTION_PROVIDERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROPERTY_REF { + pub pszProperty: PWSTR, + pub cbValue: ULONG, + pub pbValue: PUCHAR, +} +#[test] +fn bindgen_test_layout__CRYPT_PROPERTY_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROPERTY_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROPERTY_REF>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PROPERTY_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROPERTY_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROPERTY_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProperty) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(pszProperty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(cbValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(pbValue) + ) + ); +} +pub type CRYPT_PROPERTY_REF = _CRYPT_PROPERTY_REF; +pub type PCRYPT_PROPERTY_REF = *mut _CRYPT_PROPERTY_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_IMAGE_REF { + pub pszImage: PWSTR, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_IMAGE_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_IMAGE_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_IMAGE_REF>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_IMAGE_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_IMAGE_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_IMAGE_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REF), + "::", + stringify!(pszImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REF), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CRYPT_IMAGE_REF = _CRYPT_IMAGE_REF; +pub type PCRYPT_IMAGE_REF = *mut _CRYPT_IMAGE_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REF { + pub dwInterface: ULONG, + pub pszFunction: PWSTR, + pub pszProvider: PWSTR, + pub cProperties: ULONG, + pub rgpProperties: *mut PCRYPT_PROPERTY_REF, + pub pUM: PCRYPT_IMAGE_REF, + pub pKM: PCRYPT_IMAGE_REF, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REF>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(dwInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFunction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pszFunction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProperties) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(cProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpProperties) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(rgpProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUM) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pUM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKM) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pKM) + ) + ); +} +pub type CRYPT_PROVIDER_REF = _CRYPT_PROVIDER_REF; +pub type PCRYPT_PROVIDER_REF = *mut _CRYPT_PROVIDER_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REFS { + pub cProviders: ULONG, + pub rgpProviders: *mut PCRYPT_PROVIDER_REF, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REFS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REFS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REFS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REFS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REFS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REFS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REFS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REFS), + "::", + stringify!(rgpProviders) + ) + ); +} +pub type CRYPT_PROVIDER_REFS = _CRYPT_PROVIDER_REFS; +pub type PCRYPT_PROVIDER_REFS = *mut _CRYPT_PROVIDER_REFS; +extern "C" { + pub fn BCryptQueryProviderRegistration( + pszProvider: LPCWSTR, + dwMode: ULONG, + dwInterface: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDER_REG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumRegisteredProviders( + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDERS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateContext( + dwTable: ULONG, + pszContext: LPCWSTR, + pConfig: PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeleteContext(dwTable: ULONG, pszContext: LPCWSTR) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContexts( + dwTable: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXTS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptConfigureContext( + dwTable: ULONG, + pszContext: LPCWSTR, + pConfig: PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextConfiguration( + dwTable: ULONG, + pszContext: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptAddContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + dwPosition: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptRemoveContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContextFunctions( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTIONS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptConfigureContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pConfig: PCRYPT_CONTEXT_FUNCTION_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextFunctionConfiguration( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContextFunctionProviders( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_PROVIDERS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSetContextFunctionProperty( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProperty: LPCWSTR, + cbValue: ULONG, + pbValue: PUCHAR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextFunctionProperty( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProperty: LPCWSTR, + pcbValue: *mut ULONG, + ppbValue: *mut PUCHAR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptRegisterConfigChangeNotify(phEvent: *mut HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptUnregisterConfigChangeNotify(hEvent: HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptResolveProviders( + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProvider: LPCWSTR, + dwMode: ULONG, + dwFlags: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDER_REFS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGetFipsAlgorithmMode(pfEnabled: *mut BOOLEAN) -> NTSTATUS; +} +extern "C" { + pub fn CngGetFipsAlgorithmMode() -> BOOLEAN; +} +pub type SECURITY_STATUS = LONG; +pub type PFN_NCRYPT_ALLOC = ::std::option::Option LPVOID>; +pub type PFN_NCRYPT_FREE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCRYPT_ALLOC_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_NCRYPT_ALLOC, + pub pfnFree: PFN_NCRYPT_FREE, +} +#[test] +fn bindgen_test_layout_NCRYPT_ALLOC_PARA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NCRYPT_ALLOC_PARA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCRYPT_ALLOC_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type NCryptBuffer = BCryptBuffer; +pub type PNCryptBuffer = *mut BCryptBuffer; +pub type NCryptBufferDesc = BCryptBufferDesc; +pub type PNCryptBufferDesc = *mut BCryptBufferDesc; +pub type NCRYPT_HANDLE = ULONG_PTR; +pub type NCRYPT_PROV_HANDLE = ULONG_PTR; +pub type NCRYPT_KEY_HANDLE = ULONG_PTR; +pub type NCRYPT_HASH_HANDLE = ULONG_PTR; +pub type NCRYPT_SECRET_HANDLE = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_CIPHER_PADDING_INFO { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub pbIV: PUCHAR, + pub cbIV: ULONG, + pub pbOtherInfo: PUCHAR, + pub cbOtherInfo: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_CIPHER_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_CIPHER_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_CIPHER_PADDING_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_CIPHER_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NCRYPT_CIPHER_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbIV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(pbIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbIV) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOtherInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(pbOtherInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOtherInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbOtherInfo) + ) + ); +} +pub type NCRYPT_CIPHER_PADDING_INFO = _NCRYPT_CIPHER_PADDING_INFO; +pub type PNCRYPT_CIPHER_PADDING_INFO = *mut _NCRYPT_CIPHER_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_PLATFORM_ATTEST_PADDING_INFO { + pub magic: ULONG, + pub pcrMask: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_PLATFORM_ATTEST_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>(), + 8usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcrMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO), + "::", + stringify!(pcrMask) + ) + ); +} +pub type NCRYPT_PLATFORM_ATTEST_PADDING_INFO = _NCRYPT_PLATFORM_ATTEST_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_KEY_ATTEST_PADDING_INFO { + pub magic: ULONG, + pub pbKeyBlob: PUCHAR, + pub cbKeyBlob: ULONG, + pub pbKeyAuth: PUCHAR, + pub cbKeyAuth: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_KEY_ATTEST_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_KEY_ATTEST_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_KEY_ATTEST_PADDING_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_KEY_ATTEST_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbKeyBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(pbKeyBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyBlob) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(cbKeyBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbKeyAuth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(pbKeyAuth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyAuth) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(cbKeyAuth) + ) + ); +} +pub type NCRYPT_KEY_ATTEST_PADDING_INFO = _NCRYPT_KEY_ATTEST_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES { + pub Version: ULONG, + pub Flags: ULONG, + pub cbPublicKeyBlob: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>(), + 12usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublicKeyBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(cbPublicKeyBlob) + ) + ); +} +pub type NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES = _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES; +pub type PNCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES = *mut _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT { + pub Magic: ULONG, + pub Version: ULONG, + pub cbSignature: ULONG, + pub cbReport: ULONG, + pub cbAttributes: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_VSM_KEY_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReport) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbReport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbAttributes) + ) + ); +} +pub type NCRYPT_VSM_KEY_ATTESTATION_STATEMENT = _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT; +pub type PNCRYPT_VSM_KEY_ATTESTATION_STATEMENT = *mut _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS { + pub Version: ULONG, + pub TrustletId: ULONGLONG, + pub MinSvn: ULONG, + pub FlagsMask: ULONG, + pub FlagsExpected: ULONG, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustletId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(TrustletId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSvn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(MinSvn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsMask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(FlagsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsExpected) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(FlagsExpected) + ) + ); +} +impl _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS { + #[inline] + pub fn AllowDebugging(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowDebugging(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowDebugging: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowDebugging: u32 = unsafe { ::std::mem::transmute(AllowDebugging) }; + AllowDebugging as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS = + _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS; +pub type PNCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS = + *mut _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER { + pub Version: ULONG, + pub KeyUsage: ULONG, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub cbAlgName: ULONG, + pub cbNonce: ULONG, + pub cbAuthTag: ULONG, + pub cbWrappingKey: ULONG, + pub cbIsolatedKey: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_EXPORTED_ISOLATED_KEY_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyUsage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(KeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlgName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbAlgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbNonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAuthTag) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbAuthTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWrappingKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbWrappingKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbIsolatedKey) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbIsolatedKey) + ) + ); +} +impl _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER { + #[inline] + pub fn PerBootKey(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_PerBootKey(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PerBootKey: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let PerBootKey: u32 = unsafe { ::std::mem::transmute(PerBootKey) }; + PerBootKey as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type NCRYPT_EXPORTED_ISOLATED_KEY_HEADER = _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER; +pub type PNCRYPT_EXPORTED_ISOLATED_KEY_HEADER = *mut _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE { + pub Header: NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, +} +#[test] +fn bindgen_test_layout__NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE), + "::", + stringify!(Header) + ) + ); +} +pub type NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE = _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE; +pub type PNCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE = *mut _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT { + pub Magic: UINT32, + pub Version: UINT32, + pub HeaderSize: UINT32, + pub cbCertifyInfo: UINT32, + pub cbSignature: UINT32, + pub cbTpmPublic: UINT32, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>(), + 24usize, + concat!( + "Size of: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCertifyInfo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbCertifyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTpmPublic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbTpmPublic) + ) + ); +} +pub type NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT = + __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT; +pub type PNCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT = + *mut __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT { + pub Magic: ULONG, + pub Version: ULONG, + pub pcrAlg: ULONG, + pub cbSignature: ULONG, + pub cbQuote: ULONG, + pub cbPcrs: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>(), + 24usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcrAlg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(pcrAlg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbQuote) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbQuote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPcrs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbPcrs) + ) + ); +} +pub type NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT = _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT; +pub type PNCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT = + *mut _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT; +extern "C" { + pub fn NCryptOpenStorageProvider( + phProvider: *mut NCRYPT_PROV_HANDLE, + pszProviderName: LPCWSTR, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCryptAlgorithmName { + pub pszName: LPWSTR, + pub dwClass: DWORD, + pub dwAlgOperations: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__NCryptAlgorithmName() { + const UNINIT: ::std::mem::MaybeUninit<_NCryptAlgorithmName> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCryptAlgorithmName>(), + 24usize, + concat!("Size of: ", stringify!(_NCryptAlgorithmName)) + ); + assert_eq!( + ::std::mem::align_of::<_NCryptAlgorithmName>(), + 8usize, + concat!("Alignment of ", stringify!(_NCryptAlgorithmName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAlgOperations) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwAlgOperations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwFlags) + ) + ); +} +pub type NCryptAlgorithmName = _NCryptAlgorithmName; +extern "C" { + pub fn NCryptEnumAlgorithms( + hProvider: NCRYPT_PROV_HANDLE, + dwAlgOperations: DWORD, + pdwAlgCount: *mut DWORD, + ppAlgList: *mut *mut NCryptAlgorithmName, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptIsAlgSupported( + hProvider: NCRYPT_PROV_HANDLE, + pszAlgId: LPCWSTR, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCryptKeyName { + pub pszName: LPWSTR, + pub pszAlgid: LPWSTR, + pub dwLegacyKeySpec: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_NCryptKeyName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NCryptKeyName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCryptKeyName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(pszAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLegacyKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(dwLegacyKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(dwFlags) + ) + ); +} +extern "C" { + pub fn NCryptEnumKeys( + hProvider: NCRYPT_PROV_HANDLE, + pszScope: LPCWSTR, + ppKeyName: *mut *mut NCryptKeyName, + ppEnumState: *mut PVOID, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCryptProviderName { + pub pszName: LPWSTR, + pub pszComment: LPWSTR, +} +#[test] +fn bindgen_test_layout_NCryptProviderName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NCryptProviderName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCryptProviderName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCryptProviderName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCryptProviderName), + "::", + stringify!(pszComment) + ) + ); +} +extern "C" { + pub fn NCryptEnumStorageProviders( + pdwProviderCount: *mut DWORD, + ppProviderList: *mut *mut NCryptProviderName, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFreeBuffer(pvInput: PVOID) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptOpenKey( + hProvider: NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + pszKeyName: LPCWSTR, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptCreatePersistedKey( + hProvider: NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + pszAlgId: LPCWSTR, + pszKeyName: LPCWSTR, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_UI_POLICY { + pub dwVersion: DWORD, + pub dwFlags: DWORD, + pub pszCreationTitle: LPCWSTR, + pub pszFriendlyName: LPCWSTR, + pub pszDescription: LPCWSTR, +} +#[test] +fn bindgen_test_layout___NCRYPT_UI_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_UI_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_UI_POLICY>(), + 32usize, + concat!("Size of: ", stringify!(__NCRYPT_UI_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_UI_POLICY>(), + 8usize, + concat!("Alignment of ", stringify!(__NCRYPT_UI_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCreationTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszCreationTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFriendlyName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszFriendlyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDescription) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszDescription) + ) + ); +} +pub type NCRYPT_UI_POLICY = __NCRYPT_UI_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_KEY_ACCESS_POLICY_BLOB { + pub dwVersion: DWORD, + pub dwPolicyFlags: DWORD, + pub cbUserSid: DWORD, + pub cbApplicationSid: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_KEY_ACCESS_POLICY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_KEY_ACCESS_POLICY_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPolicyFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(dwPolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(cbUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbApplicationSid) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(cbApplicationSid) + ) + ); +} +pub type NCRYPT_KEY_ACCESS_POLICY_BLOB = __NCRYPT_KEY_ACCESS_POLICY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_SUPPORTED_LENGTHS { + pub dwMinLength: DWORD, + pub dwMaxLength: DWORD, + pub dwIncrement: DWORD, + pub dwDefaultLength: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_SUPPORTED_LENGTHS() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_SUPPORTED_LENGTHS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_SUPPORTED_LENGTHS>(), + 16usize, + concat!("Size of: ", stringify!(__NCRYPT_SUPPORTED_LENGTHS)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_SUPPORTED_LENGTHS>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_SUPPORTED_LENGTHS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwMinLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwMaxLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIncrement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefaultLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwDefaultLength) + ) + ); +} +pub type NCRYPT_SUPPORTED_LENGTHS = __NCRYPT_SUPPORTED_LENGTHS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO { + pub dwVersion: DWORD, + pub iExpiration: INT32, + pub pabNonce: [BYTE; 32usize], + pub pabPolicyRef: [BYTE; 32usize], + pub pabHMAC: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>(), + 104usize, + concat!( + "Size of: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iExpiration) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(iExpiration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabNonce) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabPolicyRef) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabPolicyRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabHMAC) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabHMAC) + ) + ); +} +pub type NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO = __NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_TPM_FW_VERSION_INFO { + pub major1: UINT16, + pub major2: UINT16, + pub minor1: UINT16, + pub minor2: UINT16, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_TPM_FW_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_TPM_FW_VERSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>(), + 2usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).major1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(major1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).major2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(major2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).minor1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(minor1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).minor2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(minor2) + ) + ); +} +pub type NCRYPT_PCP_TPM_FW_VERSION_INFO = __NCRYPT_PCP_TPM_FW_VERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_RAW_POLICYDIGEST { + pub dwVersion: DWORD, + pub cbDigest: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_RAW_POLICYDIGEST() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_RAW_POLICYDIGEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_RAW_POLICYDIGEST>(), + 8usize, + concat!("Size of: ", stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_RAW_POLICYDIGEST>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDigest) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST), + "::", + stringify!(cbDigest) + ) + ); +} +pub type NCRYPT_PCP_RAW_POLICYDIGEST_INFO = __NCRYPT_PCP_RAW_POLICYDIGEST; +extern "C" { + pub fn NCryptGetProperty( + hObject: NCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSetProperty( + hObject: NCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbInput: PBYTE, + cbInput: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFinalizeKey(hKey: NCRYPT_KEY_HANDLE, dwFlags: DWORD) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptEncrypt( + hKey: NCRYPT_KEY_HANDLE, + pbInput: PBYTE, + cbInput: DWORD, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDecrypt( + hKey: NCRYPT_KEY_HANDLE, + pbInput: PBYTE, + cbInput: DWORD, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_KEY_BLOB_HEADER { + pub cbSize: ULONG, + pub dwMagic: ULONG, + pub cbAlgName: ULONG, + pub cbKeyData: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_KEY_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_KEY_BLOB_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_KEY_BLOB_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_NCRYPT_KEY_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_KEY_BLOB_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_NCRYPT_KEY_BLOB_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlgName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbAlgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbKeyData) + ) + ); +} +pub type NCRYPT_KEY_BLOB_HEADER = _NCRYPT_KEY_BLOB_HEADER; +pub type PNCRYPT_KEY_BLOB_HEADER = *mut _NCRYPT_KEY_BLOB_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER { + pub magic: DWORD, + pub cbHeader: DWORD, + pub cbPublic: DWORD, + pub cbPrivate: DWORD, + pub cbName: DWORD, +} +#[test] +fn bindgen_test_layout_NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublic) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbPublic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrivate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbPrivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbName) + ) + ); +} +pub type PNCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER = *mut NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER; +extern "C" { + pub fn NCryptImportKey( + hProvider: NCRYPT_PROV_HANDLE, + hImportKey: NCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + phKey: *mut NCRYPT_KEY_HANDLE, + pbData: PBYTE, + cbData: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptExportKey( + hKey: NCRYPT_KEY_HANDLE, + hExportKey: NCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSignHash( + hKey: NCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHashValue: PBYTE, + cbHashValue: DWORD, + pbSignature: PBYTE, + cbSignature: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptVerifySignature( + hKey: NCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHashValue: PBYTE, + cbHashValue: DWORD, + pbSignature: PBYTE, + cbSignature: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDeleteKey(hKey: NCRYPT_KEY_HANDLE, dwFlags: DWORD) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFreeObject(hObject: NCRYPT_HANDLE) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptIsKeyHandle(hKey: NCRYPT_KEY_HANDLE) -> BOOL; +} +extern "C" { + pub fn NCryptTranslateHandle( + phProvider: *mut NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + hLegacyProv: HCRYPTPROV, + hLegacyKey: HCRYPTKEY, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptNotifyChangeKey( + hProvider: NCRYPT_PROV_HANDLE, + phEvent: *mut HANDLE, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSecretAgreement( + hPrivKey: NCRYPT_KEY_HANDLE, + hPubKey: NCRYPT_KEY_HANDLE, + phAgreedSecret: *mut NCRYPT_SECRET_HANDLE, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDeriveKey( + hSharedSecret: NCRYPT_SECRET_HANDLE, + pwszKDF: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + pbDerivedKey: PBYTE, + cbDerivedKey: DWORD, + pcbResult: *mut DWORD, + dwFlags: ULONG, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptKeyDerivation( + hKey: NCRYPT_KEY_HANDLE, + pParameterList: *mut NCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: DWORD, + pcbResult: *mut DWORD, + dwFlags: ULONG, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptCreateClaim( + hSubjectKey: NCRYPT_KEY_HANDLE, + hAuthorityKey: NCRYPT_KEY_HANDLE, + dwClaimType: DWORD, + pParameterList: *mut NCryptBufferDesc, + pbClaimBlob: PBYTE, + cbClaimBlob: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptVerifyClaim( + hSubjectKey: NCRYPT_KEY_HANDLE, + hAuthorityKey: NCRYPT_KEY_HANDLE, + dwClaimType: DWORD, + pParameterList: *mut NCryptBufferDesc, + pbClaimBlob: PBYTE, + cbClaimBlob: DWORD, + pOutput: *mut NCryptBufferDesc, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +pub type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ULONG_PTR; +pub type HCRYPTPROV_LEGACY = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_BIT_BLOB { + pub cbData: DWORD, + pub pbData: *mut BYTE, + pub cUnusedBits: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_BIT_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_BIT_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_BIT_BLOB>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_BIT_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_BIT_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_BIT_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(pbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnusedBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(cUnusedBits) + ) + ); +} +pub type CRYPT_BIT_BLOB = _CRYPT_BIT_BLOB; +pub type PCRYPT_BIT_BLOB = *mut _CRYPT_BIT_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ALGORITHM_IDENTIFIER { + pub pszObjId: LPSTR, + pub Parameters: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ALGORITHM_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ALGORITHM_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ALGORITHM_IDENTIFIER>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ALGORITHM_IDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(Parameters) + ) + ); +} +pub type CRYPT_ALGORITHM_IDENTIFIER = _CRYPT_ALGORITHM_IDENTIFIER; +pub type PCRYPT_ALGORITHM_IDENTIFIER = *mut _CRYPT_ALGORITHM_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OBJID_TABLE { + pub dwAlgId: DWORD, + pub pszObjId: LPCSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_OBJID_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OBJID_TABLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OBJID_TABLE>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_OBJID_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OBJID_TABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OBJID_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJID_TABLE), + "::", + stringify!(dwAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJID_TABLE), + "::", + stringify!(pszObjId) + ) + ); +} +pub type CRYPT_OBJID_TABLE = _CRYPT_OBJID_TABLE; +pub type PCRYPT_OBJID_TABLE = *mut _CRYPT_OBJID_TABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_HASH_INFO { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Hash: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_HASH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_HASH_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_HASH_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_HASH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_HASH_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_HASH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_INFO), + "::", + stringify!(Hash) + ) + ); +} +pub type CRYPT_HASH_INFO = _CRYPT_HASH_INFO; +pub type PCRYPT_HASH_INFO = *mut _CRYPT_HASH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_EXTENSION { + pub pszObjId: LPSTR, + pub fCritical: BOOL, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_EXTENSION() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_EXTENSION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_EXTENSION>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_EXTENSION)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_EXTENSION>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_EXTENSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCritical) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(fCritical) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_EXTENSION = _CERT_EXTENSION; +pub type PCERT_EXTENSION = *mut _CERT_EXTENSION; +pub type PCCERT_EXTENSION = *const CERT_EXTENSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTE_TYPE_VALUE { + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTE_TYPE_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTE_TYPE_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTE_TYPE_VALUE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTE_TYPE_VALUE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE), + "::", + stringify!(Value) + ) + ); +} +pub type CRYPT_ATTRIBUTE_TYPE_VALUE = _CRYPT_ATTRIBUTE_TYPE_VALUE; +pub type PCRYPT_ATTRIBUTE_TYPE_VALUE = *mut _CRYPT_ATTRIBUTE_TYPE_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTE { + pub pszObjId: LPSTR, + pub cValue: DWORD, + pub rgValue: PCRYPT_ATTR_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE; +pub type PCRYPT_ATTRIBUTE = *mut _CRYPT_ATTRIBUTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTES { + pub cAttr: DWORD, + pub rgAttr: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTES), + "::", + stringify!(cAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTES), + "::", + stringify!(rgAttr) + ) + ); +} +pub type CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES; +pub type PCRYPT_ATTRIBUTES = *mut _CRYPT_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_RDN_ATTR { + pub pszObjId: LPSTR, + pub dwValueType: DWORD, + pub Value: CERT_RDN_VALUE_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_RDN_ATTR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_RDN_ATTR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_RDN_ATTR>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_RDN_ATTR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_RDN_ATTR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_RDN_ATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_RDN_ATTR = _CERT_RDN_ATTR; +pub type PCERT_RDN_ATTR = *mut _CERT_RDN_ATTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_RDN { + pub cRDNAttr: DWORD, + pub rgRDNAttr: PCERT_RDN_ATTR, +} +#[test] +fn bindgen_test_layout__CERT_RDN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_RDN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_RDN>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_RDN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_RDN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_RDN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRDNAttr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN), + "::", + stringify!(cRDNAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRDNAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN), + "::", + stringify!(rgRDNAttr) + ) + ); +} +pub type CERT_RDN = _CERT_RDN; +pub type PCERT_RDN = *mut _CERT_RDN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_INFO { + pub cRDN: DWORD, + pub rgRDN: PCERT_RDN, +} +#[test] +fn bindgen_test_layout__CERT_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRDN) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_INFO), + "::", + stringify!(cRDN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRDN) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_INFO), + "::", + stringify!(rgRDN) + ) + ); +} +pub type CERT_NAME_INFO = _CERT_NAME_INFO; +pub type PCERT_NAME_INFO = *mut _CERT_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_VALUE { + pub dwValueType: DWORD, + pub Value: CERT_RDN_VALUE_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_NAME_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_VALUE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_VALUE>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_NAME_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_VALUE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_VALUE), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_VALUE), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_NAME_VALUE = _CERT_NAME_VALUE; +pub type PCERT_NAME_VALUE = *mut _CERT_NAME_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PUBLIC_KEY_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub PublicKey: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_PUBLIC_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PUBLIC_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PUBLIC_KEY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_PUBLIC_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PUBLIC_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PUBLIC_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PUBLIC_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PUBLIC_KEY_INFO), + "::", + stringify!(PublicKey) + ) + ); +} +pub type CERT_PUBLIC_KEY_INFO = _CERT_PUBLIC_KEY_INFO; +pub type PCERT_PUBLIC_KEY_INFO = *mut _CERT_PUBLIC_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ECC_PRIVATE_KEY_INFO { + pub dwVersion: DWORD, + pub PrivateKey: CRYPT_DER_BLOB, + pub szCurveOid: LPSTR, + pub PublicKey: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ECC_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ECC_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ECC_PRIVATE_KEY_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ECC_PRIVATE_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCurveOid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(szCurveOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(PublicKey) + ) + ); +} +pub type CRYPT_ECC_PRIVATE_KEY_INFO = _CRYPT_ECC_PRIVATE_KEY_INFO; +pub type PCRYPT_ECC_PRIVATE_KEY_INFO = *mut _CRYPT_ECC_PRIVATE_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PRIVATE_KEY_INFO { + pub Version: DWORD, + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub PrivateKey: CRYPT_DER_BLOB, + pub pAttributes: PCRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CRYPT_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PRIVATE_KEY_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PRIVATE_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PRIVATE_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(pAttributes) + ) + ); +} +pub type CRYPT_PRIVATE_KEY_INFO = _CRYPT_PRIVATE_KEY_INFO; +pub type PCRYPT_PRIVATE_KEY_INFO = *mut _CRYPT_PRIVATE_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { + pub EncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedPrivateKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCRYPTED_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO), + "::", + stringify!(EncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedPrivateKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO), + "::", + stringify!(EncryptedPrivateKey) + ) + ); +} +pub type CRYPT_ENCRYPTED_PRIVATE_KEY_INFO = _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; +pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = *mut _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; +pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + EncryptedPrivateKey: CRYPT_DATA_BLOB, + pbClearTextKey: *mut BYTE, + pcbClearTextKey: *mut DWORD, + pVoidDecryptFunc: LPVOID, + ) -> BOOL, +>; +pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, + pClearTextPrivateKey: *mut CRYPT_DATA_BLOB, + pbEncryptedKey: *mut BYTE, + pcbEncryptedKey: *mut DWORD, + pVoidEncryptFunc: LPVOID, + ) -> BOOL, +>; +pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + phCryptProv: *mut HCRYPTPROV, + pVoidResolveFunc: LPVOID, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS8_IMPORT_PARAMS { + pub PrivateKey: CRYPT_DIGEST_BLOB, + pub pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC, + pub pVoidResolveFunc: LPVOID, + pub pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, + pub pVoidDecryptFunc: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS8_IMPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS8_IMPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS8_IMPORT_PARAMS>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS8_IMPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResolvehCryptProvFunc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pResolvehCryptProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidResolveFunc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pVoidResolveFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDecryptPrivateKeyFunc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pDecryptPrivateKeyFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidDecryptFunc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pVoidDecryptFunc) + ) + ); +} +pub type CRYPT_PKCS8_IMPORT_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS; +pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut _CRYPT_PKCS8_IMPORT_PARAMS; +pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS; +pub type PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = *mut _CRYPT_PKCS8_IMPORT_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS8_EXPORT_PARAMS { + pub hCryptProv: HCRYPTPROV, + pub dwKeySpec: DWORD, + pub pszPrivateKeyObjId: LPSTR, + pub pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, + pub pVoidEncryptFunc: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS8_EXPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS8_EXPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS8_EXPORT_PARAMS>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS8_EXPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrivateKeyObjId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pszPrivateKeyObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEncryptPrivateKeyFunc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pEncryptPrivateKeyFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidEncryptFunc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pVoidEncryptFunc) + ) + ); +} +pub type CRYPT_PKCS8_EXPORT_PARAMS = _CRYPT_PKCS8_EXPORT_PARAMS; +pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut _CRYPT_PKCS8_EXPORT_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_INFO { + pub dwVersion: DWORD, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Issuer: CERT_NAME_BLOB, + pub NotBefore: FILETIME, + pub NotAfter: FILETIME, + pub Subject: CERT_NAME_BLOB, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub IssuerUniqueId: CRYPT_BIT_BLOB, + pub SubjectUniqueId: CRYPT_BIT_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CERT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_INFO>(), + 208usize, + concat!("Size of: ", stringify!(_CERT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotBefore) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(NotBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotAfter) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(NotAfter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subject) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(Subject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerUniqueId) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(IssuerUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUniqueId) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SubjectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CERT_INFO = _CERT_INFO; +pub type PCERT_INFO = *mut _CERT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_ENTRY { + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub RevocationDate: FILETIME, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRL_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_CRL_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevocationDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(RevocationDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRL_ENTRY = _CRL_ENTRY; +pub type PCRL_ENTRY = *mut _CRL_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_INFO { + pub dwVersion: DWORD, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Issuer: CERT_NAME_BLOB, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub cCRLEntry: DWORD, + pub rgCRLEntry: PCRL_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_CRL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCRLEntry) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(cCRLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCRLEntry) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(rgCRLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRL_INFO = _CRL_INFO; +pub type PCRL_INFO = *mut _CRL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OR_CRL_BLOB { + pub dwChoice: DWORD, + pub cbEncoded: DWORD, + pub pbEncoded: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CERT_OR_CRL_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OR_CRL_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OR_CRL_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_OR_CRL_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OR_CRL_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OR_CRL_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(dwChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncoded) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(cbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(pbEncoded) + ) + ); +} +pub type CERT_OR_CRL_BLOB = _CERT_OR_CRL_BLOB; +pub type PCERT_OR_CRL_BLOB = *mut _CERT_OR_CRL_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OR_CRL_BUNDLE { + pub cItem: DWORD, + pub rgItem: PCERT_OR_CRL_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_OR_CRL_BUNDLE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OR_CRL_BUNDLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OR_CRL_BUNDLE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_OR_CRL_BUNDLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OR_CRL_BUNDLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OR_CRL_BUNDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cItem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BUNDLE), + "::", + stringify!(cItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgItem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BUNDLE), + "::", + stringify!(rgItem) + ) + ); +} +pub type CERT_OR_CRL_BUNDLE = _CERT_OR_CRL_BUNDLE; +pub type PCERT_OR_CRL_BUNDLE = *mut _CERT_OR_CRL_BUNDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REQUEST_INFO { + pub dwVersion: DWORD, + pub Subject: CERT_NAME_BLOB, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CERT_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REQUEST_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REQUEST_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CERT_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subject) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(Subject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CERT_REQUEST_INFO = _CERT_REQUEST_INFO; +pub type PCERT_REQUEST_INFO = *mut _CERT_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEYGEN_REQUEST_INFO { + pub dwVersion: DWORD, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub pwszChallengeString: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_KEYGEN_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEYGEN_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEYGEN_REQUEST_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_KEYGEN_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEYGEN_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEYGEN_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszChallengeString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(pwszChallengeString) + ) + ); +} +pub type CERT_KEYGEN_REQUEST_INFO = _CERT_KEYGEN_REQUEST_INFO; +pub type PCERT_KEYGEN_REQUEST_INFO = *mut _CERT_KEYGEN_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SIGNED_CONTENT_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Signature: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_SIGNED_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SIGNED_CONTENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SIGNED_CONTENT_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_SIGNED_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SIGNED_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SIGNED_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(Signature) + ) + ); +} +pub type CERT_SIGNED_CONTENT_INFO = _CERT_SIGNED_CONTENT_INFO; +pub type PCERT_SIGNED_CONTENT_INFO = *mut _CERT_SIGNED_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_USAGE { + pub cUsageIdentifier: DWORD, + pub rgpszUsageIdentifier: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CTL_USAGE() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_USAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_USAGE>(), + 16usize, + concat!("Size of: ", stringify!(_CTL_USAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_USAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_USAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUsageIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE), + "::", + stringify!(cUsageIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszUsageIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE), + "::", + stringify!(rgpszUsageIdentifier) + ) + ); +} +pub type CTL_USAGE = _CTL_USAGE; +pub type PCTL_USAGE = *mut _CTL_USAGE; +pub type CERT_ENHKEY_USAGE = _CTL_USAGE; +pub type PCERT_ENHKEY_USAGE = *mut _CTL_USAGE; +pub type PCCTL_USAGE = *const CTL_USAGE; +pub type PCCERT_ENHKEY_USAGE = *const CERT_ENHKEY_USAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_ENTRY { + pub SubjectIdentifier: CRYPT_DATA_BLOB, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CTL_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_CTL_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(SubjectIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CTL_ENTRY = _CTL_ENTRY; +pub type PCTL_ENTRY = *mut _CTL_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_INFO { + pub dwVersion: DWORD, + pub SubjectUsage: CTL_USAGE, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub SequenceNumber: CRYPT_INTEGER_BLOB, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub cCTLEntry: DWORD, + pub rgCTLEntry: PCTL_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CTL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CTL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SubjectUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SubjectAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCTLEntry) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(cCTLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCTLEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(rgCTLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CTL_INFO = _CTL_INFO; +pub type PCTL_INFO = *mut _CTL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIME_STAMP_REQUEST_INFO { + pub pszTimeStampAlgorithm: LPSTR, + pub pszContentType: LPSTR, + pub Content: CRYPT_OBJID_BLOB, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CRYPT_TIME_STAMP_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIME_STAMP_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIME_STAMP_REQUEST_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIME_STAMP_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTimeStampAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(pszTimeStampAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(pszContentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Content) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(Content) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CRYPT_TIME_STAMP_REQUEST_INFO = _CRYPT_TIME_STAMP_REQUEST_INFO; +pub type PCRYPT_TIME_STAMP_REQUEST_INFO = *mut _CRYPT_TIME_STAMP_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENROLLMENT_NAME_VALUE_PAIR { + pub pwszName: LPWSTR, + pub pwszValue: LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_ENROLLMENT_NAME_VALUE_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR), + "::", + stringify!(pwszValue) + ) + ); +} +pub type CRYPT_ENROLLMENT_NAME_VALUE_PAIR = _CRYPT_ENROLLMENT_NAME_VALUE_PAIR; +pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = *mut _CRYPT_ENROLLMENT_NAME_VALUE_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CSP_PROVIDER { + pub dwKeySpec: DWORD, + pub pwszProviderName: LPWSTR, + pub Signature: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CSP_PROVIDER() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CSP_PROVIDER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CSP_PROVIDER>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_CSP_PROVIDER)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CSP_PROVIDER>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CSP_PROVIDER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszProviderName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(pwszProviderName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(Signature) + ) + ); +} +pub type CRYPT_CSP_PROVIDER = _CRYPT_CSP_PROVIDER; +pub type PCRYPT_CSP_PROVIDER = *mut _CRYPT_CSP_PROVIDER; +extern "C" { + pub fn CryptFormatObject( + dwCertEncodingType: DWORD, + dwFormatType: DWORD, + dwFormatStrType: DWORD, + pFormatStruct: *mut ::std::os::raw::c_void, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbFormat: *mut ::std::os::raw::c_void, + pcbFormat: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_ALLOC = ::std::option::Option LPVOID>; +pub type PFN_CRYPT_FREE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCODE_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_CRYPT_ALLOC, + pub pfnFree: PFN_CRYPT_FREE, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCODE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCODE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCODE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ENCODE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCODE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ENCODE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type CRYPT_ENCODE_PARA = _CRYPT_ENCODE_PARA; +pub type PCRYPT_ENCODE_PARA = *mut _CRYPT_ENCODE_PARA; +extern "C" { + pub fn CryptEncodeObjectEx( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pEncodePara: PCRYPT_ENCODE_PARA, + pvEncoded: *mut ::std::os::raw::c_void, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncodeObject( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DECODE_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_CRYPT_ALLOC, + pub pfnFree: PFN_CRYPT_FREE, +} +#[test] +fn bindgen_test_layout__CRYPT_DECODE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DECODE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DECODE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DECODE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DECODE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_DECODE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type CRYPT_DECODE_PARA = _CRYPT_DECODE_PARA; +pub type PCRYPT_DECODE_PARA = *mut _CRYPT_DECODE_PARA; +extern "C" { + pub fn CryptDecodeObjectEx( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pDecodePara: PCRYPT_DECODE_PARA, + pvStructInfo: *mut ::std::os::raw::c_void, + pcbStructInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecodeObject( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pvStructInfo: *mut ::std::os::raw::c_void, + pcbStructInfo: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_EXTENSIONS { + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CERT_EXTENSIONS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_EXTENSIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_EXTENSIONS>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_EXTENSIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_EXTENSIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_EXTENSIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSIONS), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSIONS), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CERT_EXTENSIONS = _CERT_EXTENSIONS; +pub type PCERT_EXTENSIONS = *mut _CERT_EXTENSIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_KEY_ID_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub CertIssuer: CERT_NAME_BLOB, + pub CertSerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_KEY_ID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_KEY_ID_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_KEY_ID_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_KEY_ID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertIssuer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(CertIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertSerialNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(CertSerialNumber) + ) + ); +} +pub type CERT_AUTHORITY_KEY_ID_INFO = _CERT_AUTHORITY_KEY_ID_INFO; +pub type PCERT_AUTHORITY_KEY_ID_INFO = *mut _CERT_AUTHORITY_KEY_ID_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PRIVATE_KEY_VALIDITY { + pub NotBefore: FILETIME, + pub NotAfter: FILETIME, +} +#[test] +fn bindgen_test_layout__CERT_PRIVATE_KEY_VALIDITY() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PRIVATE_KEY_VALIDITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PRIVATE_KEY_VALIDITY>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_PRIVATE_KEY_VALIDITY)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PRIVATE_KEY_VALIDITY>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_PRIVATE_KEY_VALIDITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotBefore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PRIVATE_KEY_VALIDITY), + "::", + stringify!(NotBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PRIVATE_KEY_VALIDITY), + "::", + stringify!(NotAfter) + ) + ); +} +pub type CERT_PRIVATE_KEY_VALIDITY = _CERT_PRIVATE_KEY_VALIDITY; +pub type PCERT_PRIVATE_KEY_VALIDITY = *mut _CERT_PRIVATE_KEY_VALIDITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEY_ATTRIBUTES_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub IntendedKeyUsage: CRYPT_BIT_BLOB, + pub pPrivateKeyUsagePeriod: PCERT_PRIVATE_KEY_VALIDITY, +} +#[test] +fn bindgen_test_layout__CERT_KEY_ATTRIBUTES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_ATTRIBUTES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_ATTRIBUTES_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_KEY_ATTRIBUTES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_ATTRIBUTES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_ATTRIBUTES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedKeyUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(IntendedKeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrivateKeyUsagePeriod) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(pPrivateKeyUsagePeriod) + ) + ); +} +pub type CERT_KEY_ATTRIBUTES_INFO = _CERT_KEY_ATTRIBUTES_INFO; +pub type PCERT_KEY_ATTRIBUTES_INFO = *mut _CERT_KEY_ATTRIBUTES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_ID { + pub cCertPolicyElementId: DWORD, + pub rgpszCertPolicyElementId: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_ID>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertPolicyElementId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_ID), + "::", + stringify!(cCertPolicyElementId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszCertPolicyElementId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_ID), + "::", + stringify!(rgpszCertPolicyElementId) + ) + ); +} +pub type CERT_POLICY_ID = _CERT_POLICY_ID; +pub type PCERT_POLICY_ID = *mut _CERT_POLICY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEY_USAGE_RESTRICTION_INFO { + pub cCertPolicyId: DWORD, + pub rgCertPolicyId: PCERT_POLICY_ID, + pub RestrictedKeyUsage: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_KEY_USAGE_RESTRICTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_USAGE_RESTRICTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_USAGE_RESTRICTION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_USAGE_RESTRICTION_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertPolicyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(cCertPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertPolicyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(rgCertPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedKeyUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(RestrictedKeyUsage) + ) + ); +} +pub type CERT_KEY_USAGE_RESTRICTION_INFO = _CERT_KEY_USAGE_RESTRICTION_INFO; +pub type PCERT_KEY_USAGE_RESTRICTION_INFO = *mut _CERT_KEY_USAGE_RESTRICTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OTHER_NAME { + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_OTHER_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OTHER_NAME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OTHER_NAME>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_OTHER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OTHER_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OTHER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_NAME), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_NAME), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_OTHER_NAME = _CERT_OTHER_NAME; +pub type PCERT_OTHER_NAME = *mut _CERT_OTHER_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ALT_NAME_ENTRY { + pub dwAltNameChoice: DWORD, + pub __bindgen_anon_1: _CERT_ALT_NAME_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_ALT_NAME_ENTRY__bindgen_ty_1 { + pub pOtherName: PCERT_OTHER_NAME, + pub pwszRfc822Name: LPWSTR, + pub pwszDNSName: LPWSTR, + pub DirectoryName: CERT_NAME_BLOB, + pub pwszURL: LPWSTR, + pub IPAddress: CRYPT_DATA_BLOB, + pub pszRegisteredID: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pOtherName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszRfc822Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszRfc822Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszDNSName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszDNSName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DirectoryName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(DirectoryName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszURL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IPAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(IPAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszRegisteredID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pszRegisteredID) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ALT_NAME_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAltNameChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY), + "::", + stringify!(dwAltNameChoice) + ) + ); +} +pub type CERT_ALT_NAME_ENTRY = _CERT_ALT_NAME_ENTRY; +pub type PCERT_ALT_NAME_ENTRY = *mut _CERT_ALT_NAME_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ALT_NAME_INFO { + pub cAltEntry: DWORD, + pub rgAltEntry: PCERT_ALT_NAME_ENTRY, +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ALT_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAltEntry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_INFO), + "::", + stringify!(cAltEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAltEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_INFO), + "::", + stringify!(rgAltEntry) + ) + ); +} +pub type CERT_ALT_NAME_INFO = _CERT_ALT_NAME_INFO; +pub type PCERT_ALT_NAME_INFO = *mut _CERT_ALT_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BASIC_CONSTRAINTS_INFO { + pub SubjectType: CRYPT_BIT_BLOB, + pub fPathLenConstraint: BOOL, + pub dwPathLenConstraint: DWORD, + pub cSubtreesConstraint: DWORD, + pub rgSubtreesConstraint: *mut CERT_NAME_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_BASIC_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BASIC_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BASIC_CONSTRAINTS_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BASIC_CONSTRAINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(SubjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPathLenConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(fPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPathLenConstraint) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(dwPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSubtreesConstraint) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(cSubtreesConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgSubtreesConstraint) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(rgSubtreesConstraint) + ) + ); +} +pub type CERT_BASIC_CONSTRAINTS_INFO = _CERT_BASIC_CONSTRAINTS_INFO; +pub type PCERT_BASIC_CONSTRAINTS_INFO = *mut _CERT_BASIC_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BASIC_CONSTRAINTS2_INFO { + pub fCA: BOOL, + pub fPathLenConstraint: BOOL, + pub dwPathLenConstraint: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_BASIC_CONSTRAINTS2_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BASIC_CONSTRAINTS2_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BASIC_CONSTRAINTS2_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BASIC_CONSTRAINTS2_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(fCA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPathLenConstraint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(fPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPathLenConstraint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(dwPathLenConstraint) + ) + ); +} +pub type CERT_BASIC_CONSTRAINTS2_INFO = _CERT_BASIC_CONSTRAINTS2_INFO; +pub type PCERT_BASIC_CONSTRAINTS2_INFO = *mut _CERT_BASIC_CONSTRAINTS2_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_INFO { + pub pszPolicyQualifierId: LPSTR, + pub Qualifier: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_POLICY_QUALIFIER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_QUALIFIER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPolicyQualifierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_INFO), + "::", + stringify!(pszPolicyQualifierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Qualifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_INFO), + "::", + stringify!(Qualifier) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_INFO = _CERT_POLICY_QUALIFIER_INFO; +pub type PCERT_POLICY_QUALIFIER_INFO = *mut _CERT_POLICY_QUALIFIER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_INFO { + pub pszPolicyIdentifier: LPSTR, + pub cPolicyQualifier: DWORD, + pub rgPolicyQualifier: *mut CERT_POLICY_QUALIFIER_INFO, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_POLICY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPolicyIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(pszPolicyIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyQualifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(cPolicyQualifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyQualifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(rgPolicyQualifier) + ) + ); +} +pub type CERT_POLICY_INFO = _CERT_POLICY_INFO; +pub type PCERT_POLICY_INFO = *mut _CERT_POLICY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICIES_INFO { + pub cPolicyInfo: DWORD, + pub rgPolicyInfo: *mut CERT_POLICY_INFO, +} +#[test] +fn bindgen_test_layout__CERT_POLICIES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICIES_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICIES_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICIES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICIES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICIES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICIES_INFO), + "::", + stringify!(cPolicyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICIES_INFO), + "::", + stringify!(rgPolicyInfo) + ) + ); +} +pub type CERT_POLICIES_INFO = _CERT_POLICIES_INFO; +pub type PCERT_POLICIES_INFO = *mut _CERT_POLICIES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE { + pub pszOrganization: LPSTR, + pub cNoticeNumbers: DWORD, + pub rgNoticeNumbers: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_NOTICE_REFERENCE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOrganization) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(pszOrganization) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cNoticeNumbers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(cNoticeNumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgNoticeNumbers) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(rgNoticeNumbers) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_NOTICE_REFERENCE = _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; +pub type PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE = *mut _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_USER_NOTICE { + pub pNoticeReference: *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, + pub pszDisplayText: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_USER_NOTICE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_USER_NOTICE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_USER_NOTICE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_USER_NOTICE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNoticeReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE), + "::", + stringify!(pNoticeReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDisplayText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE), + "::", + stringify!(pszDisplayText) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_USER_NOTICE = _CERT_POLICY_QUALIFIER_USER_NOTICE; +pub type PCERT_POLICY_QUALIFIER_USER_NOTICE = *mut _CERT_POLICY_QUALIFIER_USER_NOTICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CPS_URLS { + pub pszURL: LPWSTR, + pub pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, + pub pDigest: *mut CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CPS_URLS() { + const UNINIT: ::std::mem::MaybeUninit<_CPS_URLS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CPS_URLS>(), + 24usize, + concat!("Size of: ", stringify!(_CPS_URLS)) + ); + assert_eq!( + ::std::mem::align_of::<_CPS_URLS>(), + 8usize, + concat!("Alignment of ", stringify!(_CPS_URLS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszURL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pszURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDigest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pDigest) + ) + ); +} +pub type CPS_URLS = _CPS_URLS; +pub type PCPS_URLS = *mut _CPS_URLS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY95_QUALIFIER1 { + pub pszPracticesReference: LPWSTR, + pub pszNoticeIdentifier: LPSTR, + pub pszNSINoticeIdentifier: LPSTR, + pub cCPSURLs: DWORD, + pub rgCPSURLs: *mut CPS_URLS, +} +#[test] +fn bindgen_test_layout__CERT_POLICY95_QUALIFIER1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY95_QUALIFIER1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY95_QUALIFIER1>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_POLICY95_QUALIFIER1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY95_QUALIFIER1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY95_QUALIFIER1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPracticesReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszPracticesReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNoticeIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszNoticeIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNSINoticeIdentifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszNSINoticeIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCPSURLs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(cCPSURLs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCPSURLs) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(rgCPSURLs) + ) + ); +} +pub type CERT_POLICY95_QUALIFIER1 = _CERT_POLICY95_QUALIFIER1; +pub type PCERT_POLICY95_QUALIFIER1 = *mut _CERT_POLICY95_QUALIFIER1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_MAPPING { + pub pszIssuerDomainPolicy: LPSTR, + pub pszSubjectDomainPolicy: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_MAPPING() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_MAPPING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_MAPPING>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_MAPPING)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_MAPPING>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_MAPPING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIssuerDomainPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPING), + "::", + stringify!(pszIssuerDomainPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSubjectDomainPolicy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPING), + "::", + stringify!(pszSubjectDomainPolicy) + ) + ); +} +pub type CERT_POLICY_MAPPING = _CERT_POLICY_MAPPING; +pub type PCERT_POLICY_MAPPING = *mut _CERT_POLICY_MAPPING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_MAPPINGS_INFO { + pub cPolicyMapping: DWORD, + pub rgPolicyMapping: PCERT_POLICY_MAPPING, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_MAPPINGS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_MAPPINGS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_MAPPINGS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_MAPPINGS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_MAPPINGS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_MAPPINGS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyMapping) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPINGS_INFO), + "::", + stringify!(cPolicyMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyMapping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPINGS_INFO), + "::", + stringify!(rgPolicyMapping) + ) + ); +} +pub type CERT_POLICY_MAPPINGS_INFO = _CERT_POLICY_MAPPINGS_INFO; +pub type PCERT_POLICY_MAPPINGS_INFO = *mut _CERT_POLICY_MAPPINGS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_CONSTRAINTS_INFO { + pub fRequireExplicitPolicy: BOOL, + pub dwRequireExplicitPolicySkipCerts: DWORD, + pub fInhibitPolicyMapping: BOOL, + pub dwInhibitPolicyMappingSkipCerts: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_CONSTRAINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_CONSTRAINTS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRequireExplicitPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(fRequireExplicitPolicy) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwRequireExplicitPolicySkipCerts) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(dwRequireExplicitPolicySkipCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fInhibitPolicyMapping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(fInhibitPolicyMapping) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwInhibitPolicyMappingSkipCerts) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(dwInhibitPolicyMappingSkipCerts) + ) + ); +} +pub type CERT_POLICY_CONSTRAINTS_INFO = _CERT_POLICY_CONSTRAINTS_INFO; +pub type PCERT_POLICY_CONSTRAINTS_INFO = *mut _CERT_POLICY_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY { + pub pszObjId: LPSTR, + pub cValue: DWORD, + pub rgValue: PCRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; +pub type PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = *mut _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTENT_INFO { + pub pszObjId: LPSTR, + pub Content: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTENT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTENT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Content) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO), + "::", + stringify!(Content) + ) + ); +} +pub type CRYPT_CONTENT_INFO = _CRYPT_CONTENT_INFO; +pub type PCRYPT_CONTENT_INFO = *mut _CRYPT_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SEQUENCE_OF_ANY { + pub cValue: DWORD, + pub rgValue: PCRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_SEQUENCE_OF_ANY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SEQUENCE_OF_ANY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SEQUENCE_OF_ANY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_SEQUENCE_OF_ANY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SEQUENCE_OF_ANY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SEQUENCE_OF_ANY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SEQUENCE_OF_ANY), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SEQUENCE_OF_ANY), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_SEQUENCE_OF_ANY = _CRYPT_SEQUENCE_OF_ANY; +pub type PCRYPT_SEQUENCE_OF_ANY = *mut _CRYPT_SEQUENCE_OF_ANY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_KEY_ID2_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub AuthorityCertIssuer: CERT_ALT_NAME_INFO, + pub AuthorityCertSerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_KEY_ID2_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_KEY_ID2_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_KEY_ID2_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_KEY_ID2_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthorityCertIssuer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(AuthorityCertIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthorityCertSerialNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(AuthorityCertSerialNumber) + ) + ); +} +pub type CERT_AUTHORITY_KEY_ID2_INFO = _CERT_AUTHORITY_KEY_ID2_INFO; +pub type PCERT_AUTHORITY_KEY_ID2_INFO = *mut _CERT_AUTHORITY_KEY_ID2_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ACCESS_DESCRIPTION { + pub pszAccessMethod: LPSTR, + pub AccessLocation: CERT_ALT_NAME_ENTRY, +} +#[test] +fn bindgen_test_layout__CERT_ACCESS_DESCRIPTION() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ACCESS_DESCRIPTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ACCESS_DESCRIPTION>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ACCESS_DESCRIPTION)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ACCESS_DESCRIPTION>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ACCESS_DESCRIPTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAccessMethod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ACCESS_DESCRIPTION), + "::", + stringify!(pszAccessMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessLocation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ACCESS_DESCRIPTION), + "::", + stringify!(AccessLocation) + ) + ); +} +pub type CERT_ACCESS_DESCRIPTION = _CERT_ACCESS_DESCRIPTION; +pub type PCERT_ACCESS_DESCRIPTION = *mut _CERT_ACCESS_DESCRIPTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_INFO_ACCESS { + pub cAccDescr: DWORD, + pub rgAccDescr: PCERT_ACCESS_DESCRIPTION, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_INFO_ACCESS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_INFO_ACCESS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_INFO_ACCESS>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_INFO_ACCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_INFO_ACCESS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_INFO_ACCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccDescr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_INFO_ACCESS), + "::", + stringify!(cAccDescr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAccDescr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_INFO_ACCESS), + "::", + stringify!(rgAccDescr) + ) + ); +} +pub type CERT_AUTHORITY_INFO_ACCESS = _CERT_AUTHORITY_INFO_ACCESS; +pub type PCERT_AUTHORITY_INFO_ACCESS = *mut _CERT_AUTHORITY_INFO_ACCESS; +pub type CERT_SUBJECT_INFO_ACCESS = _CERT_AUTHORITY_INFO_ACCESS; +pub type PCERT_SUBJECT_INFO_ACCESS = *mut _CERT_AUTHORITY_INFO_ACCESS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_DIST_POINT_NAME { + pub dwDistPointNameChoice: DWORD, + pub __bindgen_anon_1: _CRL_DIST_POINT_NAME__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRL_DIST_POINT_NAME__bindgen_ty_1 { + pub FullName: CERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT_NAME__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT_NAME__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT_NAME__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT_NAME__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1), + "::", + stringify!(FullName) + ) + ); +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT_NAME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT_NAME>(), + 24usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINT_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDistPointNameChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT_NAME), + "::", + stringify!(dwDistPointNameChoice) + ) + ); +} +pub type CRL_DIST_POINT_NAME = _CRL_DIST_POINT_NAME; +pub type PCRL_DIST_POINT_NAME = *mut _CRL_DIST_POINT_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_DIST_POINT { + pub DistPointName: CRL_DIST_POINT_NAME, + pub ReasonFlags: CRYPT_BIT_BLOB, + pub CRLIssuer: CERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT>(), + 64usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DistPointName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(DistPointName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(ReasonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRLIssuer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(CRLIssuer) + ) + ); +} +pub type CRL_DIST_POINT = _CRL_DIST_POINT; +pub type PCRL_DIST_POINT = *mut _CRL_DIST_POINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_DIST_POINTS_INFO { + pub cDistPoint: DWORD, + pub rgDistPoint: PCRL_DIST_POINT, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDistPoint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINTS_INFO), + "::", + stringify!(cDistPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgDistPoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINTS_INFO), + "::", + stringify!(rgDistPoint) + ) + ); +} +pub type CRL_DIST_POINTS_INFO = _CRL_DIST_POINTS_INFO; +pub type PCRL_DIST_POINTS_INFO = *mut _CRL_DIST_POINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CROSS_CERT_DIST_POINTS_INFO { + pub dwSyncDeltaTime: DWORD, + pub cDistPoint: DWORD, + pub rgDistPoint: PCERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CROSS_CERT_DIST_POINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CROSS_CERT_DIST_POINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CROSS_CERT_DIST_POINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CROSS_CERT_DIST_POINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CROSS_CERT_DIST_POINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CROSS_CERT_DIST_POINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSyncDeltaTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(dwSyncDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDistPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(cDistPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgDistPoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(rgDistPoint) + ) + ); +} +pub type CROSS_CERT_DIST_POINTS_INFO = _CROSS_CERT_DIST_POINTS_INFO; +pub type PCROSS_CERT_DIST_POINTS_INFO = *mut _CROSS_CERT_DIST_POINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PAIR { + pub Forward: CERT_BLOB, + pub Reverse: CERT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PAIR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PAIR>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Forward) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PAIR), + "::", + stringify!(Forward) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reverse) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PAIR), + "::", + stringify!(Reverse) + ) + ); +} +pub type CERT_PAIR = _CERT_PAIR; +pub type PCERT_PAIR = *mut _CERT_PAIR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_ISSUING_DIST_POINT { + pub DistPointName: CRL_DIST_POINT_NAME, + pub fOnlyContainsUserCerts: BOOL, + pub fOnlyContainsCACerts: BOOL, + pub OnlySomeReasonFlags: CRYPT_BIT_BLOB, + pub fIndirectCRL: BOOL, +} +#[test] +fn bindgen_test_layout__CRL_ISSUING_DIST_POINT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_ISSUING_DIST_POINT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_ISSUING_DIST_POINT>(), + 64usize, + concat!("Size of: ", stringify!(_CRL_ISSUING_DIST_POINT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_ISSUING_DIST_POINT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_ISSUING_DIST_POINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DistPointName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(DistPointName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOnlyContainsUserCerts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fOnlyContainsUserCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOnlyContainsCACerts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fOnlyContainsCACerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnlySomeReasonFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(OnlySomeReasonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIndirectCRL) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fIndirectCRL) + ) + ); +} +pub type CRL_ISSUING_DIST_POINT = _CRL_ISSUING_DIST_POINT; +pub type PCRL_ISSUING_DIST_POINT = *mut _CRL_ISSUING_DIST_POINT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_GENERAL_SUBTREE { + pub Base: CERT_ALT_NAME_ENTRY, + pub dwMinimum: DWORD, + pub fMaximum: BOOL, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_GENERAL_SUBTREE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_GENERAL_SUBTREE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_GENERAL_SUBTREE>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_GENERAL_SUBTREE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_GENERAL_SUBTREE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_GENERAL_SUBTREE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Base) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(Base) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMaximum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(fMaximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(dwMaximum) + ) + ); +} +pub type CERT_GENERAL_SUBTREE = _CERT_GENERAL_SUBTREE; +pub type PCERT_GENERAL_SUBTREE = *mut _CERT_GENERAL_SUBTREE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_CONSTRAINTS_INFO { + pub cPermittedSubtree: DWORD, + pub rgPermittedSubtree: PCERT_GENERAL_SUBTREE, + pub cExcludedSubtree: DWORD, + pub rgExcludedSubtree: PCERT_GENERAL_SUBTREE, +} +#[test] +fn bindgen_test_layout__CERT_NAME_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_CONSTRAINTS_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_NAME_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_CONSTRAINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPermittedSubtree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(cPermittedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPermittedSubtree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(rgPermittedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExcludedSubtree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(cExcludedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExcludedSubtree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(rgExcludedSubtree) + ) + ); +} +pub type CERT_NAME_CONSTRAINTS_INFO = _CERT_NAME_CONSTRAINTS_INFO; +pub type PCERT_NAME_CONSTRAINTS_INFO = *mut _CERT_NAME_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_DSS_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub q: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_DSS_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_DSS_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_DSS_PARAMETERS>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_DSS_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_DSS_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_DSS_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(q) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(g) + ) + ); +} +pub type CERT_DSS_PARAMETERS = _CERT_DSS_PARAMETERS; +pub type PCERT_DSS_PARAMETERS = *mut _CERT_DSS_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_DH_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_DH_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_DH_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_DH_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_DH_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_DH_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_DH_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DH_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DH_PARAMETERS), + "::", + stringify!(g) + ) + ); +} +pub type CERT_DH_PARAMETERS = _CERT_DH_PARAMETERS; +pub type PCERT_DH_PARAMETERS = *mut _CERT_DH_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ECC_SIGNATURE { + pub r: CRYPT_UINT_BLOB, + pub s: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ECC_SIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ECC_SIGNATURE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ECC_SIGNATURE>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ECC_SIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ECC_SIGNATURE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ECC_SIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ECC_SIGNATURE), + "::", + stringify!(r) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ECC_SIGNATURE), + "::", + stringify!(s) + ) + ); +} +pub type CERT_ECC_SIGNATURE = _CERT_ECC_SIGNATURE; +pub type PCERT_ECC_SIGNATURE = *mut _CERT_ECC_SIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_X942_DH_VALIDATION_PARAMS { + pub seed: CRYPT_BIT_BLOB, + pub pgenCounter: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_X942_DH_VALIDATION_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_X942_DH_VALIDATION_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_X942_DH_VALIDATION_PARAMS>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_X942_DH_VALIDATION_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_X942_DH_VALIDATION_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_X942_DH_VALIDATION_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_VALIDATION_PARAMS), + "::", + stringify!(seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pgenCounter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_VALIDATION_PARAMS), + "::", + stringify!(pgenCounter) + ) + ); +} +pub type CERT_X942_DH_VALIDATION_PARAMS = _CERT_X942_DH_VALIDATION_PARAMS; +pub type PCERT_X942_DH_VALIDATION_PARAMS = *mut _CERT_X942_DH_VALIDATION_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_X942_DH_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, + pub q: CRYPT_UINT_BLOB, + pub j: CRYPT_UINT_BLOB, + pub pValidationParams: PCERT_X942_DH_VALIDATION_PARAMS, +} +#[test] +fn bindgen_test_layout__CERT_X942_DH_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_X942_DH_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_X942_DH_PARAMETERS>(), + 72usize, + concat!("Size of: ", stringify!(_CERT_X942_DH_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_X942_DH_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_X942_DH_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(q) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(j) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValidationParams) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(pValidationParams) + ) + ); +} +pub type CERT_X942_DH_PARAMETERS = _CERT_X942_DH_PARAMETERS; +pub type PCERT_X942_DH_PARAMETERS = *mut _CERT_X942_DH_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_X942_OTHER_INFO { + pub pszContentEncryptionObjId: LPSTR, + pub rgbCounter: [BYTE; 4usize], + pub rgbKeyLength: [BYTE; 4usize], + pub PubInfo: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_X942_OTHER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_X942_OTHER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_X942_OTHER_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_X942_OTHER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_X942_OTHER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_X942_OTHER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentEncryptionObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(pszContentEncryptionObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbCounter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(rgbCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbKeyLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(rgbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(PubInfo) + ) + ); +} +pub type CRYPT_X942_OTHER_INFO = _CRYPT_X942_OTHER_INFO; +pub type PCRYPT_X942_OTHER_INFO = *mut _CRYPT_X942_OTHER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ECC_CMS_SHARED_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EntityUInfo: CRYPT_DATA_BLOB, + pub rgbSuppPubInfo: [BYTE; 4usize], +} +#[test] +fn bindgen_test_layout__CRYPT_ECC_CMS_SHARED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ECC_CMS_SHARED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ECC_CMS_SHARED_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ECC_CMS_SHARED_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntityUInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(EntityUInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbSuppPubInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(rgbSuppPubInfo) + ) + ); +} +pub type CRYPT_ECC_CMS_SHARED_INFO = _CRYPT_ECC_CMS_SHARED_INFO; +pub type PCRYPT_ECC_CMS_SHARED_INFO = *mut _CRYPT_ECC_CMS_SHARED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RC2_CBC_PARAMETERS { + pub dwVersion: DWORD, + pub fIV: BOOL, + pub rgbIV: [BYTE; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_RC2_CBC_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RC2_CBC_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RC2_CBC_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_RC2_CBC_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RC2_CBC_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_RC2_CBC_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIV) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(fIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbIV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(rgbIV) + ) + ); +} +pub type CRYPT_RC2_CBC_PARAMETERS = _CRYPT_RC2_CBC_PARAMETERS; +pub type PCRYPT_RC2_CBC_PARAMETERS = *mut _CRYPT_RC2_CBC_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMIME_CAPABILITY { + pub pszObjId: LPSTR, + pub Parameters: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_SMIME_CAPABILITY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMIME_CAPABILITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMIME_CAPABILITY>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_SMIME_CAPABILITY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMIME_CAPABILITY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SMIME_CAPABILITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITY), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITY), + "::", + stringify!(Parameters) + ) + ); +} +pub type CRYPT_SMIME_CAPABILITY = _CRYPT_SMIME_CAPABILITY; +pub type PCRYPT_SMIME_CAPABILITY = *mut _CRYPT_SMIME_CAPABILITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMIME_CAPABILITIES { + pub cCapability: DWORD, + pub rgCapability: PCRYPT_SMIME_CAPABILITY, +} +#[test] +fn bindgen_test_layout__CRYPT_SMIME_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMIME_CAPABILITIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMIME_CAPABILITIES>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_SMIME_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMIME_CAPABILITIES>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SMIME_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCapability) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITIES), + "::", + stringify!(cCapability) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCapability) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITIES), + "::", + stringify!(rgCapability) + ) + ); +} +pub type CRYPT_SMIME_CAPABILITIES = _CRYPT_SMIME_CAPABILITIES; +pub type PCRYPT_SMIME_CAPABILITIES = *mut _CRYPT_SMIME_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_QC_STATEMENT { + pub pszStatementId: LPSTR, + pub StatementInfo: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_QC_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_QC_STATEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_QC_STATEMENT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_QC_STATEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_QC_STATEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_QC_STATEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatementId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENT), + "::", + stringify!(pszStatementId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatementInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENT), + "::", + stringify!(StatementInfo) + ) + ); +} +pub type CERT_QC_STATEMENT = _CERT_QC_STATEMENT; +pub type PCERT_QC_STATEMENT = *mut _CERT_QC_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_QC_STATEMENTS_EXT_INFO { + pub cStatement: DWORD, + pub rgStatement: PCERT_QC_STATEMENT, +} +#[test] +fn bindgen_test_layout__CERT_QC_STATEMENTS_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_QC_STATEMENTS_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_QC_STATEMENTS_EXT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_QC_STATEMENTS_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_QC_STATEMENTS_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_QC_STATEMENTS_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStatement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENTS_EXT_INFO), + "::", + stringify!(cStatement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgStatement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENTS_EXT_INFO), + "::", + stringify!(rgStatement) + ) + ); +} +pub type CERT_QC_STATEMENTS_EXT_INFO = _CERT_QC_STATEMENTS_EXT_INFO; +pub type PCERT_QC_STATEMENTS_EXT_INFO = *mut _CERT_QC_STATEMENTS_EXT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_MASK_GEN_ALGORITHM { + pub pszObjId: LPSTR, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, +} +#[test] +fn bindgen_test_layout__CRYPT_MASK_GEN_ALGORITHM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_MASK_GEN_ALGORITHM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_MASK_GEN_ALGORITHM>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_MASK_GEN_ALGORITHM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_MASK_GEN_ALGORITHM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_MASK_GEN_ALGORITHM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_MASK_GEN_ALGORITHM), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_MASK_GEN_ALGORITHM), + "::", + stringify!(HashAlgorithm) + ) + ); +} +pub type CRYPT_MASK_GEN_ALGORITHM = _CRYPT_MASK_GEN_ALGORITHM; +pub type PCRYPT_MASK_GEN_ALGORITHM = *mut _CRYPT_MASK_GEN_ALGORITHM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RSA_SSA_PSS_PARAMETERS { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, + pub dwSaltLength: DWORD, + pub dwTrailerField: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_RSA_SSA_PSS_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RSA_SSA_PSS_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RSA_SSA_PSS_PARAMETERS>(), + 64usize, + concat!("Size of: ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RSA_SSA_PSS_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaskGenAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(MaskGenAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSaltLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(dwSaltLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrailerField) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(dwTrailerField) + ) + ); +} +pub type CRYPT_RSA_SSA_PSS_PARAMETERS = _CRYPT_RSA_SSA_PSS_PARAMETERS; +pub type PCRYPT_RSA_SSA_PSS_PARAMETERS = *mut _CRYPT_RSA_SSA_PSS_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PSOURCE_ALGORITHM { + pub pszObjId: LPSTR, + pub EncodingParameters: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_PSOURCE_ALGORITHM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PSOURCE_ALGORITHM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PSOURCE_ALGORITHM>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PSOURCE_ALGORITHM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PSOURCE_ALGORITHM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PSOURCE_ALGORITHM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PSOURCE_ALGORITHM), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncodingParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PSOURCE_ALGORITHM), + "::", + stringify!(EncodingParameters) + ) + ); +} +pub type CRYPT_PSOURCE_ALGORITHM = _CRYPT_PSOURCE_ALGORITHM; +pub type PCRYPT_PSOURCE_ALGORITHM = *mut _CRYPT_PSOURCE_ALGORITHM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RSAES_OAEP_PARAMETERS { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, + pub PSourceAlgorithm: CRYPT_PSOURCE_ALGORITHM, +} +#[test] +fn bindgen_test_layout__CRYPT_RSAES_OAEP_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RSAES_OAEP_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RSAES_OAEP_PARAMETERS>(), + 80usize, + concat!("Size of: ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RSAES_OAEP_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaskGenAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(MaskGenAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PSourceAlgorithm) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(PSourceAlgorithm) + ) + ); +} +pub type CRYPT_RSAES_OAEP_PARAMETERS = _CRYPT_RSAES_OAEP_PARAMETERS; +pub type PCRYPT_RSAES_OAEP_PARAMETERS = *mut _CRYPT_RSAES_OAEP_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_ATTRIBUTE { + pub dwBodyPartID: DWORD, + pub Attribute: CRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_ATTRIBUTE() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_ATTRIBUTE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_ATTRIBUTE>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_ATTRIBUTE)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_ATTRIBUTE>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_ATTRIBUTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_ATTRIBUTE), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_ATTRIBUTE), + "::", + stringify!(Attribute) + ) + ); +} +pub type CMC_TAGGED_ATTRIBUTE = _CMC_TAGGED_ATTRIBUTE; +pub type PCMC_TAGGED_ATTRIBUTE = *mut _CMC_TAGGED_ATTRIBUTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_CERT_REQUEST { + pub dwBodyPartID: DWORD, + pub SignedCertRequest: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_CERT_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_CERT_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_CERT_REQUEST>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_CERT_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_CERT_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_CERT_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CERT_REQUEST), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignedCertRequest) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CERT_REQUEST), + "::", + stringify!(SignedCertRequest) + ) + ); +} +pub type CMC_TAGGED_CERT_REQUEST = _CMC_TAGGED_CERT_REQUEST; +pub type PCMC_TAGGED_CERT_REQUEST = *mut _CMC_TAGGED_CERT_REQUEST; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMC_TAGGED_REQUEST { + pub dwTaggedRequestChoice: DWORD, + pub __bindgen_anon_1: _CMC_TAGGED_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMC_TAGGED_REQUEST__bindgen_ty_1 { + pub pTaggedCertRequest: PCMC_TAGGED_CERT_REQUEST, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_REQUEST__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_REQUEST__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_REQUEST__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTaggedCertRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1), + "::", + stringify!(pTaggedCertRequest) + ) + ); +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTaggedRequestChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_REQUEST), + "::", + stringify!(dwTaggedRequestChoice) + ) + ); +} +pub type CMC_TAGGED_REQUEST = _CMC_TAGGED_REQUEST; +pub type PCMC_TAGGED_REQUEST = *mut _CMC_TAGGED_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_CONTENT_INFO { + pub dwBodyPartID: DWORD, + pub EncodedContentInfo: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_CONTENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_CONTENT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CONTENT_INFO), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncodedContentInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CONTENT_INFO), + "::", + stringify!(EncodedContentInfo) + ) + ); +} +pub type CMC_TAGGED_CONTENT_INFO = _CMC_TAGGED_CONTENT_INFO; +pub type PCMC_TAGGED_CONTENT_INFO = *mut _CMC_TAGGED_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_OTHER_MSG { + pub dwBodyPartID: DWORD, + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_OTHER_MSG() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_OTHER_MSG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_OTHER_MSG>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_OTHER_MSG)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_OTHER_MSG>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_OTHER_MSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(Value) + ) + ); +} +pub type CMC_TAGGED_OTHER_MSG = _CMC_TAGGED_OTHER_MSG; +pub type PCMC_TAGGED_OTHER_MSG = *mut _CMC_TAGGED_OTHER_MSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_DATA_INFO { + pub cTaggedAttribute: DWORD, + pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, + pub cTaggedRequest: DWORD, + pub rgTaggedRequest: PCMC_TAGGED_REQUEST, + pub cTaggedContentInfo: DWORD, + pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, + pub cTaggedOtherMsg: DWORD, + pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, +} +#[test] +fn bindgen_test_layout__CMC_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_DATA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_DATA_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CMC_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_DATA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedAttribute) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedAttribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedRequest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedRequest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedContentInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedContentInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedOtherMsg) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedOtherMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedOtherMsg) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedOtherMsg) + ) + ); +} +pub type CMC_DATA_INFO = _CMC_DATA_INFO; +pub type PCMC_DATA_INFO = *mut _CMC_DATA_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_RESPONSE_INFO { + pub cTaggedAttribute: DWORD, + pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, + pub cTaggedContentInfo: DWORD, + pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, + pub cTaggedOtherMsg: DWORD, + pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, +} +#[test] +fn bindgen_test_layout__CMC_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_RESPONSE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_RESPONSE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMC_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedAttribute) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedAttribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedContentInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedContentInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedOtherMsg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedOtherMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedOtherMsg) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedOtherMsg) + ) + ); +} +pub type CMC_RESPONSE_INFO = _CMC_RESPONSE_INFO; +pub type PCMC_RESPONSE_INFO = *mut _CMC_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_PEND_INFO { + pub PendToken: CRYPT_DATA_BLOB, + pub PendTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CMC_PEND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_PEND_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_PEND_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_PEND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_PEND_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_PEND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_PEND_INFO), + "::", + stringify!(PendToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_PEND_INFO), + "::", + stringify!(PendTime) + ) + ); +} +pub type CMC_PEND_INFO = _CMC_PEND_INFO; +pub type PCMC_PEND_INFO = *mut _CMC_PEND_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMC_STATUS_INFO { + pub dwStatus: DWORD, + pub cBodyList: DWORD, + pub rgdwBodyList: *mut DWORD, + pub pwszStatusString: LPWSTR, + pub dwOtherInfoChoice: DWORD, + pub __bindgen_anon_1: _CMC_STATUS_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMC_STATUS_INFO__bindgen_ty_1 { + pub dwFailInfo: DWORD, + pub pPendInfo: PCMC_PEND_INFO, +} +#[test] +fn bindgen_test_layout__CMC_STATUS_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_STATUS_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_STATUS_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_STATUS_INFO__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFailInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO__bindgen_ty_1), + "::", + stringify!(dwFailInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPendInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO__bindgen_ty_1), + "::", + stringify!(pPendInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMC_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_STATUS_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_STATUS_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMC_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_STATUS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBodyList) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(cBodyList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwBodyList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(rgdwBodyList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszStatusString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(pwszStatusString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOtherInfoChoice) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(dwOtherInfoChoice) + ) + ); +} +pub type CMC_STATUS_INFO = _CMC_STATUS_INFO; +pub type PCMC_STATUS_INFO = *mut _CMC_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_ADD_EXTENSIONS_INFO { + pub dwCmcDataReference: DWORD, + pub cCertReference: DWORD, + pub rgdwCertReference: *mut DWORD, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CMC_ADD_EXTENSIONS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_ADD_EXTENSIONS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_ADD_EXTENSIONS_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_ADD_EXTENSIONS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_ADD_EXTENSIONS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_ADD_EXTENSIONS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCmcDataReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(dwCmcDataReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertReference) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(cCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwCertReference) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(rgdwCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CMC_ADD_EXTENSIONS_INFO = _CMC_ADD_EXTENSIONS_INFO; +pub type PCMC_ADD_EXTENSIONS_INFO = *mut _CMC_ADD_EXTENSIONS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_ADD_ATTRIBUTES_INFO { + pub dwCmcDataReference: DWORD, + pub cCertReference: DWORD, + pub rgdwCertReference: *mut DWORD, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CMC_ADD_ATTRIBUTES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_ADD_ATTRIBUTES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_ADD_ATTRIBUTES_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_ADD_ATTRIBUTES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_ADD_ATTRIBUTES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCmcDataReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(dwCmcDataReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertReference) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(cCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwCertReference) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(rgdwCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CMC_ADD_ATTRIBUTES_INFO = _CMC_ADD_ATTRIBUTES_INFO; +pub type PCMC_ADD_ATTRIBUTES_INFO = *mut _CMC_ADD_ATTRIBUTES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TEMPLATE_EXT { + pub pszObjId: LPSTR, + pub dwMajorVersion: DWORD, + pub fMinorVersion: BOOL, + pub dwMinorVersion: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TEMPLATE_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TEMPLATE_EXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TEMPLATE_EXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_TEMPLATE_EXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TEMPLATE_EXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TEMPLATE_EXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMinorVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(fMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(dwMinorVersion) + ) + ); +} +pub type CERT_TEMPLATE_EXT = _CERT_TEMPLATE_EXT; +pub type PCERT_TEMPLATE_EXT = *mut _CERT_TEMPLATE_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_HASHED_URL { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Hash: CRYPT_HASH_BLOB, + pub pwszUrl: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_HASHED_URL() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_HASHED_URL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_HASHED_URL>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_HASHED_URL)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_HASHED_URL>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_HASHED_URL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszUrl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(pwszUrl) + ) + ); +} +pub type CERT_HASHED_URL = _CERT_HASHED_URL; +pub type PCERT_HASHED_URL = *mut _CERT_HASHED_URL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_DETAILS { + pub pwszMimeType: LPWSTR, + pub cHashedUrl: DWORD, + pub rgHashedUrl: PCERT_HASHED_URL, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_DETAILS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_DETAILS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_DETAILS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_DETAILS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_DETAILS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_DETAILS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszMimeType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(pwszMimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cHashedUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(cHashedUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgHashedUrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(rgHashedUrl) + ) + ); +} +pub type CERT_LOGOTYPE_DETAILS = _CERT_LOGOTYPE_DETAILS; +pub type PCERT_LOGOTYPE_DETAILS = *mut _CERT_LOGOTYPE_DETAILS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_REFERENCE { + pub cHashedUrl: DWORD, + pub rgHashedUrl: PCERT_HASHED_URL, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_REFERENCE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_REFERENCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_REFERENCE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_REFERENCE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_REFERENCE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_REFERENCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cHashedUrl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_REFERENCE), + "::", + stringify!(cHashedUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgHashedUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_REFERENCE), + "::", + stringify!(rgHashedUrl) + ) + ); +} +pub type CERT_LOGOTYPE_REFERENCE = _CERT_LOGOTYPE_REFERENCE; +pub type PCERT_LOGOTYPE_REFERENCE = *mut _CERT_LOGOTYPE_REFERENCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_LOGOTYPE_IMAGE_INFO { + pub dwLogotypeImageInfoChoice: DWORD, + pub dwFileSize: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwLogotypeImageResolutionChoice: DWORD, + pub __bindgen_anon_1: _CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1, + pub pwszLanguage: LPWSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1 { + pub dwNumBits: DWORD, + pub dwTableSize: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumBits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1), + "::", + stringify!(dwNumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTableSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1), + "::", + stringify!(dwTableSize) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLogotypeImageInfoChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwLogotypeImageInfoChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwLogotypeImageResolutionChoice) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwLogotypeImageResolutionChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLanguage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(pwszLanguage) + ) + ); +} +pub type CERT_LOGOTYPE_IMAGE_INFO = _CERT_LOGOTYPE_IMAGE_INFO; +pub type PCERT_LOGOTYPE_IMAGE_INFO = *mut _CERT_LOGOTYPE_IMAGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_IMAGE { + pub LogotypeDetails: CERT_LOGOTYPE_DETAILS, + pub pLogotypeImageInfo: PCERT_LOGOTYPE_IMAGE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_IMAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_IMAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeDetails) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE), + "::", + stringify!(LogotypeDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeImageInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE), + "::", + stringify!(pLogotypeImageInfo) + ) + ); +} +pub type CERT_LOGOTYPE_IMAGE = _CERT_LOGOTYPE_IMAGE; +pub type PCERT_LOGOTYPE_IMAGE = *mut _CERT_LOGOTYPE_IMAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_AUDIO_INFO { + pub dwFileSize: DWORD, + pub dwPlayTime: DWORD, + pub dwChannels: DWORD, + pub dwSampleRate: DWORD, + pub pwszLanguage: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_AUDIO_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_AUDIO_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_AUDIO_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_AUDIO_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlayTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwPlayTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChannels) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleRate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwSampleRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLanguage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(pwszLanguage) + ) + ); +} +pub type CERT_LOGOTYPE_AUDIO_INFO = _CERT_LOGOTYPE_AUDIO_INFO; +pub type PCERT_LOGOTYPE_AUDIO_INFO = *mut _CERT_LOGOTYPE_AUDIO_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_AUDIO { + pub LogotypeDetails: CERT_LOGOTYPE_DETAILS, + pub pLogotypeAudioInfo: PCERT_LOGOTYPE_AUDIO_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_AUDIO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_AUDIO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_AUDIO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_AUDIO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_AUDIO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_AUDIO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeDetails) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO), + "::", + stringify!(LogotypeDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeAudioInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO), + "::", + stringify!(pLogotypeAudioInfo) + ) + ); +} +pub type CERT_LOGOTYPE_AUDIO = _CERT_LOGOTYPE_AUDIO; +pub type PCERT_LOGOTYPE_AUDIO = *mut _CERT_LOGOTYPE_AUDIO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_DATA { + pub cLogotypeImage: DWORD, + pub rgLogotypeImage: PCERT_LOGOTYPE_IMAGE, + pub cLogotypeAudio: DWORD, + pub rgLogotypeAudio: PCERT_LOGOTYPE_AUDIO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLogotypeImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(cLogotypeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgLogotypeImage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(rgLogotypeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLogotypeAudio) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(cLogotypeAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgLogotypeAudio) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(rgLogotypeAudio) + ) + ); +} +pub type CERT_LOGOTYPE_DATA = _CERT_LOGOTYPE_DATA; +pub type PCERT_LOGOTYPE_DATA = *mut _CERT_LOGOTYPE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_LOGOTYPE_INFO { + pub dwLogotypeInfoChoice: DWORD, + pub __bindgen_anon_1: _CERT_LOGOTYPE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_LOGOTYPE_INFO__bindgen_ty_1 { + pub pLogotypeDirectInfo: PCERT_LOGOTYPE_DATA, + pub pLogotypeIndirectInfo: PCERT_LOGOTYPE_REFERENCE, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeDirectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), + "::", + stringify!(pLogotypeDirectInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeIndirectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), + "::", + stringify!(pLogotypeIndirectInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLogotypeInfoChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO), + "::", + stringify!(dwLogotypeInfoChoice) + ) + ); +} +pub type CERT_LOGOTYPE_INFO = _CERT_LOGOTYPE_INFO; +pub type PCERT_LOGOTYPE_INFO = *mut _CERT_LOGOTYPE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_OTHER_LOGOTYPE_INFO { + pub pszObjId: LPSTR, + pub LogotypeInfo: CERT_LOGOTYPE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_OTHER_LOGOTYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OTHER_LOGOTYPE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OTHER_LOGOTYPE_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_OTHER_LOGOTYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OTHER_LOGOTYPE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OTHER_LOGOTYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_LOGOTYPE_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_LOGOTYPE_INFO), + "::", + stringify!(LogotypeInfo) + ) + ); +} +pub type CERT_OTHER_LOGOTYPE_INFO = _CERT_OTHER_LOGOTYPE_INFO; +pub type PCERT_OTHER_LOGOTYPE_INFO = *mut _CERT_OTHER_LOGOTYPE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_EXT_INFO { + pub cCommunityLogo: DWORD, + pub rgCommunityLogo: PCERT_LOGOTYPE_INFO, + pub pIssuerLogo: PCERT_LOGOTYPE_INFO, + pub pSubjectLogo: PCERT_LOGOTYPE_INFO, + pub cOtherLogo: DWORD, + pub rgOtherLogo: PCERT_OTHER_LOGOTYPE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_EXT_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCommunityLogo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(cCommunityLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCommunityLogo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(rgCommunityLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerLogo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(pIssuerLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSubjectLogo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(pSubjectLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOtherLogo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(cOtherLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgOtherLogo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(rgOtherLogo) + ) + ); +} +pub type CERT_LOGOTYPE_EXT_INFO = _CERT_LOGOTYPE_EXT_INFO; +pub type PCERT_LOGOTYPE_EXT_INFO = *mut _CERT_LOGOTYPE_EXT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_BIOMETRIC_DATA { + pub dwTypeOfBiometricDataChoice: DWORD, + pub __bindgen_anon_1: _CERT_BIOMETRIC_DATA__bindgen_ty_1, + pub HashedUrl: CERT_HASHED_URL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_BIOMETRIC_DATA__bindgen_ty_1 { + pub dwPredefined: DWORD, + pub pszObjId: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPredefined) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), + "::", + stringify!(dwPredefined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), + "::", + stringify!(pszObjId) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_DATA>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BIOMETRIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeOfBiometricDataChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA), + "::", + stringify!(dwTypeOfBiometricDataChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedUrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA), + "::", + stringify!(HashedUrl) + ) + ); +} +pub type CERT_BIOMETRIC_DATA = _CERT_BIOMETRIC_DATA; +pub type PCERT_BIOMETRIC_DATA = *mut _CERT_BIOMETRIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BIOMETRIC_EXT_INFO { + pub cBiometricData: DWORD, + pub rgBiometricData: PCERT_BIOMETRIC_DATA, +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_EXT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BIOMETRIC_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBiometricData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_EXT_INFO), + "::", + stringify!(cBiometricData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgBiometricData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_EXT_INFO), + "::", + stringify!(rgBiometricData) + ) + ); +} +pub type CERT_BIOMETRIC_EXT_INFO = _CERT_BIOMETRIC_EXT_INFO; +pub type PCERT_BIOMETRIC_EXT_INFO = *mut _CERT_BIOMETRIC_EXT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_SIGNATURE_INFO { + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Signature: CRYPT_BIT_BLOB, + pub cCertEncoded: DWORD, + pub rgCertEncoded: PCERT_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_SIGNATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_SIGNATURE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_SIGNATURE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_OCSP_SIGNATURE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_SIGNATURE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_SIGNATURE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertEncoded) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(cCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertEncoded) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(rgCertEncoded) + ) + ); +} +pub type OCSP_SIGNATURE_INFO = _OCSP_SIGNATURE_INFO; +pub type POCSP_SIGNATURE_INFO = *mut _OCSP_SIGNATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_SIGNED_REQUEST_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub pOptionalSignatureInfo: POCSP_SIGNATURE_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_SIGNED_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_SIGNED_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_SIGNED_REQUEST_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_OCSP_SIGNED_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_SIGNED_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_SIGNED_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNED_REQUEST_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOptionalSignatureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNED_REQUEST_INFO), + "::", + stringify!(pOptionalSignatureInfo) + ) + ); +} +pub type OCSP_SIGNED_REQUEST_INFO = _OCSP_SIGNED_REQUEST_INFO; +pub type POCSP_SIGNED_REQUEST_INFO = *mut _OCSP_SIGNED_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_CERT_ID { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub IssuerNameHash: CRYPT_HASH_BLOB, + pub IssuerKeyHash: CRYPT_HASH_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_CERT_ID() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_CERT_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_CERT_ID>(), + 72usize, + concat!("Size of: ", stringify!(_OCSP_CERT_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_CERT_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_CERT_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerNameHash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(IssuerNameHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerKeyHash) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(IssuerKeyHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type OCSP_CERT_ID = _OCSP_CERT_ID; +pub type POCSP_CERT_ID = *mut _OCSP_CERT_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_REQUEST_ENTRY { + pub CertId: OCSP_CERT_ID, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__OCSP_REQUEST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_REQUEST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_REQUEST_ENTRY>(), + 88usize, + concat!("Size of: ", stringify!(_OCSP_REQUEST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_REQUEST_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_REQUEST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(CertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_REQUEST_ENTRY = _OCSP_REQUEST_ENTRY; +pub type POCSP_REQUEST_ENTRY = *mut _OCSP_REQUEST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_REQUEST_INFO { + pub dwVersion: DWORD, + pub pRequestorName: PCERT_ALT_NAME_ENTRY, + pub cRequestEntry: DWORD, + pub rgRequestEntry: POCSP_REQUEST_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__OCSP_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_REQUEST_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_REQUEST_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_OCSP_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRequestorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(pRequestorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRequestEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(cRequestEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRequestEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(rgRequestEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_REQUEST_INFO = _OCSP_REQUEST_INFO; +pub type POCSP_REQUEST_INFO = *mut _OCSP_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_RESPONSE_INFO { + pub dwStatus: DWORD, + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_RESPONSE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_RESPONSE_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_OCSP_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(Value) + ) + ); +} +pub type OCSP_RESPONSE_INFO = _OCSP_RESPONSE_INFO; +pub type POCSP_RESPONSE_INFO = *mut _OCSP_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_BASIC_SIGNED_RESPONSE_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub SignatureInfo: OCSP_SIGNATURE_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_SIGNED_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_SIGNED_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO), + "::", + stringify!(SignatureInfo) + ) + ); +} +pub type OCSP_BASIC_SIGNED_RESPONSE_INFO = _OCSP_BASIC_SIGNED_RESPONSE_INFO; +pub type POCSP_BASIC_SIGNED_RESPONSE_INFO = *mut _OCSP_BASIC_SIGNED_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_BASIC_REVOKED_INFO { + pub RevocationDate: FILETIME, + pub dwCrlReasonCode: DWORD, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_REVOKED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_REVOKED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_REVOKED_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_REVOKED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_REVOKED_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_REVOKED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevocationDate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_REVOKED_INFO), + "::", + stringify!(RevocationDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCrlReasonCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_REVOKED_INFO), + "::", + stringify!(dwCrlReasonCode) + ) + ); +} +pub type OCSP_BASIC_REVOKED_INFO = _OCSP_BASIC_REVOKED_INFO; +pub type POCSP_BASIC_REVOKED_INFO = *mut _OCSP_BASIC_REVOKED_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OCSP_BASIC_RESPONSE_ENTRY { + pub CertId: OCSP_CERT_ID, + pub dwCertStatus: DWORD, + pub __bindgen_anon_1: _OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1 { + pub pRevokedInfo: POCSP_BASIC_REVOKED_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRevokedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1), + "::", + stringify!(pRevokedInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_ENTRY>(), + 120usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(CertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(dwCertStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_BASIC_RESPONSE_ENTRY = _OCSP_BASIC_RESPONSE_ENTRY; +pub type POCSP_BASIC_RESPONSE_ENTRY = *mut _OCSP_BASIC_RESPONSE_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OCSP_BASIC_RESPONSE_INFO { + pub dwVersion: DWORD, + pub dwResponderIdChoice: DWORD, + pub __bindgen_anon_1: _OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1, + pub ProducedAt: FILETIME, + pub cResponseEntry: DWORD, + pub rgResponseEntry: POCSP_BASIC_RESPONSE_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1 { + pub ByNameResponderId: CERT_NAME_BLOB, + pub ByKeyResponderId: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByNameResponderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1), + "::", + stringify!(ByNameResponderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByKeyResponderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1), + "::", + stringify!(ByKeyResponderId) + ) + ); +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResponderIdChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(dwResponderIdChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProducedAt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(ProducedAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cResponseEntry) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(cResponseEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgResponseEntry) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(rgResponseEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_BASIC_RESPONSE_INFO = _OCSP_BASIC_RESPONSE_INFO; +pub type POCSP_BASIC_RESPONSE_INFO = *mut _OCSP_BASIC_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SUPPORTED_ALGORITHM_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub IntendedKeyUsage: CRYPT_BIT_BLOB, + pub IntendedCertPolicies: CERT_POLICIES_INFO, +} +#[test] +fn bindgen_test_layout__CERT_SUPPORTED_ALGORITHM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SUPPORTED_ALGORITHM_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SUPPORTED_ALGORITHM_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SUPPORTED_ALGORITHM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedKeyUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(IntendedKeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedCertPolicies) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(IntendedCertPolicies) + ) + ); +} +pub type CERT_SUPPORTED_ALGORITHM_INFO = _CERT_SUPPORTED_ALGORITHM_INFO; +pub type PCERT_SUPPORTED_ALGORITHM_INFO = *mut _CERT_SUPPORTED_ALGORITHM_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TPM_SPECIFICATION_INFO { + pub pwszFamily: LPWSTR, + pub dwLevel: DWORD, + pub dwRevision: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TPM_SPECIFICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TPM_SPECIFICATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TPM_SPECIFICATION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_TPM_SPECIFICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TPM_SPECIFICATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TPM_SPECIFICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszFamily) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(pwszFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevision) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(dwRevision) + ) + ); +} +pub type CERT_TPM_SPECIFICATION_INFO = _CERT_TPM_SPECIFICATION_INFO; +pub type PCERT_TPM_SPECIFICATION_INFO = *mut _CERT_TPM_SPECIFICATION_INFO; +pub type HCRYPTOIDFUNCSET = *mut ::std::os::raw::c_void; +pub type HCRYPTOIDFUNCADDR = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OID_FUNC_ENTRY { + pub pszOID: LPCSTR, + pub pvFuncAddr: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_OID_FUNC_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_FUNC_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_FUNC_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_OID_FUNC_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_FUNC_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_FUNC_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_FUNC_ENTRY), + "::", + stringify!(pszOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFuncAddr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_FUNC_ENTRY), + "::", + stringify!(pvFuncAddr) + ) + ); +} +pub type CRYPT_OID_FUNC_ENTRY = _CRYPT_OID_FUNC_ENTRY; +pub type PCRYPT_OID_FUNC_ENTRY = *mut _CRYPT_OID_FUNC_ENTRY; +extern "C" { + pub fn CryptInstallOIDFunctionAddress( + hModule: HMODULE, + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + cFuncEntry: DWORD, + rgFuncEntry: *const CRYPT_OID_FUNC_ENTRY, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptInitOIDFunctionSet(pszFuncName: LPCSTR, dwFlags: DWORD) -> HCRYPTOIDFUNCSET; +} +extern "C" { + pub fn CryptGetOIDFunctionAddress( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pszOID: LPCSTR, + dwFlags: DWORD, + ppvFuncAddr: *mut *mut ::std::os::raw::c_void, + phFuncAddr: *mut HCRYPTOIDFUNCADDR, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultOIDDllList( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pwszDllList: *mut WCHAR, + pcchDllList: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultOIDFunctionAddress( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pwszDll: LPCWSTR, + dwFlags: DWORD, + ppvFuncAddr: *mut *mut ::std::os::raw::c_void, + phFuncAddr: *mut HCRYPTOIDFUNCADDR, + ) -> BOOL; +} +extern "C" { + pub fn CryptFreeOIDFunctionAddress(hFuncAddr: HCRYPTOIDFUNCADDR, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptRegisterOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszDll: LPCWSTR, + pszOverrideFuncName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptRegisterDefaultOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + dwIndex: DWORD, + pwszDll: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterDefaultOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pwszDll: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetOIDFunctionValue( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszValueName: LPCWSTR, + dwValueType: DWORD, + pbValueData: *const BYTE, + cbValueData: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetOIDFunctionValue( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszValueName: LPCWSTR, + pdwValueType: *mut DWORD, + pbValueData: *mut BYTE, + pcbValueData: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_ENUM_OID_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + cValue: DWORD, + rgdwValueType: *const DWORD, + rgpwszValueName: *const LPCWSTR, + rgpbValueData: *const *const BYTE, + rgcbValueData: *const DWORD, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CryptEnumOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnumOIDFunc: PFN_CRYPT_ENUM_OID_FUNC, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRYPT_OID_INFO { + pub cbSize: DWORD, + pub pszOID: LPCSTR, + pub pwszName: LPCWSTR, + pub dwGroupId: DWORD, + pub __bindgen_anon_1: _CRYPT_OID_INFO__bindgen_ty_1, + pub ExtraInfo: CRYPT_DATA_BLOB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRYPT_OID_INFO__bindgen_ty_1 { + pub dwValue: DWORD, + pub Algid: ALG_ID, + pub dwLength: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_OID_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(dwValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(dwLength) + ) + ); +} +#[test] +fn bindgen_test_layout__CRYPT_OID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_OID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(pszOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwGroupId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(dwGroupId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(ExtraInfo) + ) + ); +} +pub type CRYPT_OID_INFO = _CRYPT_OID_INFO; +pub type PCRYPT_OID_INFO = *mut _CRYPT_OID_INFO; +pub type CCRYPT_OID_INFO = CRYPT_OID_INFO; +pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO; +extern "C" { + pub fn CryptFindOIDInfo( + dwKeyType: DWORD, + pvKey: *mut ::std::os::raw::c_void, + dwGroupId: DWORD, + ) -> PCCRYPT_OID_INFO; +} +extern "C" { + pub fn CryptRegisterOIDInfo(pInfo: PCCRYPT_OID_INFO, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterOIDInfo(pInfo: PCCRYPT_OID_INFO) -> BOOL; +} +pub type PFN_CRYPT_ENUM_OID_INFO = ::std::option::Option< + unsafe extern "C" fn(pInfo: PCCRYPT_OID_INFO, pvArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +extern "C" { + pub fn CryptEnumOIDInfo( + dwGroupId: DWORD, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnumOIDInfo: PFN_CRYPT_ENUM_OID_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptFindLocalizedName(pwszCryptName: LPCWSTR) -> LPCWSTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STRONG_SIGN_SERIALIZED_INFO { + pub dwFlags: DWORD, + pub pwszCNGSignHashAlgids: LPWSTR, + pub pwszCNGPubKeyMinBitLengths: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_SERIALIZED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_SERIALIZED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_SERIALIZED_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_SERIALIZED_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCNGSignHashAlgids) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(pwszCNGSignHashAlgids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCNGPubKeyMinBitLengths) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(pwszCNGPubKeyMinBitLengths) + ) + ); +} +pub type CERT_STRONG_SIGN_SERIALIZED_INFO = _CERT_STRONG_SIGN_SERIALIZED_INFO; +pub type PCERT_STRONG_SIGN_SERIALIZED_INFO = *mut _CERT_STRONG_SIGN_SERIALIZED_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_STRONG_SIGN_PARA { + pub cbSize: DWORD, + pub dwInfoChoice: DWORD, + pub __bindgen_anon_1: _CERT_STRONG_SIGN_PARA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_STRONG_SIGN_PARA__bindgen_ty_1 { + pub pvInfo: *mut ::std::os::raw::c_void, + pub pSerializedInfo: PCERT_STRONG_SIGN_SERIALIZED_INFO, + pub pszOID: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pvInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSerializedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pSerializedInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pszOID) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_STRONG_SIGN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STRONG_SIGN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA), + "::", + stringify!(dwInfoChoice) + ) + ); +} +pub type CERT_STRONG_SIGN_PARA = _CERT_STRONG_SIGN_PARA; +pub type PCERT_STRONG_SIGN_PARA = *mut _CERT_STRONG_SIGN_PARA; +pub type PCCERT_STRONG_SIGN_PARA = *const CERT_STRONG_SIGN_PARA; +pub type HCRYPTMSG = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ISSUER_SERIAL_NUMBER { + pub Issuer: CERT_NAME_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ISSUER_SERIAL_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ISSUER_SERIAL_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ISSUER_SERIAL_NUMBER>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ISSUER_SERIAL_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ISSUER_SERIAL_NUMBER>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ISSUER_SERIAL_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ISSUER_SERIAL_NUMBER), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ISSUER_SERIAL_NUMBER), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type CERT_ISSUER_SERIAL_NUMBER = _CERT_ISSUER_SERIAL_NUMBER; +pub type PCERT_ISSUER_SERIAL_NUMBER = *mut _CERT_ISSUER_SERIAL_NUMBER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ID { + pub dwIdChoice: DWORD, + pub __bindgen_anon_1: _CERT_ID__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_ID__bindgen_ty_1 { + pub IssuerSerialNumber: CERT_ISSUER_SERIAL_NUMBER, + pub KeyId: CRYPT_HASH_BLOB, + pub HashId: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ID__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ID__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ID__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ID__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ID__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ID__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(IssuerSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(HashId) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ID>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIdChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID), + "::", + stringify!(dwIdChoice) + ) + ); +} +pub type CERT_ID = _CERT_ID; +pub type PCERT_ID = *mut _CERT_ID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_SIGNER_ENCODE_INFO { + pub cbSize: DWORD, + pub pCertInfo: PCERT_INFO, + pub __bindgen_anon_1: _CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub cAuthAttr: DWORD, + pub rgAuthAttr: PCRYPT_ATTRIBUTE, + pub cUnauthAttr: DWORD, + pub rgUnauthAttr: PCRYPT_ATTRIBUTE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_ENCODE_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_CMSG_SIGNER_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNER_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(pCertInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthAttr) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAuthAttr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(rgAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnauthAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgUnauthAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(rgUnauthAttr) + ) + ); +} +pub type CMSG_SIGNER_ENCODE_INFO = _CMSG_SIGNER_ENCODE_INFO; +pub type PCMSG_SIGNER_ENCODE_INFO = *mut _CMSG_SIGNER_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNED_ENCODE_INFO { + pub cbSize: DWORD, + pub cSigners: DWORD, + pub rgSigners: PCMSG_SIGNER_ENCODE_INFO, + pub cCertEncoded: DWORD, + pub rgCertEncoded: PCERT_BLOB, + pub cCrlEncoded: DWORD, + pub rgCrlEncoded: PCRL_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNED_ENCODE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMSG_SIGNED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSigners) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cSigners) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgSigners) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgSigners) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertEncoded) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCrlEncoded) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCrlEncoded) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgCrlEncoded) + ) + ); +} +pub type CMSG_SIGNED_ENCODE_INFO = _CMSG_SIGNED_ENCODE_INFO; +pub type PCMSG_SIGNED_ENCODE_INFO = *mut _CMSG_SIGNED_ENCODE_INFO; +pub type CMSG_RECIPIENT_ENCODE_INFO = _CMSG_RECIPIENT_ENCODE_INFO; +pub type PCMSG_RECIPIENT_ENCODE_INFO = *mut _CMSG_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_ENVELOPED_ENCODE_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub cRecipients: DWORD, + pub rgpRecipients: *mut PCERT_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_ENVELOPED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_ENVELOPED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_ENVELOPED_ENCODE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_ENVELOPED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipients) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipients) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(rgpRecipients) + ) + ); +} +pub type CMSG_ENVELOPED_ENCODE_INFO = _CMSG_ENVELOPED_ENCODE_INFO; +pub type PCMSG_ENVELOPED_ENCODE_INFO = *mut _CMSG_ENVELOPED_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub RecipientPublicKey: CRYPT_BIT_BLOB, + pub RecipientId: CERT_ID, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>(), + 112usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientPublicKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(RecipientPublicKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(RecipientId) + ) + ); +} +pub type CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; +pub type PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = *mut _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO { + pub cbSize: DWORD, + pub RecipientPublicKey: CRYPT_BIT_BLOB, + pub RecipientId: CERT_ID, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>(), + 88usize, + concat!( + "Size of: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientPublicKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(RecipientPublicKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; +pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = *mut _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub KeyWrapAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyWrapAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub dwKeySpec: DWORD, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub cRecipientEncryptedKeys: DWORD, + pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub pEphemeralAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pub pSenderId: PCERT_ID, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEphemeralAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pEphemeralAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSenderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pSenderId) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>(), + 128usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyWrapAlgorithm) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyWrapAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyWrapAuxInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyWrapAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeyChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipientEncryptedKeys) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cRecipientEncryptedKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipientEncryptedKeys) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(rgpRecipientEncryptedKeys) + ) + ); +} +pub type CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; +pub type PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = *mut _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1, + pub KeyId: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub hKeyEncryptionKey: HCRYPTKEY, + pub pvKeyEncryptionKey: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hKeyEncryptionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pvKeyEncryptionKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>(), + 96usize, + concat!( + "Size of: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeyChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; +pub type PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = *mut _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCODE_INFO { + pub dwRecipientChoice: DWORD, + pub __bindgen_anon_1: _CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pMailList) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCODE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwRecipientChoice) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_RC2_AUX_INFO { + pub cbSize: DWORD, + pub dwBitLen: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_RC2_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RC2_AUX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RC2_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_RC2_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RC2_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_RC2_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC2_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC2_AUX_INFO), + "::", + stringify!(dwBitLen) + ) + ); +} +pub type CMSG_RC2_AUX_INFO = _CMSG_RC2_AUX_INFO; +pub type PCMSG_RC2_AUX_INFO = *mut _CMSG_RC2_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SP3_COMPATIBLE_AUX_INFO { + pub cbSize: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_SP3_COMPATIBLE_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SP3_COMPATIBLE_AUX_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SP3_COMPATIBLE_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SP3_COMPATIBLE_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_SP3_COMPATIBLE_AUX_INFO = _CMSG_SP3_COMPATIBLE_AUX_INFO; +pub type PCMSG_SP3_COMPATIBLE_AUX_INFO = *mut _CMSG_SP3_COMPATIBLE_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_RC4_AUX_INFO { + pub cbSize: DWORD, + pub dwBitLen: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_RC4_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RC4_AUX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RC4_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_RC4_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RC4_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_RC4_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC4_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC4_AUX_INFO), + "::", + stringify!(dwBitLen) + ) + ); +} +pub type CMSG_RC4_AUX_INFO = _CMSG_RC4_AUX_INFO; +pub type PCMSG_RC4_AUX_INFO = *mut _CMSG_RC4_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO { + pub cbSize: DWORD, + pub SignedInfo: CMSG_SIGNED_ENCODE_INFO, + pub EnvelopedInfo: CMSG_ENVELOPED_ENCODE_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>(), + 120usize, + concat!( + "Size of: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignedInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(SignedInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnvelopedInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(EnvelopedInfo) + ) + ); +} +pub type CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; +pub type PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = *mut _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_HASHED_ENCODE_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_HASHED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_HASHED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_HASHED_ENCODE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMSG_HASHED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_HASHED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_HASHED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(pvHashAuxInfo) + ) + ); +} +pub type CMSG_HASHED_ENCODE_INFO = _CMSG_HASHED_ENCODE_INFO; +pub type PCMSG_HASHED_ENCODE_INFO = *mut _CMSG_HASHED_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_ENCRYPTED_ENCODE_INFO { + pub cbSize: DWORD, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_ENCRYPTED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_ENCRYPTED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_ENCRYPTED_ENCODE_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_ENCRYPTED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); +} +pub type CMSG_ENCRYPTED_ENCODE_INFO = _CMSG_ENCRYPTED_ENCODE_INFO; +pub type PCMSG_ENCRYPTED_ENCODE_INFO = *mut _CMSG_ENCRYPTED_ENCODE_INFO; +pub type PFN_CMSG_STREAM_OUTPUT = ::std::option::Option< + unsafe extern "C" fn( + pvArg: *const ::std::os::raw::c_void, + pbData: *mut BYTE, + cbData: DWORD, + fFinal: BOOL, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_STREAM_INFO { + pub cbContent: DWORD, + pub pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT, + pub pvArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_STREAM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_STREAM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_STREAM_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_STREAM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_STREAM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_STREAM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(cbContent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnStreamOutput) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(pfnStreamOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvArg) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(pvArg) + ) + ); +} +pub type CMSG_STREAM_INFO = _CMSG_STREAM_INFO; +pub type PCMSG_STREAM_INFO = *mut _CMSG_STREAM_INFO; +extern "C" { + pub fn CryptMsgOpenToEncode( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + pvMsgEncodeInfo: *const ::std::os::raw::c_void, + pszInnerContentObjID: LPSTR, + pStreamInfo: PCMSG_STREAM_INFO, + ) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgCalculateEncodedLength( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + pvMsgEncodeInfo: *const ::std::os::raw::c_void, + pszInnerContentObjID: LPSTR, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CryptMsgOpenToDecode( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + pRecipientInfo: PCERT_INFO, + pStreamInfo: PCMSG_STREAM_INFO, + ) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgDuplicate(hCryptMsg: HCRYPTMSG) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgClose(hCryptMsg: HCRYPTMSG) -> BOOL; +} +extern "C" { + pub fn CryptMsgUpdate( + hCryptMsg: HCRYPTMSG, + pbData: *const BYTE, + cbData: DWORD, + fFinal: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgGetParam( + hCryptMsg: HCRYPTMSG, + dwParamType: DWORD, + dwIndex: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNER_INFO { + pub dwVersion: DWORD, + pub Issuer: CERT_NAME_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedHash: CRYPT_DATA_BLOB, + pub AuthAttrs: CRYPT_ATTRIBUTES, + pub UnauthAttrs: CRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_INFO>(), + 136usize, + concat!("Size of: ", stringify!(_CMSG_SIGNER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashEncryptionAlgorithm) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(HashEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedHash) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(EncryptedHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthAttrs) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(AuthAttrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnauthAttrs) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(UnauthAttrs) + ) + ); +} +pub type CMSG_SIGNER_INFO = _CMSG_SIGNER_INFO; +pub type PCMSG_SIGNER_INFO = *mut _CMSG_SIGNER_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CMS_SIGNER_INFO { + pub dwVersion: DWORD, + pub SignerId: CERT_ID, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedHash: CRYPT_DATA_BLOB, + pub AuthAttrs: CRYPT_ATTRIBUTES, + pub UnauthAttrs: CRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CMSG_CMS_SIGNER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_SIGNER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_SIGNER_INFO>(), + 144usize, + concat!("Size of: ", stringify!(_CMSG_CMS_SIGNER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_SIGNER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CMS_SIGNER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignerId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(SignerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashEncryptionAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(HashEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedHash) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(EncryptedHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthAttrs) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(AuthAttrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnauthAttrs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(UnauthAttrs) + ) + ); +} +pub type CMSG_CMS_SIGNER_INFO = _CMSG_CMS_SIGNER_INFO; +pub type PCMSG_CMS_SIGNER_INFO = *mut _CMSG_CMS_SIGNER_INFO; +pub type CMSG_ATTR = CRYPT_ATTRIBUTES; +pub type PCMSG_ATTR = *mut CRYPT_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_TRANS_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub RecipientId: CERT_ID, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_RECIPIENT_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); +} +pub type CMSG_KEY_TRANS_RECIPIENT_INFO = _CMSG_KEY_TRANS_RECIPIENT_INFO; +pub type PCMSG_KEY_TRANS_RECIPIENT_INFO = *mut _CMSG_KEY_TRANS_RECIPIENT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO { + pub RecipientId: CERT_ID, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCRYPTED_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_RECIPIENT_ENCRYPTED_KEY_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; +pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO = *mut _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub dwOriginatorChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub cRecipientEncryptedKeys: DWORD, + pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1 { + pub OriginatorCertId: CERT_ID, + pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorCertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorCertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKeyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorPublicKeyInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO>(), + 112usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOriginatorChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(dwOriginatorChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipientEncryptedKeys) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(cRecipientEncryptedKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipientEncryptedKeys) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(rgpRecipientEncryptedKeys) + ) + ); +} +pub type CMSG_KEY_AGREE_RECIPIENT_INFO = _CMSG_KEY_AGREE_RECIPIENT_INFO; +pub type PCMSG_KEY_AGREE_RECIPIENT_INFO = *mut _CMSG_KEY_AGREE_RECIPIENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_MAIL_LIST_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub KeyId: CRYPT_DATA_BLOB, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_MAIL_LIST_RECIPIENT_INFO = _CMSG_MAIL_LIST_RECIPIENT_INFO; +pub type PCMSG_MAIL_LIST_RECIPIENT_INFO = *mut _CMSG_MAIL_LIST_RECIPIENT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CMS_RECIPIENT_INFO { + pub dwRecipientChoice: DWORD, + pub __bindgen_anon_1: _CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1 { + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pMailList) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CMS_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_RECIPIENT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CMSG_CMS_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CMS_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO), + "::", + stringify!(dwRecipientChoice) + ) + ); +} +pub type CMSG_CMS_RECIPIENT_INFO = _CMSG_CMS_RECIPIENT_INFO; +pub type PCMSG_CMS_RECIPIENT_INFO = *mut _CMSG_CMS_RECIPIENT_INFO; +extern "C" { + pub fn CryptMsgControl( + hCryptMsg: HCRYPTMSG, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub dwSignerIndex: DWORD, + pub dwSignerType: DWORD, + pub pvSigner: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(dwSignerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSigner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(pvSigner) + ) + ); +} +pub type CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; +pub type PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = *mut _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub dwRecipientIndex: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DECRYPT_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DECRYPT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CTRL_DECRYPT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); +} +pub type CMSG_CTRL_DECRYPT_PARA = _CMSG_CTRL_DECRYPT_PARA; +pub type PCMSG_CTRL_DECRYPT_PARA = *mut _CMSG_CTRL_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); +} +pub type CMSG_CTRL_KEY_TRANS_DECRYPT_PARA = _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; +pub type PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA = *mut _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, + pub dwRecipientEncryptedKeyIndex: DWORD, + pub OriginatorPublicKey: CRYPT_BIT_BLOB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>(), + 64usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwRecipientEncryptedKeyIndex) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwRecipientEncryptedKeyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKey) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(OriginatorPublicKey) + ) + ); +} +pub type CMSG_CTRL_KEY_AGREE_DECRYPT_PARA = _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; +pub type PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA = *mut _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1 { + pub hKeyEncryptionKey: HCRYPTKEY, + pub pvKeyEncryptionKey: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hKeyEncryptionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(pvKeyEncryptionKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(pMailList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(dwKeyChoice) + ) + ); +} +pub type CMSG_CTRL_MAIL_LIST_DECRYPT_PARA = _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; +pub type PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA = *mut _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA { + pub cbSize: DWORD, + pub dwSignerIndex: DWORD, + pub blob: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(blob) + ) + ); +} +pub type CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; +pub type PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = *mut _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA { + pub cbSize: DWORD, + pub dwSignerIndex: DWORD, + pub dwUnauthAttrIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>(), + 12usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUnauthAttrIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwUnauthAttrIndex) + ) + ); +} +pub type CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; +pub type PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = *mut _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; +extern "C" { + pub fn CryptMsgVerifyCountersignatureEncoded( + hCryptProv: HCRYPTPROV_LEGACY, + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + pbSignerInfoCountersignature: PBYTE, + cbSignerInfoCountersignature: DWORD, + pciCountersigner: PCERT_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgVerifyCountersignatureEncodedEx( + hCryptProv: HCRYPTPROV_LEGACY, + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + pbSignerInfoCountersignature: PBYTE, + cbSignerInfoCountersignature: DWORD, + dwSignerType: DWORD, + pvSigner: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + pvExtra: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgCountersign( + hCryptMsg: HCRYPTMSG, + dwIndex: DWORD, + cCountersigners: DWORD, + rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgCountersignEncoded( + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + cCountersigners: DWORD, + rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, + pbCountersignature: PBYTE, + pcbCountersignature: PDWORD, + ) -> BOOL; +} +pub type PFN_CMSG_ALLOC = + ::std::option::Option *mut ::std::os::raw::c_void>; +pub type PFN_CMSG_FREE = + ::std::option::Option; +pub type PFN_CMSG_GEN_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + phCryptProv: *mut HCRYPTPROV, + paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, + pvEncryptAuxInfo: PVOID, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pfnAlloc: PFN_CMSG_ALLOC, + phEncryptKey: *mut HCRYPTKEY, + ppbEncryptParameters: *mut PBYTE, + pcbEncryptParameters: PDWORD, + ) -> BOOL, +>; +pub type PFN_CMSG_EXPORT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + hEncryptKey: HCRYPTKEY, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pbData: PBYTE, + pcbData: PDWORD, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, + paiPubKey: PCRYPT_ALGORITHM_IDENTIFIER, + pbEncodedKey: PBYTE, + cbEncodedKey: DWORD, + phEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CONTENT_ENCRYPT_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub cRecipients: DWORD, + pub rgCmsRecipients: PCMSG_RECIPIENT_ENCODE_INFO, + pub pfnAlloc: PFN_CMSG_ALLOC, + pub pfnFree: PFN_CMSG_FREE, + pub dwEncryptFlags: DWORD, + pub __bindgen_anon_1: _CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1, + pub dwFlags: DWORD, + pub fCNG: BOOL, + pub pbCNGContentEncryptKeyObject: *mut BYTE, + pub pbContentEncryptKey: *mut BYTE, + pub cbContentEncryptKey: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1 { + pub hContentEncryptKey: HCRYPTKEY, + pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hContentEncryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(hContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCNGContentEncryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(hCNGContentEncryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CONTENT_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CONTENT_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CONTENT_ENCRYPT_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CONTENT_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipients) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCmsRecipients) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(rgCmsRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEncryptFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(dwEncryptFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCNG) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(fCNG) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pbCNGContentEncryptKeyObject) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pbCNGContentEncryptKeyObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbContentEncryptKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContentEncryptKey) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cbContentEncryptKey) + ) + ); +} +pub type CMSG_CONTENT_ENCRYPT_INFO = _CMSG_CONTENT_ENCRYPT_INFO; +pub type PCMSG_CONTENT_ENCRYPT_INFO = *mut _CMSG_CONTENT_ENCRYPT_INFO; +pub type PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_KEY_TRANS_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_ENCRYPT_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_KEY_TRANS_ENCRYPT_INFO = _CMSG_KEY_TRANS_ENCRYPT_INFO; +pub type PCMSG_KEY_TRANS_ENCRYPT_INFO = *mut _CMSG_KEY_TRANS_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pKeyTransEncodeInfo: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, + pKeyTransEncryptInfo: PCMSG_KEY_TRANS_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO { + pub cbSize: DWORD, + pub EncryptedKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_KEY_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); +} +pub type CMSG_KEY_AGREE_KEY_ENCRYPT_INFO = _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; +pub type PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO = *mut _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub dwOriginatorChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1, + pub cKeyAgreeKeyEncryptInfo: DWORD, + pub rgpKeyAgreeKeyEncryptInfo: *mut PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, + pub dwFlags: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1 { + pub OriginatorCertId: CERT_ID, + pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorCertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorCertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKeyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorPublicKeyInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOriginatorChoice) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwOriginatorChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cKeyAgreeKeyEncryptInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(cKeyAgreeKeyEncryptInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpKeyAgreeKeyEncryptInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(rgpKeyAgreeKeyEncryptInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_KEY_AGREE_ENCRYPT_INFO = _CMSG_KEY_AGREE_ENCRYPT_INFO; +pub type PCMSG_KEY_AGREE_ENCRYPT_INFO = *mut _CMSG_KEY_AGREE_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pKeyAgreeEncodeInfo: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, + pKeyAgreeEncryptInfo: PCMSG_KEY_AGREE_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_MAIL_LIST_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_ENCRYPT_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_MAIL_LIST_ENCRYPT_INFO = _CMSG_MAIL_LIST_ENCRYPT_INFO; +pub type PCMSG_MAIL_LIST_ENCRYPT_INFO = *mut _CMSG_MAIL_LIST_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_MAIL_LIST = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pMailListEncodeInfo: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, + pMailListEncryptInfo: PCMSG_MAIL_LIST_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_MAIL_LIST = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pMailListDecryptPara: PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CNG_CONTENT_DECRYPT_INFO { + pub cbSize: DWORD, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pfnAlloc: PFN_CMSG_ALLOC, + pub pfnFree: PFN_CMSG_FREE, + pub hNCryptKey: NCRYPT_KEY_HANDLE, + pub pbContentEncryptKey: *mut BYTE, + pub cbContentEncryptKey: DWORD, + pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE, + pub pbCNGContentEncryptKeyObject: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CMSG_CNG_CONTENT_DECRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CNG_CONTENT_DECRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CNG_CONTENT_DECRYPT_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CNG_CONTENT_DECRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(hNCryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbContentEncryptKey) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContentEncryptKey) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(cbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCNGContentEncryptKey) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(hCNGContentEncryptKey) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pbCNGContentEncryptKeyObject) as usize - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pbCNGContentEncryptKeyObject) + ) + ); +} +pub type CMSG_CNG_CONTENT_DECRYPT_INFO = _CMSG_CNG_CONTENT_DECRYPT_INFO; +pub type PCMSG_CNG_CONTENT_DECRYPT_INFO = *mut _CMSG_CNG_CONTENT_DECRYPT_INFO; +pub type PFN_CMSG_CNG_IMPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_CNG_IMPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type HCERTSTORE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CONTEXT { + pub dwCertEncodingType: DWORD, + pub pbCertEncoded: *mut BYTE, + pub cbCertEncoded: DWORD, + pub pCertInfo: PCERT_INFO, + pub hCertStore: HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CERT_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CONTEXT>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCertEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(pbCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCertEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(cbCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(pCertInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); +} +pub type CERT_CONTEXT = _CERT_CONTEXT; +pub type PCERT_CONTEXT = *mut _CERT_CONTEXT; +pub type PCCERT_CONTEXT = *const CERT_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_CONTEXT { + pub dwCertEncodingType: DWORD, + pub pbCrlEncoded: *mut BYTE, + pub cbCrlEncoded: DWORD, + pub pCrlInfo: PCRL_INFO, + pub hCertStore: HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CRL_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_CONTEXT>(), + 40usize, + concat!("Size of: ", stringify!(_CRL_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCrlEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(pbCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCrlEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(cbCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(pCrlInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); +} +pub type CRL_CONTEXT = _CRL_CONTEXT; +pub type PCRL_CONTEXT = *mut _CRL_CONTEXT; +pub type PCCRL_CONTEXT = *const CRL_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_CONTEXT { + pub dwMsgAndCertEncodingType: DWORD, + pub pbCtlEncoded: *mut BYTE, + pub cbCtlEncoded: DWORD, + pub pCtlInfo: PCTL_INFO, + pub hCertStore: HCERTSTORE, + pub hCryptMsg: HCRYPTMSG, + pub pbCtlContent: *mut BYTE, + pub cbCtlContent: DWORD, +} +#[test] +fn bindgen_test_layout__CTL_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_CONTEXT>(), + 64usize, + concat!("Size of: ", stringify!(_CTL_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCtlEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pbCtlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCtlEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(cbCtlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pCtlInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptMsg) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(hCryptMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCtlContent) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pbCtlContent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCtlContent) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(cbCtlContent) + ) + ); +} +pub type CTL_CONTEXT = _CTL_CONTEXT; +pub type PCTL_CONTEXT = *mut _CTL_CONTEXT; +pub type PCCTL_CONTEXT = *const CTL_CONTEXT; +pub const CertKeyType_KeyTypeOther: CertKeyType = 0; +pub const CertKeyType_KeyTypeVirtualSmartCard: CertKeyType = 1; +pub const CertKeyType_KeyTypePhysicalSmartCard: CertKeyType = 2; +pub const CertKeyType_KeyTypePassport: CertKeyType = 3; +pub const CertKeyType_KeyTypePassportRemote: CertKeyType = 4; +pub const CertKeyType_KeyTypePassportSmartCard: CertKeyType = 5; +pub const CertKeyType_KeyTypeHardware: CertKeyType = 6; +pub const CertKeyType_KeyTypeSoftware: CertKeyType = 7; +pub const CertKeyType_KeyTypeSelfSigned: CertKeyType = 8; +pub type CertKeyType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_PROV_PARAM { + pub dwParam: DWORD, + pub pbData: *mut BYTE, + pub cbData: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_PROV_PARAM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_PROV_PARAM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_PROV_PARAM>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_PROV_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_PROV_PARAM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_PROV_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(dwParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(pbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CRYPT_KEY_PROV_PARAM = _CRYPT_KEY_PROV_PARAM; +pub type PCRYPT_KEY_PROV_PARAM = *mut _CRYPT_KEY_PROV_PARAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_PROV_INFO { + pub pwszContainerName: LPWSTR, + pub pwszProvName: LPWSTR, + pub dwProvType: DWORD, + pub dwFlags: DWORD, + pub cProvParam: DWORD, + pub rgProvParam: PCRYPT_KEY_PROV_PARAM, + pub dwKeySpec: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_PROV_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_PROV_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_PROV_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_PROV_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_PROV_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_PROV_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszContainerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(pwszContainerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszProvName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(pwszProvName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwProvType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProvParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(cProvParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgProvParam) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(rgProvParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwKeySpec) + ) + ); +} +pub type CRYPT_KEY_PROV_INFO = _CRYPT_KEY_PROV_INFO; +pub type PCRYPT_KEY_PROV_INFO = *mut _CRYPT_KEY_PROV_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_KEY_CONTEXT { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CERT_KEY_CONTEXT__bindgen_ty_1, + pub dwKeySpec: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_KEY_CONTEXT__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CERT_KEY_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_KEY_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_KEY_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT), + "::", + stringify!(dwKeySpec) + ) + ); +} +pub type CERT_KEY_CONTEXT = _CERT_KEY_CONTEXT; +pub type PCERT_KEY_CONTEXT = *mut _CERT_KEY_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ROOT_INFO_LUID { + pub LowPart: DWORD, + pub HighPart: LONG, +} +#[test] +fn bindgen_test_layout__ROOT_INFO_LUID() { + const UNINIT: ::std::mem::MaybeUninit<_ROOT_INFO_LUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ROOT_INFO_LUID>(), + 8usize, + concat!("Size of: ", stringify!(_ROOT_INFO_LUID)) + ); + assert_eq!( + ::std::mem::align_of::<_ROOT_INFO_LUID>(), + 4usize, + concat!("Alignment of ", stringify!(_ROOT_INFO_LUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ROOT_INFO_LUID), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ROOT_INFO_LUID), + "::", + stringify!(HighPart) + ) + ); +} +pub type ROOT_INFO_LUID = _ROOT_INFO_LUID; +pub type PROOT_INFO_LUID = *mut _ROOT_INFO_LUID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMART_CARD_ROOT_INFO { + pub rgbCardID: [BYTE; 16usize], + pub luid: ROOT_INFO_LUID, +} +#[test] +fn bindgen_test_layout__CRYPT_SMART_CARD_ROOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMART_CARD_ROOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMART_CARD_ROOT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_SMART_CARD_ROOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMART_CARD_ROOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_SMART_CARD_ROOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbCardID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMART_CARD_ROOT_INFO), + "::", + stringify!(rgbCardID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).luid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMART_CARD_ROOT_INFO), + "::", + stringify!(luid) + ) + ); +} +pub type CRYPT_SMART_CARD_ROOT_INFO = _CRYPT_SMART_CARD_ROOT_INFO; +pub type PCRYPT_SMART_CARD_ROOT_INFO = *mut _CRYPT_SMART_CARD_ROOT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_SYSTEM_STORE_RELOCATE_PARA { + pub __bindgen_anon_1: _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1, + pub __bindgen_anon_2: _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1 { + pub hKeyBase: HKEY, + pub pvBase: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1), + "::", + stringify!(hKeyBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1), + "::", + stringify!(pvBase) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2 { + pub pvSystemStore: *mut ::std::os::raw::c_void, + pub pszSystemStore: LPCSTR, + pub pwszSystemStore: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pvSystemStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pszSystemStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pwszSystemStore) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA() { + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA) + ) + ); +} +pub type CERT_SYSTEM_STORE_RELOCATE_PARA = _CERT_SYSTEM_STORE_RELOCATE_PARA; +pub type PCERT_SYSTEM_STORE_RELOCATE_PARA = *mut _CERT_SYSTEM_STORE_RELOCATE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REGISTRY_STORE_CLIENT_GPT_PARA { + pub hKeyBase: HKEY, + pub pwszRegPath: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_REGISTRY_STORE_CLIENT_GPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA), + "::", + stringify!(hKeyBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszRegPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA), + "::", + stringify!(pwszRegPath) + ) + ); +} +pub type CERT_REGISTRY_STORE_CLIENT_GPT_PARA = _CERT_REGISTRY_STORE_CLIENT_GPT_PARA; +pub type PCERT_REGISTRY_STORE_CLIENT_GPT_PARA = *mut _CERT_REGISTRY_STORE_CLIENT_GPT_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REGISTRY_STORE_ROAMING_PARA { + pub hKey: HKEY, + pub pwszStoreDirectory: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_REGISTRY_STORE_ROAMING_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REGISTRY_STORE_ROAMING_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REGISTRY_STORE_ROAMING_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REGISTRY_STORE_ROAMING_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA), + "::", + stringify!(hKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszStoreDirectory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA), + "::", + stringify!(pwszStoreDirectory) + ) + ); +} +pub type CERT_REGISTRY_STORE_ROAMING_PARA = _CERT_REGISTRY_STORE_ROAMING_PARA; +pub type PCERT_REGISTRY_STORE_ROAMING_PARA = *mut _CERT_REGISTRY_STORE_ROAMING_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LDAP_STORE_OPENED_PARA { + pub pvLdapSessionHandle: *mut ::std::os::raw::c_void, + pub pwszLdapUrl: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_LDAP_STORE_OPENED_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LDAP_STORE_OPENED_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LDAP_STORE_OPENED_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LDAP_STORE_OPENED_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LDAP_STORE_OPENED_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LDAP_STORE_OPENED_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvLdapSessionHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LDAP_STORE_OPENED_PARA), + "::", + stringify!(pvLdapSessionHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLdapUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LDAP_STORE_OPENED_PARA), + "::", + stringify!(pwszLdapUrl) + ) + ); +} +pub type CERT_LDAP_STORE_OPENED_PARA = _CERT_LDAP_STORE_OPENED_PARA; +pub type PCERT_LDAP_STORE_OPENED_PARA = *mut _CERT_LDAP_STORE_OPENED_PARA; +extern "C" { + pub fn CertOpenStore( + lpszStoreProvider: LPCSTR, + dwEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pvPara: *const ::std::os::raw::c_void, + ) -> HCERTSTORE; +} +pub type HCERTSTOREPROV = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STORE_PROV_INFO { + pub cbSize: DWORD, + pub cStoreProvFunc: DWORD, + pub rgpvStoreProvFunc: *mut *mut ::std::os::raw::c_void, + pub hStoreProv: HCERTSTOREPROV, + pub dwStoreProvFlags: DWORD, + pub hStoreProvFuncAddr2: HCRYPTOIDFUNCADDR, +} +#[test] +fn bindgen_test_layout__CERT_STORE_PROV_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STORE_PROV_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STORE_PROV_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_STORE_PROV_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STORE_PROV_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STORE_PROV_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStoreProvFunc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(cStoreProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpvStoreProvFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(rgpvStoreProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStoreProv) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(hStoreProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStoreProvFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(dwStoreProvFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStoreProvFuncAddr2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(hStoreProvFuncAddr2) + ) + ); +} +pub type CERT_STORE_PROV_INFO = _CERT_STORE_PROV_INFO; +pub type PCERT_STORE_PROV_INFO = *mut _CERT_STORE_PROV_INFO; +pub type PFN_CERT_DLL_OPEN_STORE_PROV_FUNC = ::std::option::Option< + unsafe extern "C" fn( + lpszStoreProvider: LPCSTR, + dwEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pvPara: *const ::std::os::raw::c_void, + hCertStore: HCERTSTORE, + pStoreProvInfo: PCERT_STORE_PROV_INFO, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_CLOSE = + ::std::option::Option; +pub type PFN_CERT_STORE_PROV_READ_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ppProvCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CERT_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_READ_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ppProvCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CRL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_READ_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ppProvCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CTL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_CONTROL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STORE_PROV_FIND_INFO { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub dwFindFlags: DWORD, + pub dwFindType: DWORD, + pub pvFindPara: *const ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_STORE_PROV_FIND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STORE_PROV_FIND_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STORE_PROV_FIND_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_STORE_PROV_FIND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STORE_PROV_FIND_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STORE_PROV_FIND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFindFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwFindFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFindType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwFindType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFindPara) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(pvFindPara) + ) + ); +} +pub type CERT_STORE_PROV_FIND_INFO = _CERT_STORE_PROV_FIND_INFO; +pub type PCERT_STORE_PROV_FIND_INFO = *mut _CERT_STORE_PROV_FIND_INFO; +pub type CCERT_STORE_PROV_FIND_INFO = CERT_STORE_PROV_FIND_INFO; +pub type PCCERT_STORE_PROV_FIND_INFO = *const CERT_STORE_PROV_FIND_INFO; +pub type PFN_CERT_STORE_PROV_FIND_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CERT_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FIND_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CRL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FIND_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CTL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CertDuplicateStore(hCertStore: HCERTSTORE) -> HCERTSTORE; +} +extern "C" { + pub fn CertSaveStore( + hCertStore: HCERTSTORE, + dwEncodingType: DWORD, + dwSaveAs: DWORD, + dwSaveTo: DWORD, + pvSaveToPara: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertCloseStore(hCertStore: HCERTSTORE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CertGetSubjectCertificateFromStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pCertId: PCERT_INFO, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertEnumCertificatesInStore( + hCertStore: HCERTSTORE, + pPrevCertContext: PCCERT_CONTEXT, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertFindCertificateInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCertContext: PCCERT_CONTEXT, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertGetIssuerCertificateFromStore( + hCertStore: HCERTSTORE, + pSubjectContext: PCCERT_CONTEXT, + pPrevIssuerContext: PCCERT_CONTEXT, + pdwFlags: *mut DWORD, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertVerifySubjectCertificateContext( + pSubject: PCCERT_CONTEXT, + pIssuer: PCCERT_CONTEXT, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDuplicateCertificateContext(pCertContext: PCCERT_CONTEXT) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertCreateCertificateContext( + dwCertEncodingType: DWORD, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertFreeCertificateContext(pCertContext: PCCERT_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCertificateContextProperty( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCertificateContextProperty( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCertificateContextProperties( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertCreateCTLEntryFromCertificateContextProperties( + pCertContext: PCCERT_CONTEXT, + cOptAttr: DWORD, + rgOptAttr: PCRYPT_ATTRIBUTE, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pCtlEntry: PCTL_ENTRY, + pcbCtlEntry: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSetCertificateContextPropertiesFromCTLEntry( + pCertContext: PCCERT_CONTEXT, + pCtlEntry: PCTL_ENTRY, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCRLFromStore( + hCertStore: HCERTSTORE, + pIssuerContext: PCCERT_CONTEXT, + pPrevCrlContext: PCCRL_CONTEXT, + pdwFlags: *mut DWORD, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertEnumCRLsInStore( + hCertStore: HCERTSTORE, + pPrevCrlContext: PCCRL_CONTEXT, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertFindCRLInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCrlContext: PCCRL_CONTEXT, + ) -> PCCRL_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_FIND_ISSUED_FOR_PARA { + pub pSubjectCert: PCCERT_CONTEXT, + pub pIssuerCert: PCCERT_CONTEXT, +} +#[test] +fn bindgen_test_layout__CRL_FIND_ISSUED_FOR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_FIND_ISSUED_FOR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_FIND_ISSUED_FOR_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_FIND_ISSUED_FOR_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_FIND_ISSUED_FOR_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_FIND_ISSUED_FOR_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSubjectCert) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_FIND_ISSUED_FOR_PARA), + "::", + stringify!(pSubjectCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_FIND_ISSUED_FOR_PARA), + "::", + stringify!(pIssuerCert) + ) + ); +} +pub type CRL_FIND_ISSUED_FOR_PARA = _CRL_FIND_ISSUED_FOR_PARA; +pub type PCRL_FIND_ISSUED_FOR_PARA = *mut _CRL_FIND_ISSUED_FOR_PARA; +extern "C" { + pub fn CertDuplicateCRLContext(pCrlContext: PCCRL_CONTEXT) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertCreateCRLContext( + dwCertEncodingType: DWORD, + pbCrlEncoded: *const BYTE, + cbCrlEncoded: DWORD, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertFreeCRLContext(pCrlContext: PCCRL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCRLContextProperty( + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCRLContextProperty( + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCRLContextProperties(pCrlContext: PCCRL_CONTEXT, dwPropId: DWORD) -> DWORD; +} +extern "C" { + pub fn CertFindCertificateInCRL( + pCert: PCCERT_CONTEXT, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ppCrlEntry: *mut PCRL_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn CertIsValidCRLForCertificate( + pCert: PCCERT_CONTEXT, + pCrl: PCCRL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCertificateToStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + dwAddDisposition: DWORD, + ppCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCertificateContextToStore( + hCertStore: HCERTSTORE, + pCertContext: PCCERT_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddSerializedElementToStore( + hCertStore: HCERTSTORE, + pbElement: *const BYTE, + cbElement: DWORD, + dwAddDisposition: DWORD, + dwFlags: DWORD, + dwContextTypeFlags: DWORD, + pdwContextType: *mut DWORD, + ppvContext: *mut *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCertificateFromStore(pCertContext: PCCERT_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCRLToStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pbCrlEncoded: *const BYTE, + cbCrlEncoded: DWORD, + dwAddDisposition: DWORD, + ppCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCRLContextToStore( + hCertStore: HCERTSTORE, + pCrlContext: PCCRL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCRLFromStore(pCrlContext: PCCRL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSerializeCertificateStoreElement( + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSerializeCRLStoreElement( + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDuplicateCTLContext(pCtlContext: PCCTL_CONTEXT) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertCreateCTLContext( + dwMsgAndCertEncodingType: DWORD, + pbCtlEncoded: *const BYTE, + cbCtlEncoded: DWORD, + ) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertFreeCTLContext(pCtlContext: PCCTL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCTLContextProperty( + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCTLContextProperty( + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCTLContextProperties(pCtlContext: PCCTL_CONTEXT, dwPropId: DWORD) -> DWORD; +} +extern "C" { + pub fn CertEnumCTLsInStore( + hCertStore: HCERTSTORE, + pPrevCtlContext: PCCTL_CONTEXT, + ) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertFindSubjectInCTL( + dwEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> PCTL_ENTRY; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_ANY_SUBJECT_INFO { + pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub SubjectIdentifier: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CTL_ANY_SUBJECT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_ANY_SUBJECT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_ANY_SUBJECT_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CTL_ANY_SUBJECT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_ANY_SUBJECT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_ANY_SUBJECT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ANY_SUBJECT_INFO), + "::", + stringify!(SubjectAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ANY_SUBJECT_INFO), + "::", + stringify!(SubjectIdentifier) + ) + ); +} +pub type CTL_ANY_SUBJECT_INFO = _CTL_ANY_SUBJECT_INFO; +pub type PCTL_ANY_SUBJECT_INFO = *mut _CTL_ANY_SUBJECT_INFO; +extern "C" { + pub fn CertFindCTLInStore( + hCertStore: HCERTSTORE, + dwMsgAndCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCtlContext: PCCTL_CONTEXT, + ) -> PCCTL_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_FIND_USAGE_PARA { + pub cbSize: DWORD, + pub SubjectUsage: CTL_USAGE, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub pSigner: PCERT_INFO, +} +#[test] +fn bindgen_test_layout__CTL_FIND_USAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_FIND_USAGE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_FIND_USAGE_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CTL_FIND_USAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_FIND_USAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_FIND_USAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(SubjectUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSigner) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(pSigner) + ) + ); +} +pub type CTL_FIND_USAGE_PARA = _CTL_FIND_USAGE_PARA; +pub type PCTL_FIND_USAGE_PARA = *mut _CTL_FIND_USAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_FIND_SUBJECT_PARA { + pub cbSize: DWORD, + pub pUsagePara: PCTL_FIND_USAGE_PARA, + pub dwSubjectType: DWORD, + pub pvSubject: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CTL_FIND_SUBJECT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_FIND_SUBJECT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_FIND_SUBJECT_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CTL_FIND_SUBJECT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_FIND_SUBJECT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_FIND_SUBJECT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsagePara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(pUsagePara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSubjectType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(dwSubjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSubject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(pvSubject) + ) + ); +} +pub type CTL_FIND_SUBJECT_PARA = _CTL_FIND_SUBJECT_PARA; +pub type PCTL_FIND_SUBJECT_PARA = *mut _CTL_FIND_SUBJECT_PARA; +extern "C" { + pub fn CertAddEncodedCTLToStore( + hCertStore: HCERTSTORE, + dwMsgAndCertEncodingType: DWORD, + pbCtlEncoded: *const BYTE, + cbCtlEncoded: DWORD, + dwAddDisposition: DWORD, + ppCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCTLContextToStore( + hCertStore: HCERTSTORE, + pCtlContext: PCCTL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertSerializeCTLStoreElement( + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCTLFromStore(pCtlContext: PCCTL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertAddCertificateLinkToStore( + hCertStore: HCERTSTORE, + pCertContext: PCCERT_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCRLLinkToStore( + hCertStore: HCERTSTORE, + pCrlContext: PCCRL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCTLLinkToStore( + hCertStore: HCERTSTORE, + pCtlContext: PCCTL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddStoreToCollection( + hCollectionStore: HCERTSTORE, + hSiblingStore: HCERTSTORE, + dwUpdateFlags: DWORD, + dwPriority: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertRemoveStoreFromCollection(hCollectionStore: HCERTSTORE, hSiblingStore: HCERTSTORE); +} +extern "C" { + pub fn CertControlStore( + hCertStore: HCERTSTORE, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertSetStoreProperty( + hCertStore: HCERTSTORE, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetStoreProperty( + hCertStore: HCERTSTORE, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = ::std::option::Option< + unsafe extern "C" fn( + cbTotalEncoded: DWORD, + cbRemainEncoded: DWORD, + cEntry: DWORD, + pvSort: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CREATE_CONTEXT_PARA { + pub cbSize: DWORD, + pub pfnFree: PFN_CRYPT_FREE, + pub pvFree: *mut ::std::os::raw::c_void, + pub pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC, + pub pvSort: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CREATE_CONTEXT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CREATE_CONTEXT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CREATE_CONTEXT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_CREATE_CONTEXT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CREATE_CONTEXT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CREATE_CONTEXT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pvFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnSort) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pfnSort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSort) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pvSort) + ) + ); +} +pub type CERT_CREATE_CONTEXT_PARA = _CERT_CREATE_CONTEXT_PARA; +pub type PCERT_CREATE_CONTEXT_PARA = *mut _CERT_CREATE_CONTEXT_PARA; +extern "C" { + pub fn CertCreateContext( + dwContextType: DWORD, + dwEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pCreatePara: PCERT_CREATE_CONTEXT_PARA, + ) -> *const ::std::os::raw::c_void; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SYSTEM_STORE_INFO { + pub cbSize: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_CERT_SYSTEM_STORE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_SYSTEM_STORE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_INFO), + "::", + stringify!(cbSize) + ) + ); +} +pub type CERT_SYSTEM_STORE_INFO = _CERT_SYSTEM_STORE_INFO; +pub type PCERT_SYSTEM_STORE_INFO = *mut _CERT_SYSTEM_STORE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PHYSICAL_STORE_INFO { + pub cbSize: DWORD, + pub pszOpenStoreProvider: LPSTR, + pub dwOpenEncodingType: DWORD, + pub dwOpenFlags: DWORD, + pub OpenParameters: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, + pub dwPriority: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_PHYSICAL_STORE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PHYSICAL_STORE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PHYSICAL_STORE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_PHYSICAL_STORE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PHYSICAL_STORE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PHYSICAL_STORE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOpenStoreProvider) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(pszOpenStoreProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOpenEncodingType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwOpenEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOpenFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwOpenFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(OpenParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPriority) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwPriority) + ) + ); +} +pub type CERT_PHYSICAL_STORE_INFO = _CERT_PHYSICAL_STORE_INFO; +pub type PCERT_PHYSICAL_STORE_INFO = *mut _CERT_PHYSICAL_STORE_INFO; +extern "C" { + pub fn CertRegisterSystemStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pStoreInfo: PCERT_SYSTEM_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertRegisterPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + pStoreInfo: PCERT_PHYSICAL_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertUnregisterSystemStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertUnregisterPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + ) -> BOOL; +} +pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = ::std::option::Option< + unsafe extern "C" fn( + pwszStoreLocation: LPCWSTR, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_ENUM_SYSTEM_STORE = ::std::option::Option< + unsafe extern "C" fn( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pStoreInfo: PCERT_SYSTEM_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_ENUM_PHYSICAL_STORE = ::std::option::Option< + unsafe extern "C" fn( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + pStoreInfo: PCERT_PHYSICAL_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CertEnumSystemStoreLocation( + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE_LOCATION, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumSystemStore( + dwFlags: DWORD, + pvSystemStoreLocationPara: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_PHYSICAL_STORE, + ) -> BOOL; +} +extern "C" { + pub fn CertGetEnhancedKeyUsage( + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + pUsage: PCERT_ENHKEY_USAGE, + pcbUsage: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSetEnhancedKeyUsage( + pCertContext: PCCERT_CONTEXT, + pUsage: PCERT_ENHKEY_USAGE, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEnhancedKeyUsageIdentifier( + pCertContext: PCCERT_CONTEXT, + pszUsageIdentifier: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertRemoveEnhancedKeyUsageIdentifier( + pCertContext: PCCERT_CONTEXT, + pszUsageIdentifier: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertGetValidUsages( + cCerts: DWORD, + rghCerts: *mut PCCERT_CONTEXT, + cNumOIDs: *mut ::std::os::raw::c_int, + rghOIDs: *mut LPSTR, + pcbOIDs: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgGetAndVerifySigner( + hCryptMsg: HCRYPTMSG, + cSignerStore: DWORD, + rghSignerStore: *mut HCERTSTORE, + dwFlags: DWORD, + ppSigner: *mut PCCERT_CONTEXT, + pdwSignerIndex: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgSignCTL( + dwMsgEncodingType: DWORD, + pbCtlContent: *mut BYTE, + cbCtlContent: DWORD, + pSignInfo: PCMSG_SIGNED_ENCODE_INFO, + dwFlags: DWORD, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgEncodeAndSignCTL( + dwMsgEncodingType: DWORD, + pCtlInfo: PCTL_INFO, + pSignInfo: PCMSG_SIGNED_ENCODE_INFO, + dwFlags: DWORD, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertFindSubjectInSortedCTL( + pSubjectIdentifier: PCRYPT_DATA_BLOB, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pEncodedAttributes: PCRYPT_DER_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumSubjectInSortedCTL( + pCtlContext: PCCTL_CONTEXT, + ppvNextSubject: *mut *mut ::std::os::raw::c_void, + pSubjectIdentifier: PCRYPT_DER_BLOB, + pEncodedAttributes: PCRYPT_DER_BLOB, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_VERIFY_USAGE_PARA { + pub cbSize: DWORD, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub cCtlStore: DWORD, + pub rghCtlStore: *mut HCERTSTORE, + pub cSignerStore: DWORD, + pub rghSignerStore: *mut HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CTL_VERIFY_USAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_VERIFY_USAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_VERIFY_USAGE_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CTL_VERIFY_USAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_VERIFY_USAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_VERIFY_USAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCtlStore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cCtlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghCtlStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(rghCtlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSignerStore) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cSignerStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghSignerStore) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(rghSignerStore) + ) + ); +} +pub type CTL_VERIFY_USAGE_PARA = _CTL_VERIFY_USAGE_PARA; +pub type PCTL_VERIFY_USAGE_PARA = *mut _CTL_VERIFY_USAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_VERIFY_USAGE_STATUS { + pub cbSize: DWORD, + pub dwError: DWORD, + pub dwFlags: DWORD, + pub ppCtl: *mut PCCTL_CONTEXT, + pub dwCtlEntryIndex: DWORD, + pub ppSigner: *mut PCCERT_CONTEXT, + pub dwSignerIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CTL_VERIFY_USAGE_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_VERIFY_USAGE_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_VERIFY_USAGE_STATUS>(), + 48usize, + concat!("Size of: ", stringify!(_CTL_VERIFY_USAGE_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_VERIFY_USAGE_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_VERIFY_USAGE_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppCtl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(ppCtl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCtlEntryIndex) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwCtlEntryIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppSigner) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(ppSigner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwSignerIndex) + ) + ); +} +pub type CTL_VERIFY_USAGE_STATUS = _CTL_VERIFY_USAGE_STATUS; +pub type PCTL_VERIFY_USAGE_STATUS = *mut _CTL_VERIFY_USAGE_STATUS; +extern "C" { + pub fn CertVerifyCTLUsage( + dwEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + pSubjectUsage: PCTL_USAGE, + dwFlags: DWORD, + pVerifyUsagePara: PCTL_VERIFY_USAGE_PARA, + pVerifyUsageStatus: PCTL_VERIFY_USAGE_STATUS, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_CRL_INFO { + pub cbSize: DWORD, + pub pBaseCrlContext: PCCRL_CONTEXT, + pub pDeltaCrlContext: PCCRL_CONTEXT, + pub pCrlEntry: PCRL_ENTRY, + pub fDeltaCrlEntry: BOOL, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_CRL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_CRL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_CRL_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_CRL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_CRL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_CRL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBaseCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pBaseCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDeltaCrlContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pDeltaCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pCrlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDeltaCrlEntry) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(fDeltaCrlEntry) + ) + ); +} +pub type CERT_REVOCATION_CRL_INFO = _CERT_REVOCATION_CRL_INFO; +pub type PCERT_REVOCATION_CRL_INFO = *mut _CERT_REVOCATION_CRL_INFO; +pub type CERT_REVOCATION_CHAIN_PARA = _CERT_REVOCATION_CHAIN_PARA; +pub type PCERT_REVOCATION_CHAIN_PARA = *mut _CERT_REVOCATION_CHAIN_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_PARA { + pub cbSize: DWORD, + pub pIssuerCert: PCCERT_CONTEXT, + pub cCertStore: DWORD, + pub rgCertStore: *mut HCERTSTORE, + pub hCrlStore: HCERTSTORE, + pub pftTimeToUse: LPFILETIME, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(pIssuerCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(cCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertStore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(rgCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCrlStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(hCrlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftTimeToUse) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(pftTimeToUse) + ) + ); +} +pub type CERT_REVOCATION_PARA = _CERT_REVOCATION_PARA; +pub type PCERT_REVOCATION_PARA = *mut _CERT_REVOCATION_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_STATUS { + pub cbSize: DWORD, + pub dwIndex: DWORD, + pub dwError: DWORD, + pub dwReason: DWORD, + pub fHasFreshnessTime: BOOL, + pub dwFreshnessTime: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_STATUS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasFreshnessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(fHasFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFreshnessTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwFreshnessTime) + ) + ); +} +pub type CERT_REVOCATION_STATUS = _CERT_REVOCATION_STATUS; +pub type PCERT_REVOCATION_STATUS = *mut _CERT_REVOCATION_STATUS; +extern "C" { + pub fn CertVerifyRevocation( + dwEncodingType: DWORD, + dwRevType: DWORD, + cContext: DWORD, + rgpvContext: *mut PVOID, + dwFlags: DWORD, + pRevPara: PCERT_REVOCATION_PARA, + pRevStatus: PCERT_REVOCATION_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn CertCompareIntegerBlob(pInt1: PCRYPT_INTEGER_BLOB, pInt2: PCRYPT_INTEGER_BLOB) -> BOOL; +} +extern "C" { + pub fn CertCompareCertificate( + dwCertEncodingType: DWORD, + pCertId1: PCERT_INFO, + pCertId2: PCERT_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertCompareCertificateName( + dwCertEncodingType: DWORD, + pCertName1: PCERT_NAME_BLOB, + pCertName2: PCERT_NAME_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CertIsRDNAttrsInCertificateName( + dwCertEncodingType: DWORD, + dwFlags: DWORD, + pCertName: PCERT_NAME_BLOB, + pRDN: PCERT_RDN, + ) -> BOOL; +} +extern "C" { + pub fn CertComparePublicKeyInfo( + dwCertEncodingType: DWORD, + pPublicKey1: PCERT_PUBLIC_KEY_INFO, + pPublicKey2: PCERT_PUBLIC_KEY_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertGetPublicKeyLength( + dwCertEncodingType: DWORD, + pPublicKey: PCERT_PUBLIC_KEY_INFO, + ) -> DWORD; +} +extern "C" { + pub fn CryptVerifyCertificateSignature( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pPublicKey: PCERT_PUBLIC_KEY_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyCertificateSignatureEx( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + dwIssuerType: DWORD, + pvIssuer: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + pvExtra: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO { + pub CertSignHashCNGAlgPropData: CRYPT_DATA_BLOB, + pub CertIssuerPubKeyBitLengthPropData: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>(), + 32usize, + concat!( + "Size of: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertSignHashCNGAlgPropData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO), + "::", + stringify!(CertSignHashCNGAlgPropData) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CertIssuerPubKeyBitLengthPropData) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO), + "::", + stringify!(CertIssuerPubKeyBitLengthPropData) + ) + ); +} +pub type CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = + _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; +pub type PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = + *mut _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO { + pub cCNGHashAlgid: DWORD, + pub rgpwszCNGHashAlgid: *mut PCWSTR, + pub dwWeakIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCNGHashAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(cCNGHashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpwszCNGHashAlgid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(rgpwszCNGHashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWeakIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(dwWeakIndex) + ) + ); +} +pub type CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO = _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; +pub type PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO = *mut _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; +extern "C" { + pub fn CertIsStrongHashToSign( + pStrongSignPara: PCCERT_STRONG_SIGN_PARA, + pwszCNGHashAlgid: LPCWSTR, + pSigningCert: PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashToBeSigned( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashCertificate( + hCryptProv: HCRYPTPROV_LEGACY, + Algid: ALG_ID, + dwFlags: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashCertificate2( + pwszCNGHashAlgid: LPCWSTR, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pbEncodedToBeSigned: *const BYTE, + cbEncodedToBeSigned: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *const ::std::os::raw::c_void, + pbSignature: *mut BYTE, + pcbSignature: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignAndEncodeCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *const ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + ppvDecodedSignPara: *mut *mut ::std::os::raw::c_void, + ppwszCNGHashAlgid: *mut LPWSTR, + ) -> BOOL, +>; +pub type PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hKey: NCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvDecodedSignPara: *mut ::std::os::raw::c_void, + pwszCNGPubKeyAlgid: LPCWSTR, + pwszCNGHashAlgid: LPCWSTR, + pbComputedHash: *mut BYTE, + cbComputedHash: DWORD, + pbSignature: *mut BYTE, + pcbSignature: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pPubKeyInfo: PCERT_PUBLIC_KEY_INFO, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvDecodedSignPara: *mut ::std::os::raw::c_void, + pwszCNGPubKeyAlgid: LPCWSTR, + pwszCNGHashAlgid: LPCWSTR, + pbComputedHash: *mut BYTE, + cbComputedHash: DWORD, + pbSignature: *mut BYTE, + cbSignature: DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CertVerifyTimeValidity(pTimeToVerify: LPFILETIME, pCertInfo: PCERT_INFO) -> LONG; +} +extern "C" { + pub fn CertVerifyCRLTimeValidity(pTimeToVerify: LPFILETIME, pCrlInfo: PCRL_INFO) -> LONG; +} +extern "C" { + pub fn CertVerifyValidityNesting(pSubjectInfo: PCERT_INFO, pIssuerInfo: PCERT_INFO) -> BOOL; +} +extern "C" { + pub fn CertVerifyCRLRevocation( + dwCertEncodingType: DWORD, + pCertId: PCERT_INFO, + cCrlInfo: DWORD, + rgpCrlInfo: *mut PCRL_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertAlgIdToOID(dwAlgId: DWORD) -> LPCSTR; +} +extern "C" { + pub fn CertOIDToAlgId(pszObjId: LPCSTR) -> DWORD; +} +extern "C" { + pub fn CertFindExtension( + pszObjId: LPCSTR, + cExtensions: DWORD, + rgExtensions: *mut CERT_EXTENSION, + ) -> PCERT_EXTENSION; +} +extern "C" { + pub fn CertFindAttribute( + pszObjId: LPCSTR, + cAttr: DWORD, + rgAttr: *mut CRYPT_ATTRIBUTE, + ) -> PCRYPT_ATTRIBUTE; +} +extern "C" { + pub fn CertFindRDNAttr(pszObjId: LPCSTR, pName: PCERT_NAME_INFO) -> PCERT_RDN_ATTR; +} +extern "C" { + pub fn CertGetIntendedKeyUsage( + dwCertEncodingType: DWORD, + pCertInfo: PCERT_INFO, + pbKeyUsage: *mut BYTE, + cbKeyUsage: DWORD, + ) -> BOOL; +} +pub type HCRYPTDEFAULTCONTEXT = *mut ::std::os::raw::c_void; +extern "C" { + pub fn CryptInstallDefaultContext( + hCryptProv: HCRYPTPROV, + dwDefaultType: DWORD, + pvDefaultPara: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phDefaultContext: *mut HCRYPTDEFAULTCONTEXT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA { + pub cOID: DWORD, + pub rgpszOID: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA), + "::", + stringify!(cOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA), + "::", + stringify!(rgpszOID) + ) + ); +} +pub type CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; +pub type PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = *mut _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; +extern "C" { + pub fn CryptUninstallDefaultContext( + hDefaultContext: HCRYPTDEFAULTCONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPublicKeyInfo( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPublicKeyInfoEx( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hNCryptKey: NCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptExportPublicKeyInfoFromBCryptKeyHandle( + hBCryptKey: BCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hBCryptKey: BCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptImportPublicKeyInfo( + hCryptProv: HCRYPTPROV, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportPublicKeyInfoEx( + hCryptProv: HCRYPTPROV, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + aiKeyAlg: ALG_ID, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportPublicKeyInfoEx2( + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut BCRYPT_KEY_HANDLE, + ) -> BOOL; +} +pub type PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut BCRYPT_KEY_HANDLE, + ) -> BOOL, +>; +extern "C" { + pub fn CryptAcquireCertificatePrivateKey( + pCert: PCCERT_CONTEXT, + dwFlags: DWORD, + pvParameters: *mut ::std::os::raw::c_void, + phCryptProvOrNCryptKey: *mut HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + pdwKeySpec: *mut DWORD, + pfCallerFreeProvOrNCryptKey: *mut BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CryptFindCertificateKeyProvInfo( + pCert: PCCERT_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_IMPORT_PRIV_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CryptImportPKCS8( + sPrivateKeyAndParams: CRYPT_PKCS8_IMPORT_PARAMS, + dwFlags: DWORD, + phCryptProv: *mut HCRYPTPROV, + pvAuxInfo: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_EXPORT_PRIV_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + pszPrivateKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + pcbPrivateKeyInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptExportPKCS8( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + pszPrivateKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pbPrivateKeyBlob: *mut BYTE, + pcbPrivateKeyBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPKCS8Ex( + psExportParams: *mut CRYPT_PKCS8_EXPORT_PARAMS, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pbPrivateKeyBlob: *mut BYTE, + pcbPrivateKeyBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashPublicKeyInfo( + hCryptProv: HCRYPTPROV_LEGACY, + Algid: ALG_ID, + dwFlags: DWORD, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertRDNValueToStrA( + dwValueType: DWORD, + pValue: PCERT_RDN_VALUE_BLOB, + psz: LPSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertRDNValueToStrW( + dwValueType: DWORD, + pValue: PCERT_RDN_VALUE_BLOB, + psz: LPWSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertNameToStrA( + dwCertEncodingType: DWORD, + pName: PCERT_NAME_BLOB, + dwStrType: DWORD, + psz: LPSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertNameToStrW( + dwCertEncodingType: DWORD, + pName: PCERT_NAME_BLOB, + dwStrType: DWORD, + psz: LPWSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertStrToNameA( + dwCertEncodingType: DWORD, + pszX500: LPCSTR, + dwStrType: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ppszError: *mut LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertStrToNameW( + dwCertEncodingType: DWORD, + pszX500: LPCWSTR, + dwStrType: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ppszError: *mut LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertGetNameStringA( + pCertContext: PCCERT_CONTEXT, + dwType: DWORD, + dwFlags: DWORD, + pvTypePara: *mut ::std::os::raw::c_void, + pszNameString: LPSTR, + cchNameString: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertGetNameStringW( + pCertContext: PCCERT_CONTEXT, + dwType: DWORD, + dwFlags: DWORD, + pvTypePara: *mut ::std::os::raw::c_void, + pszNameString: LPWSTR, + cchNameString: DWORD, + ) -> DWORD; +} +pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE = ::std::option::Option< + unsafe extern "C" fn( + pvGetArg: *mut ::std::os::raw::c_void, + dwCertEncodingType: DWORD, + pSignerId: PCERT_INFO, + hMsgCertStore: HCERTSTORE, + ) -> PCCERT_CONTEXT, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SIGN_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub pSigningCert: PCCERT_CONTEXT, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub cMsgCert: DWORD, + pub rgpMsgCert: *mut PCCERT_CONTEXT, + pub cMsgCrl: DWORD, + pub rgpMsgCrl: *mut PCCRL_CONTEXT, + pub cAuthAttr: DWORD, + pub rgAuthAttr: PCRYPT_ATTRIBUTE, + pub cUnauthAttr: DWORD, + pub rgUnauthAttr: PCRYPT_ATTRIBUTE, + pub dwFlags: DWORD, + pub dwInnerContentType: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_SIGN_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SIGN_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SIGN_MESSAGE_PARA>(), + 120usize, + concat!("Size of: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SIGN_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSigningCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(pSigningCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMsgCert) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cMsgCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpMsgCert) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgpMsgCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMsgCrl) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cMsgCrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpMsgCrl) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgpMsgCrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAuthAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnauthAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgUnauthAttr) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInnerContentType) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwInnerContentType) + ) + ); +} +pub type CRYPT_SIGN_MESSAGE_PARA = _CRYPT_SIGN_MESSAGE_PARA; +pub type PCRYPT_SIGN_MESSAGE_PARA = *mut _CRYPT_SIGN_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE, + pub pvGetArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_MESSAGE_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnGetSignerCertificate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(pfnGetSignerCertificate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvGetArg) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(pvGetArg) + ) + ); +} +pub type CRYPT_VERIFY_MESSAGE_PARA = _CRYPT_VERIFY_MESSAGE_PARA; +pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut _CRYPT_VERIFY_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCRYPT_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub dwFlags: DWORD, + pub dwInnerContentType: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCRYPT_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCRYPT_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCRYPT_MESSAGE_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCRYPT_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInnerContentType) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwInnerContentType) + ) + ); +} +pub type CRYPT_ENCRYPT_MESSAGE_PARA = _CRYPT_ENCRYPT_MESSAGE_PARA; +pub type PCRYPT_ENCRYPT_MESSAGE_PARA = *mut _CRYPT_ENCRYPT_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DECRYPT_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub cCertStore: DWORD, + pub rghCertStore: *mut HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CRYPT_DECRYPT_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DECRYPT_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DECRYPT_MESSAGE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DECRYPT_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertStore) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(cCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghCertStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(rghCertStore) + ) + ); +} +pub type CRYPT_DECRYPT_MESSAGE_PARA = _CRYPT_DECRYPT_MESSAGE_PARA; +pub type PCRYPT_DECRYPT_MESSAGE_PARA = *mut _CRYPT_DECRYPT_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_HASH_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_HASH_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_HASH_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_HASH_MESSAGE_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_HASH_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_HASH_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_HASH_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); +} +pub type CRYPT_HASH_MESSAGE_PARA = _CRYPT_HASH_MESSAGE_PARA; +pub type PCRYPT_HASH_MESSAGE_PARA = *mut _CRYPT_HASH_MESSAGE_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRYPT_KEY_SIGN_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub __bindgen_anon_1: _CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_SIGN_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_SIGN_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA>(), + 80usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubKeyAlgorithm) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(PubKeyAlgorithm) + ) + ); +} +pub type CRYPT_KEY_SIGN_MESSAGE_PARA = _CRYPT_KEY_SIGN_MESSAGE_PARA; +pub type PCRYPT_KEY_SIGN_MESSAGE_PARA = *mut _CRYPT_KEY_SIGN_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_VERIFY_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_VERIFY_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_VERIFY_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); +} +pub type CRYPT_KEY_VERIFY_MESSAGE_PARA = _CRYPT_KEY_VERIFY_MESSAGE_PARA; +pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA = *mut _CRYPT_KEY_VERIFY_MESSAGE_PARA; +extern "C" { + pub fn CryptSignMessage( + pSignPara: PCRYPT_SIGN_MESSAGE_PARA, + fDetachedSignature: BOOL, + cToBeSigned: DWORD, + rgpbToBeSigned: *mut *const BYTE, + rgcbToBeSigned: *mut DWORD, + pbSignedBlob: *mut BYTE, + pcbSignedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageSignature( + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetMessageSignerCount( + dwMsgEncodingType: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + ) -> LONG; +} +extern "C" { + pub fn CryptGetMessageCertificates( + dwMsgAndCertEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CryptVerifyDetachedMessageSignature( + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbDetachedSignBlob: *const BYTE, + cbDetachedSignBlob: DWORD, + cToBeSigned: DWORD, + rgpbToBeSigned: *mut *const BYTE, + rgcbToBeSigned: *mut DWORD, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncryptMessage( + pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, + cRecipientCert: DWORD, + rgpRecipientCert: *mut PCCERT_CONTEXT, + pbToBeEncrypted: *const BYTE, + cbToBeEncrypted: DWORD, + pbEncryptedBlob: *mut BYTE, + pcbEncryptedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecryptMessage( + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pbEncryptedBlob: *const BYTE, + cbEncryptedBlob: DWORD, + pbDecrypted: *mut BYTE, + pcbDecrypted: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignAndEncryptMessage( + pSignPara: PCRYPT_SIGN_MESSAGE_PARA, + pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, + cRecipientCert: DWORD, + rgpRecipientCert: *mut PCCERT_CONTEXT, + pbToBeSignedAndEncrypted: *const BYTE, + cbToBeSignedAndEncrypted: DWORD, + pbSignedAndEncryptedBlob: *mut BYTE, + pcbSignedAndEncryptedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecryptAndVerifyMessageSignature( + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbEncryptedBlob: *const BYTE, + cbEncryptedBlob: DWORD, + pbDecrypted: *mut BYTE, + pcbDecrypted: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecodeMessage( + dwMsgTypeFlags: DWORD, + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbEncodedBlob: *const BYTE, + cbEncodedBlob: DWORD, + dwPrevInnerContentType: DWORD, + pdwMsgType: *mut DWORD, + pdwInnerContentType: *mut DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashMessage( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + fDetachedHash: BOOL, + cToBeHashed: DWORD, + rgpbToBeHashed: *mut *const BYTE, + rgcbToBeHashed: *mut DWORD, + pbHashedBlob: *mut BYTE, + pcbHashedBlob: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageHash( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + pbHashedBlob: *mut BYTE, + cbHashedBlob: DWORD, + pbToBeHashed: *mut BYTE, + pcbToBeHashed: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyDetachedMessageHash( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + pbDetachedHashBlob: *mut BYTE, + cbDetachedHashBlob: DWORD, + cToBeHashed: DWORD, + rgpbToBeHashed: *mut *const BYTE, + rgcbToBeHashed: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignMessageWithKey( + pSignPara: PCRYPT_KEY_SIGN_MESSAGE_PARA, + pbToBeSigned: *const BYTE, + cbToBeSigned: DWORD, + pbSignedBlob: *mut BYTE, + pcbSignedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageSignatureWithKey( + pVerifyPara: PCRYPT_KEY_VERIFY_MESSAGE_PARA, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertOpenSystemStoreA( + hProv: HCRYPTPROV_LEGACY, + szSubsystemProtocol: LPCSTR, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CertOpenSystemStoreW( + hProv: HCRYPTPROV_LEGACY, + szSubsystemProtocol: LPCWSTR, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CertAddEncodedCertificateToSystemStoreA( + szCertStoreName: LPCSTR, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCertificateToSystemStoreW( + szCertStoreName: LPCWSTR, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN { + pub cCerts: DWORD, + pub certs: PCERT_BLOB, + pub keyLocatorInfo: CRYPT_KEY_PROV_INFO, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_CHAIN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCerts) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(cCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).certs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(certs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyLocatorInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(keyLocatorInfo) + ) + ); +} +pub type CERT_CHAIN = _CERT_CHAIN; +pub type PCERT_CHAIN = *mut _CERT_CHAIN; +extern "C" { + pub fn FindCertsByIssuer( + pCertChains: PCERT_CHAIN, + pcbCertChains: *mut DWORD, + pcCertChains: *mut DWORD, + pbEncodedIssuerName: *mut BYTE, + cbEncodedIssuerName: DWORD, + pwszPurpose: LPCWSTR, + dwKeySpec: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CryptQueryObject( + dwObjectType: DWORD, + pvObject: *const ::std::os::raw::c_void, + dwExpectedContentTypeFlags: DWORD, + dwExpectedFormatTypeFlags: DWORD, + dwFlags: DWORD, + pdwMsgAndCertEncodingType: *mut DWORD, + pdwContentType: *mut DWORD, + pdwFormatType: *mut DWORD, + phCertStore: *mut HCERTSTORE, + phMsg: *mut HCRYPTMSG, + ppvContext: *mut *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptMemAlloc(cbSize: ULONG) -> LPVOID; +} +extern "C" { + pub fn CryptMemRealloc(pv: LPVOID, cbSize: ULONG) -> LPVOID; +} +extern "C" { + pub fn CryptMemFree(pv: LPVOID); +} +pub type HCRYPTASYNC = HANDLE; +pub type PHCRYPTASYNC = *mut HANDLE; +pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = + ::std::option::Option; +extern "C" { + pub fn CryptCreateAsyncHandle(dwFlags: DWORD, phAsync: PHCRYPTASYNC) -> BOOL; +} +extern "C" { + pub fn CryptSetAsyncParam( + hAsync: HCRYPTASYNC, + pszParamOid: LPSTR, + pvParam: LPVOID, + pfnFree: PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetAsyncParam( + hAsync: HCRYPTASYNC, + pszParamOid: LPSTR, + ppvParam: *mut LPVOID, + ppfnFree: *mut PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, + ) -> BOOL; +} +extern "C" { + pub fn CryptCloseAsyncHandle(hAsync: HCRYPTASYNC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_BLOB_ARRAY { + pub cBlob: DWORD, + pub rgBlob: PCRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_BLOB_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_BLOB_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_BLOB_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_BLOB_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_BLOB_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_BLOB_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BLOB_ARRAY), + "::", + stringify!(cBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BLOB_ARRAY), + "::", + stringify!(rgBlob) + ) + ); +} +pub type CRYPT_BLOB_ARRAY = _CRYPT_BLOB_ARRAY; +pub type PCRYPT_BLOB_ARRAY = *mut _CRYPT_BLOB_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CREDENTIALS { + pub cbSize: DWORD, + pub pszCredentialsOid: LPCSTR, + pub pvCredentials: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_CREDENTIALS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CREDENTIALS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CREDENTIALS>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CREDENTIALS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CREDENTIALS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CREDENTIALS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCredentialsOid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(pszCredentialsOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCredentials) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(pvCredentials) + ) + ); +} +pub type CRYPT_CREDENTIALS = _CRYPT_CREDENTIALS; +pub type PCRYPT_CREDENTIALS = *mut _CRYPT_CREDENTIALS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PASSWORD_CREDENTIALSA { + pub cbSize: DWORD, + pub pszUsername: LPSTR, + pub pszPassword: LPSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PASSWORD_CREDENTIALSA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PASSWORD_CREDENTIALSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PASSWORD_CREDENTIALSA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PASSWORD_CREDENTIALSA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsername) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(pszUsername) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPassword) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(pszPassword) + ) + ); +} +pub type CRYPT_PASSWORD_CREDENTIALSA = _CRYPT_PASSWORD_CREDENTIALSA; +pub type PCRYPT_PASSWORD_CREDENTIALSA = *mut _CRYPT_PASSWORD_CREDENTIALSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PASSWORD_CREDENTIALSW { + pub cbSize: DWORD, + pub pszUsername: LPWSTR, + pub pszPassword: LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PASSWORD_CREDENTIALSW() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PASSWORD_CREDENTIALSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PASSWORD_CREDENTIALSW>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PASSWORD_CREDENTIALSW>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsername) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(pszUsername) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPassword) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(pszPassword) + ) + ); +} +pub type CRYPT_PASSWORD_CREDENTIALSW = _CRYPT_PASSWORD_CREDENTIALSW; +pub type PCRYPT_PASSWORD_CREDENTIALSW = *mut _CRYPT_PASSWORD_CREDENTIALSW; +pub type CRYPT_PASSWORD_CREDENTIALS = CRYPT_PASSWORD_CREDENTIALSA; +pub type PCRYPT_PASSWORD_CREDENTIALS = PCRYPT_PASSWORD_CREDENTIALSA; +pub type PFN_FREE_ENCODED_OBJECT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pszObjectOid: LPCSTR, pObject: PCRYPT_BLOB_ARRAY, pvFreeContext: LPVOID), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_PRE_FETCH_INFO { + pub cbSize: DWORD, + pub dwObjectType: DWORD, + pub dwError: DWORD, + pub dwReserved: DWORD, + pub ThisUpdateTime: FILETIME, + pub NextUpdateTime: FILETIME, + pub PublishTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_PRE_FETCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwObjectType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdateTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(ThisUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdateTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(NextUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublishTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(PublishTime) + ) + ); +} +pub type CRYPTNET_URL_CACHE_PRE_FETCH_INFO = _CRYPTNET_URL_CACHE_PRE_FETCH_INFO; +pub type PCRYPTNET_URL_CACHE_PRE_FETCH_INFO = *mut _CRYPTNET_URL_CACHE_PRE_FETCH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_FLUSH_INFO { + pub cbSize: DWORD, + pub dwExemptSeconds: DWORD, + pub ExpireTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_FLUSH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_FLUSH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_FLUSH_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_FLUSH_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExemptSeconds) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(dwExemptSeconds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpireTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(ExpireTime) + ) + ); +} +pub type CRYPTNET_URL_CACHE_FLUSH_INFO = _CRYPTNET_URL_CACHE_FLUSH_INFO; +pub type PCRYPTNET_URL_CACHE_FLUSH_INFO = *mut _CRYPTNET_URL_CACHE_FLUSH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_RESPONSE_INFO { + pub cbSize: DWORD, + pub wResponseType: WORD, + pub wResponseFlags: WORD, + pub LastModifiedTime: FILETIME, + pub dwMaxAge: DWORD, + pub pwszETag: LPCWSTR, + pub dwProxyId: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResponseType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(wResponseType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResponseFlags) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(wResponseFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastModifiedTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(LastModifiedTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxAge) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(dwMaxAge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszETag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(pwszETag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProxyId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(dwProxyId) + ) + ); +} +pub type CRYPTNET_URL_CACHE_RESPONSE_INFO = _CRYPTNET_URL_CACHE_RESPONSE_INFO; +pub type PCRYPTNET_URL_CACHE_RESPONSE_INFO = *mut _CRYPTNET_URL_CACHE_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RETRIEVE_AUX_INFO { + pub cbSize: DWORD, + pub pLastSyncTime: *mut FILETIME, + pub dwMaxUrlRetrievalByteCount: DWORD, + pub pPreFetchInfo: PCRYPTNET_URL_CACHE_PRE_FETCH_INFO, + pub pFlushInfo: PCRYPTNET_URL_CACHE_FLUSH_INFO, + pub ppResponseInfo: *mut PCRYPTNET_URL_CACHE_RESPONSE_INFO, + pub pwszCacheFileNamePrefix: LPWSTR, + pub pftCacheResync: LPFILETIME, + pub fProxyCacheRetrieval: BOOL, + pub dwHttpStatusCode: DWORD, + pub ppwszErrorResponseHeaders: *mut LPWSTR, + pub ppErrorContentBlob: *mut PCRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_RETRIEVE_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RETRIEVE_AUX_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RETRIEVE_AUX_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RETRIEVE_AUX_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RETRIEVE_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLastSyncTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pLastSyncTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUrlRetrievalByteCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(dwMaxUrlRetrievalByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPreFetchInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pPreFetchInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFlushInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pFlushInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppResponseInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppResponseInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCacheFileNamePrefix) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pwszCacheFileNamePrefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fProxyCacheRetrieval) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(fProxyCacheRetrieval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHttpStatusCode) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(dwHttpStatusCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppwszErrorResponseHeaders) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppwszErrorResponseHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppErrorContentBlob) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppErrorContentBlob) + ) + ); +} +pub type CRYPT_RETRIEVE_AUX_INFO = _CRYPT_RETRIEVE_AUX_INFO; +pub type PCRYPT_RETRIEVE_AUX_INFO = *mut _CRYPT_RETRIEVE_AUX_INFO; +extern "C" { + pub fn CryptRetrieveObjectByUrlA( + pszUrl: LPCSTR, + pszObjectOid: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + hAsyncRetrieve: HCRYPTASYNC, + pCredentials: PCRYPT_CREDENTIALS, + pvVerify: LPVOID, + pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptRetrieveObjectByUrlW( + pszUrl: LPCWSTR, + pszObjectOid: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + hAsyncRetrieve: HCRYPTASYNC, + pCredentials: PCRYPT_CREDENTIALS, + pvVerify: LPVOID, + pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, + ) -> BOOL; +} +pub type PFN_CRYPT_CANCEL_RETRIEVAL = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, pvArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +extern "C" { + pub fn CryptInstallCancelRetrieval( + pfnCancel: PFN_CRYPT_CANCEL_RETRIEVAL, + pvArg: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptUninstallCancelRetrieval( + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptCancelAsyncRetrieval(hAsyncRetrieval: HCRYPTASYNC) -> BOOL; +} +pub type PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pvCompletion: LPVOID, + dwCompletionCode: DWORD, + pszUrl: LPCSTR, + pszObjectOid: LPSTR, + pvObject: LPVOID, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION { + pub pfnCompletion: PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, + pub pvCompletion: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_ASYNC_RETRIEVAL_COMPLETION() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ASYNC_RETRIEVAL_COMPLETION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCompletion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION), + "::", + stringify!(pfnCompletion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCompletion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION), + "::", + stringify!(pvCompletion) + ) + ); +} +pub type CRYPT_ASYNC_RETRIEVAL_COMPLETION = _CRYPT_ASYNC_RETRIEVAL_COMPLETION; +pub type PCRYPT_ASYNC_RETRIEVAL_COMPLETION = *mut _CRYPT_ASYNC_RETRIEVAL_COMPLETION; +pub type PFN_CANCEL_ASYNC_RETRIEVAL_FUNC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_URL_ARRAY { + pub cUrl: DWORD, + pub rgwszUrl: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_URL_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_URL_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_URL_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_URL_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_URL_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_URL_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUrl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_ARRAY), + "::", + stringify!(cUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgwszUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_ARRAY), + "::", + stringify!(rgwszUrl) + ) + ); +} +pub type CRYPT_URL_ARRAY = _CRYPT_URL_ARRAY; +pub type PCRYPT_URL_ARRAY = *mut _CRYPT_URL_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_URL_INFO { + pub cbSize: DWORD, + pub dwSyncDeltaTime: DWORD, + pub cGroup: DWORD, + pub rgcGroupEntry: *mut DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_URL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_URL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_URL_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_URL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_URL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_URL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSyncDeltaTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(dwSyncDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGroup) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(cGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgcGroupEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(rgcGroupEntry) + ) + ); +} +pub type CRYPT_URL_INFO = _CRYPT_URL_INFO; +pub type PCRYPT_URL_INFO = *mut _CRYPT_URL_INFO; +extern "C" { + pub fn CryptGetObjectUrl( + pszUrlOid: LPCSTR, + pvPara: LPVOID, + dwFlags: DWORD, + pUrlArray: PCRYPT_URL_ARRAY, + pcbUrlArray: *mut DWORD, + pUrlInfo: PCRYPT_URL_INFO, + pcbUrlInfo: *mut DWORD, + pvReserved: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CRL_CONTEXT_PAIR { + pub pCertContext: PCCERT_CONTEXT, + pub pCrlContext: PCCRL_CONTEXT, +} +#[test] +fn bindgen_test_layout__CERT_CRL_CONTEXT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CRL_CONTEXT_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CRL_CONTEXT_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_CRL_CONTEXT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CRL_CONTEXT_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CRL_CONTEXT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CRL_CONTEXT_PAIR), + "::", + stringify!(pCertContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CRL_CONTEXT_PAIR), + "::", + stringify!(pCrlContext) + ) + ); +} +pub type CERT_CRL_CONTEXT_PAIR = _CERT_CRL_CONTEXT_PAIR; +pub type PCERT_CRL_CONTEXT_PAIR = *mut _CERT_CRL_CONTEXT_PAIR; +pub type PCCERT_CRL_CONTEXT_PAIR = *const CERT_CRL_CONTEXT_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO { + pub cbSize: DWORD, + pub iDeltaCrlIndicator: ::std::os::raw::c_int, + pub pftCacheResync: LPFILETIME, + pub pLastSyncTime: LPFILETIME, + pub pMaxAgeTime: LPFILETIME, + pub pChainPara: PCERT_REVOCATION_CHAIN_PARA, + pub pDeltaCrlIndicator: PCRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iDeltaCrlIndicator) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(iDeltaCrlIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLastSyncTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pLastSyncTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMaxAgeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pMaxAgeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChainPara) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pChainPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDeltaCrlIndicator) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pDeltaCrlIndicator) + ) + ); +} +pub type CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; +pub type PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = *mut _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; +extern "C" { + pub fn CryptGetTimeValidObject( + pszTimeValidOid: LPCSTR, + pvPara: LPVOID, + pIssuer: PCCERT_CONTEXT, + pftValidFor: LPFILETIME, + dwFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + pCredentials: PCRYPT_CREDENTIALS, + pExtraInfo: PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptFlushTimeValidObject( + pszFlushTimeValidOid: LPCSTR, + pvPara: LPVOID, + pIssuer: PCCERT_CONTEXT, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn CertCreateSelfSignCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + pSubjectIssuerBlob: PCERT_NAME_BLOB, + dwFlags: DWORD, + pKeyProvInfo: PCRYPT_KEY_PROV_INFO, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pStartTime: PSYSTEMTIME, + pEndTime: PSYSTEMTIME, + pExtensions: PCERT_EXTENSIONS, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CryptGetKeyIdentifierProperty( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetKeyIdentifierProperty( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_CRYPT_ENUM_KEYID_PROP = ::std::option::Option< + unsafe extern "C" fn( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + cProp: DWORD, + rgdwPropId: *mut DWORD, + rgpvData: *mut *mut ::std::os::raw::c_void, + rgcbData: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptEnumKeyIdentifierProperties( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CRYPT_ENUM_KEYID_PROP, + ) -> BOOL; +} +extern "C" { + pub fn CryptCreateKeyIdentifierFromCSP( + dwCertEncodingType: DWORD, + pszPubKeyOID: LPCSTR, + pPubKeyStruc: *const PUBLICKEYSTRUC, + cbPubKeyStruc: DWORD, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbHash: *mut BYTE, + pcbHash: *mut DWORD, + ) -> BOOL; +} +pub type HCERTCHAINENGINE = HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_ENGINE_CONFIG { + pub cbSize: DWORD, + pub hRestrictedRoot: HCERTSTORE, + pub hRestrictedTrust: HCERTSTORE, + pub hRestrictedOther: HCERTSTORE, + pub cAdditionalStore: DWORD, + pub rghAdditionalStore: *mut HCERTSTORE, + pub dwFlags: DWORD, + pub dwUrlRetrievalTimeout: DWORD, + pub MaximumCachedCertificates: DWORD, + pub CycleDetectionModulus: DWORD, + pub hExclusiveRoot: HCERTSTORE, + pub hExclusiveTrustedPeople: HCERTSTORE, + pub dwExclusiveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_ENGINE_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_ENGINE_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_ENGINE_CONFIG>(), + 88usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_ENGINE_CONFIG>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_ENGINE_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedRoot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedRoot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedTrust) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedTrust) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedOther) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedOther) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAdditionalStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(cAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghAdditionalStore) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(rghAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUrlRetrievalTimeout) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwUrlRetrievalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumCachedCertificates) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(MaximumCachedCertificates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleDetectionModulus) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(CycleDetectionModulus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hExclusiveRoot) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hExclusiveRoot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hExclusiveTrustedPeople) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hExclusiveTrustedPeople) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExclusiveFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwExclusiveFlags) + ) + ); +} +pub type CERT_CHAIN_ENGINE_CONFIG = _CERT_CHAIN_ENGINE_CONFIG; +pub type PCERT_CHAIN_ENGINE_CONFIG = *mut _CERT_CHAIN_ENGINE_CONFIG; +extern "C" { + pub fn CertCreateCertificateChainEngine( + pConfig: PCERT_CHAIN_ENGINE_CONFIG, + phChainEngine: *mut HCERTCHAINENGINE, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChainEngine(hChainEngine: HCERTCHAINENGINE); +} +extern "C" { + pub fn CertResyncCertificateChainEngine(hChainEngine: HCERTCHAINENGINE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TRUST_STATUS { + pub dwErrorStatus: DWORD, + pub dwInfoStatus: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TRUST_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TRUST_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TRUST_STATUS>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_TRUST_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TRUST_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_TRUST_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_STATUS), + "::", + stringify!(dwErrorStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_STATUS), + "::", + stringify!(dwInfoStatus) + ) + ); +} +pub type CERT_TRUST_STATUS = _CERT_TRUST_STATUS; +pub type PCERT_TRUST_STATUS = *mut _CERT_TRUST_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_INFO { + pub cbSize: DWORD, + pub dwRevocationResult: DWORD, + pub pszRevocationOid: LPCSTR, + pub pvOidSpecificInfo: LPVOID, + pub fHasFreshnessTime: BOOL, + pub dwFreshnessTime: DWORD, + pub pCrlInfo: PCERT_REVOCATION_CRL_INFO, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationResult) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(dwRevocationResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszRevocationOid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pszRevocationOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvOidSpecificInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pvOidSpecificInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasFreshnessTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(fHasFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFreshnessTime) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(dwFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pCrlInfo) + ) + ); +} +pub type CERT_REVOCATION_INFO = _CERT_REVOCATION_INFO; +pub type PCERT_REVOCATION_INFO = *mut _CERT_REVOCATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TRUST_LIST_INFO { + pub cbSize: DWORD, + pub pCtlEntry: PCTL_ENTRY, + pub pCtlContext: PCCTL_CONTEXT, +} +#[test] +fn bindgen_test_layout__CERT_TRUST_LIST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TRUST_LIST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TRUST_LIST_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_TRUST_LIST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TRUST_LIST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TRUST_LIST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(pCtlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(pCtlContext) + ) + ); +} +pub type CERT_TRUST_LIST_INFO = _CERT_TRUST_LIST_INFO; +pub type PCERT_TRUST_LIST_INFO = *mut _CERT_TRUST_LIST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_ELEMENT { + pub cbSize: DWORD, + pub pCertContext: PCCERT_CONTEXT, + pub TrustStatus: CERT_TRUST_STATUS, + pub pRevocationInfo: PCERT_REVOCATION_INFO, + pub pIssuanceUsage: PCERT_ENHKEY_USAGE, + pub pApplicationUsage: PCERT_ENHKEY_USAGE, + pub pwszExtendedErrorInfo: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_ELEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_ELEMENT>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pCertContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRevocationInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pRevocationInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuanceUsage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pIssuanceUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pApplicationUsage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pApplicationUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszExtendedErrorInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pwszExtendedErrorInfo) + ) + ); +} +pub type CERT_CHAIN_ELEMENT = _CERT_CHAIN_ELEMENT; +pub type PCERT_CHAIN_ELEMENT = *mut _CERT_CHAIN_ELEMENT; +pub type PCCERT_CHAIN_ELEMENT = *const CERT_CHAIN_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SIMPLE_CHAIN { + pub cbSize: DWORD, + pub TrustStatus: CERT_TRUST_STATUS, + pub cElement: DWORD, + pub rgpElement: *mut PCERT_CHAIN_ELEMENT, + pub pTrustListInfo: PCERT_TRUST_LIST_INFO, + pub fHasRevocationFreshnessTime: BOOL, + pub dwRevocationFreshnessTime: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SIMPLE_CHAIN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SIMPLE_CHAIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SIMPLE_CHAIN>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_SIMPLE_CHAIN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SIMPLE_CHAIN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SIMPLE_CHAIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElement) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(cElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpElement) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(rgpElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTrustListInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(pTrustListInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasRevocationFreshnessTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(fHasRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationFreshnessTime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(dwRevocationFreshnessTime) + ) + ); +} +pub type CERT_SIMPLE_CHAIN = _CERT_SIMPLE_CHAIN; +pub type PCERT_SIMPLE_CHAIN = *mut _CERT_SIMPLE_CHAIN; +pub type PCCERT_SIMPLE_CHAIN = *const CERT_SIMPLE_CHAIN; +pub type CERT_CHAIN_CONTEXT = _CERT_CHAIN_CONTEXT; +pub type PCERT_CHAIN_CONTEXT = *mut _CERT_CHAIN_CONTEXT; +pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_CONTEXT { + pub cbSize: DWORD, + pub TrustStatus: CERT_TRUST_STATUS, + pub cChain: DWORD, + pub rgpChain: *mut PCERT_SIMPLE_CHAIN, + pub cLowerQualityChainContext: DWORD, + pub rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT, + pub fHasRevocationFreshnessTime: BOOL, + pub dwRevocationFreshnessTime: DWORD, + pub dwCreateFlags: DWORD, + pub ChainId: GUID, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_CONTEXT>(), + 72usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChain) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpChain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(rgpChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLowerQualityChainContext) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cLowerQualityChainContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpLowerQualityChainContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(rgpLowerQualityChainContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasRevocationFreshnessTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(fHasRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationFreshnessTime) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(dwRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCreateFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(dwCreateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChainId) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(ChainId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_USAGE_MATCH { + pub dwType: DWORD, + pub Usage: CERT_ENHKEY_USAGE, +} +#[test] +fn bindgen_test_layout__CERT_USAGE_MATCH() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_USAGE_MATCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_USAGE_MATCH>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_USAGE_MATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_USAGE_MATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_USAGE_MATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_USAGE_MATCH), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_USAGE_MATCH), + "::", + stringify!(Usage) + ) + ); +} +pub type CERT_USAGE_MATCH = _CERT_USAGE_MATCH; +pub type PCERT_USAGE_MATCH = *mut _CERT_USAGE_MATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_USAGE_MATCH { + pub dwType: DWORD, + pub Usage: CTL_USAGE, +} +#[test] +fn bindgen_test_layout__CTL_USAGE_MATCH() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_USAGE_MATCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_USAGE_MATCH>(), + 24usize, + concat!("Size of: ", stringify!(_CTL_USAGE_MATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_USAGE_MATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_USAGE_MATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE_MATCH), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE_MATCH), + "::", + stringify!(Usage) + ) + ); +} +pub type CTL_USAGE_MATCH = _CTL_USAGE_MATCH; +pub type PCTL_USAGE_MATCH = *mut _CTL_USAGE_MATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_PARA { + pub cbSize: DWORD, + pub RequestedUsage: CERT_USAGE_MATCH, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestedUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_PARA), + "::", + stringify!(RequestedUsage) + ) + ); +} +pub type CERT_CHAIN_PARA = _CERT_CHAIN_PARA; +pub type PCERT_CHAIN_PARA = *mut _CERT_CHAIN_PARA; +extern "C" { + pub fn CertGetCertificateChain( + hChainEngine: HCERTCHAINENGINE, + pCertContext: PCCERT_CONTEXT, + pTime: LPFILETIME, + hAdditionalStore: HCERTSTORE, + pChainPara: PCERT_CHAIN_PARA, + dwFlags: DWORD, + pvReserved: LPVOID, + ppChainContext: *mut PCCERT_CHAIN_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChain(pChainContext: PCCERT_CHAIN_CONTEXT); +} +extern "C" { + pub fn CertDuplicateCertificateChain( + pChainContext: PCCERT_CHAIN_CONTEXT, + ) -> PCCERT_CHAIN_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_CHAIN_PARA { + pub cbSize: DWORD, + pub hChainEngine: HCERTCHAINENGINE, + pub hAdditionalStore: HCERTSTORE, + pub dwChainFlags: DWORD, + pub dwUrlRetrievalTimeout: DWORD, + pub pftCurrentTime: LPFILETIME, + pub pftCacheResync: LPFILETIME, + pub cbMaxUrlRetrievalByteCount: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_CHAIN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_CHAIN_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hChainEngine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(hChainEngine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hAdditionalStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(hAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChainFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(dwChainFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUrlRetrievalTimeout) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(dwUrlRetrievalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCurrentTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(pftCurrentTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMaxUrlRetrievalByteCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(cbMaxUrlRetrievalByteCount) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_REVOCATION_INFO { + pub pCrlEntry: PCRL_ENTRY, + pub pCrlContext: PCCRL_CONTEXT, + pub pCrlIssuerChain: PCCERT_CHAIN_CONTEXT, +} +#[test] +fn bindgen_test_layout__CRL_REVOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_REVOCATION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_REVOCATION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRL_REVOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_REVOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_REVOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlEntry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlIssuerChain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlIssuerChain) + ) + ); +} +pub type CRL_REVOCATION_INFO = _CRL_REVOCATION_INFO; +pub type PCRL_REVOCATION_INFO = *mut _CRL_REVOCATION_INFO; +extern "C" { + pub fn CertFindChainInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevChainContext: PCCERT_CHAIN_CONTEXT, + ) -> PCCERT_CHAIN_CONTEXT; +} +pub type PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(pCert: PCCERT_CONTEXT, pvFindArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_FIND_BY_ISSUER_PARA { + pub cbSize: DWORD, + pub pszUsageIdentifier: LPCSTR, + pub dwKeySpec: DWORD, + pub dwAcquirePrivateKeyFlags: DWORD, + pub cIssuer: DWORD, + pub rgIssuer: *mut CERT_NAME_BLOB, + pub pfnFindCallback: PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, + pub pvFindArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_FIND_BY_ISSUER_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_FIND_BY_ISSUER_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsageIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pszUsageIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAcquirePrivateKeyFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(dwAcquirePrivateKeyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cIssuer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(cIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgIssuer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(rgIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFindCallback) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pfnFindCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFindArg) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pvFindArg) + ) + ); +} +pub type CERT_CHAIN_FIND_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type PCERT_CHAIN_FIND_ISSUER_PARA = *mut _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type CERT_CHAIN_FIND_BY_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type PCERT_CHAIN_FIND_BY_ISSUER_PARA = *mut _CERT_CHAIN_FIND_BY_ISSUER_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub pvExtraPolicyPara: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvExtraPolicyPara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pvExtraPolicyPara) + ) + ); +} +pub type CERT_CHAIN_POLICY_PARA = _CERT_CHAIN_POLICY_PARA; +pub type PCERT_CHAIN_POLICY_PARA = *mut _CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwError: DWORD, + pub lChainIndex: LONG, + pub lElementIndex: LONG, + pub pvExtraPolicyStatus: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_POLICY_STATUS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_POLICY_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lChainIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lChainIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lElementIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lElementIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvExtraPolicyStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(pvExtraPolicyStatus) + ) + ); +} +pub type CERT_CHAIN_POLICY_STATUS = _CERT_CHAIN_POLICY_STATUS; +pub type PCERT_CHAIN_POLICY_STATUS = *mut _CERT_CHAIN_POLICY_STATUS; +extern "C" { + pub fn CertVerifyCertificateChainPolicy( + pszPolicyOID: LPCSTR, + pChainContext: PCCERT_CHAIN_CONTEXT, + pPolicyPara: PCERT_CHAIN_POLICY_PARA, + pPolicyStatus: PCERT_CHAIN_POLICY_STATUS, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRegPolicySettings: DWORD, + pub pSignerInfo: PCMSG_SIGNER_INFO, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRegPolicySettings) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRegPolicySettings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSignerInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pSignerInfo) + ) + ); +} +pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub fCommercial: BOOL, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 8usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCommercial) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(fCommercial) + ) + ); +} +pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = + *mut _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRegPolicySettings: DWORD, + pub fCommercial: BOOL, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 12usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRegPolicySettings) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRegPolicySettings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCommercial) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(fCommercial) + ) + ); +} +pub type AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = + _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _HTTPSPolicyCallbackData { + pub __bindgen_anon_1: _HTTPSPolicyCallbackData__bindgen_ty_1, + pub dwAuthType: DWORD, + pub fdwChecks: DWORD, + pub pwszServerName: *mut WCHAR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _HTTPSPolicyCallbackData__bindgen_ty_1 { + pub cbStruct: DWORD, + pub cbSize: DWORD, +} +#[test] +fn bindgen_test_layout__HTTPSPolicyCallbackData__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_HTTPSPolicyCallbackData__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HTTPSPolicyCallbackData__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_HTTPSPolicyCallbackData__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), + "::", + stringify!(cbSize) + ) + ); +} +#[test] +fn bindgen_test_layout__HTTPSPolicyCallbackData() { + const UNINIT: ::std::mem::MaybeUninit<_HTTPSPolicyCallbackData> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HTTPSPolicyCallbackData>(), + 24usize, + concat!("Size of: ", stringify!(_HTTPSPolicyCallbackData)) + ); + assert_eq!( + ::std::mem::align_of::<_HTTPSPolicyCallbackData>(), + 8usize, + concat!("Alignment of ", stringify!(_HTTPSPolicyCallbackData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(dwAuthType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwChecks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(fdwChecks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(pwszServerName) + ) + ); +} +pub type HTTPSPolicyCallbackData = _HTTPSPolicyCallbackData; +pub type PHTTPSPolicyCallbackData = *mut _HTTPSPolicyCallbackData; +pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = _HTTPSPolicyCallbackData; +pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _HTTPSPolicyCallbackData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EV_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRootProgramQualifierFlags: DWORD, +} +#[test] +fn bindgen_test_layout__EV_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_EV_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!("Size of: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRootProgramQualifierFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRootProgramQualifierFlags) + ) + ); +} +pub type EV_EXTRA_CERT_CHAIN_POLICY_PARA = _EV_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PEV_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _EV_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EV_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwQualifiers: DWORD, + pub dwIssuanceUsageIndex: DWORD, +} +#[test] +fn bindgen_test_layout__EV_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 12usize, + concat!("Size of: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwQualifiers) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwQualifiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIssuanceUsageIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwIssuanceUsageIndex) + ) + ); +} +pub type EV_EXTRA_CERT_CHAIN_POLICY_STATUS = _EV_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PEV_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut _EV_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwErrorLevel: DWORD, + pub dwErrorCategory: DWORD, + pub dwReserved: DWORD, + pub wszErrorText: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 528usize, + concat!( + "Size of: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwErrorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorCategory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwErrorCategory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wszErrorText) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(wszErrorText) + ) + ); +} +pub type SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwReserved: DWORD, + pub pwszServerName: LPWSTR, + pub rgpszHpkpValue: [LPSTR; 2usize], +} +#[test] +fn bindgen_test_layout__SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 32usize, + concat!( + "Size of: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pwszServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszHpkpValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(rgpszHpkpValue) + ) + ); +} +pub type SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = + _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwReserved: DWORD, + pub pwszServerName: PCWSTR, +} +#[test] +fn bindgen_test_layout__SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pwszServerName) + ) + ); +} +pub type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub lError: LONG, + pub wszErrorText: [WCHAR; 512usize], +} +#[test] +fn bindgen_test_layout__SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 1032usize, + concat!( + "Size of: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wszErrorText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(wszErrorText) + ) + ); +} +pub type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = + *mut _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; +extern "C" { + pub fn CryptStringToBinaryA( + pszString: LPCSTR, + cchString: DWORD, + dwFlags: DWORD, + pbBinary: *mut BYTE, + pcbBinary: *mut DWORD, + pdwSkip: *mut DWORD, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptStringToBinaryW( + pszString: LPCWSTR, + cchString: DWORD, + dwFlags: DWORD, + pbBinary: *mut BYTE, + pcbBinary: *mut DWORD, + pdwSkip: *mut DWORD, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptBinaryToStringA( + pbBinary: *const BYTE, + cbBinary: DWORD, + dwFlags: DWORD, + pszString: LPSTR, + pcchString: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptBinaryToStringW( + pbBinary: *const BYTE, + cbBinary: DWORD, + dwFlags: DWORD, + pszString: LPWSTR, + pcchString: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS12_PBE_PARAMS { + pub iIterations: ::std::os::raw::c_int, + pub cbSalt: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS12_PBE_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS12_PBE_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS12_PBE_PARAMS>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS12_PBE_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS12_PBE_PARAMS>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS12_PBE_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIterations) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS12_PBE_PARAMS), + "::", + stringify!(iIterations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSalt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS12_PBE_PARAMS), + "::", + stringify!(cbSalt) + ) + ); +} +pub type CRYPT_PKCS12_PBE_PARAMS = _CRYPT_PKCS12_PBE_PARAMS; +extern "C" { + pub fn PFXImportCertStore( + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> HCERTSTORE; +} +extern "C" { + pub fn PFXIsPFXBlob(pPFX: *mut CRYPT_DATA_BLOB) -> BOOL; +} +extern "C" { + pub fn PFXVerifyPassword( + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PFXExportCertStoreEx( + hStore: HCERTSTORE, + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + pvPara: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PKCS12_PBES2_EXPORT_PARAMS { + pub dwSize: DWORD, + pub hNcryptDescriptor: PVOID, + pub pwszPbes2Alg: LPWSTR, +} +#[test] +fn bindgen_test_layout__PKCS12_PBES2_EXPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_PKCS12_PBES2_EXPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PKCS12_PBES2_EXPORT_PARAMS>(), + 24usize, + concat!("Size of: ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_PKCS12_PBES2_EXPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNcryptDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(hNcryptDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszPbes2Alg) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(pwszPbes2Alg) + ) + ); +} +pub type PKCS12_PBES2_EXPORT_PARAMS = _PKCS12_PBES2_EXPORT_PARAMS; +pub type PPKCS12_PBES2_EXPORT_PARAMS = *mut _PKCS12_PBES2_EXPORT_PARAMS; +extern "C" { + pub fn PFXExportCertStore( + hStore: HCERTSTORE, + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +pub type HCERT_SERVER_OCSP_RESPONSE = *mut ::std::os::raw::c_void; +pub type CERT_SERVER_OCSP_RESPONSE_CONTEXT = _CERT_SERVER_OCSP_RESPONSE_CONTEXT; +pub type PCERT_SERVER_OCSP_RESPONSE_CONTEXT = *mut _CERT_SERVER_OCSP_RESPONSE_CONTEXT; +pub type PCCERT_SERVER_OCSP_RESPONSE_CONTEXT = *const CERT_SERVER_OCSP_RESPONSE_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SERVER_OCSP_RESPONSE_CONTEXT { + pub cbSize: DWORD, + pub pbEncodedOcspResponse: *mut BYTE, + pub cbEncodedOcspResponse: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SERVER_OCSP_RESPONSE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SERVER_OCSP_RESPONSE_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncodedOcspResponse) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(pbEncodedOcspResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncodedOcspResponse) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(cbEncodedOcspResponse) + ) + ); +} +pub type PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + pChainContext: PCCERT_CHAIN_CONTEXT, + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + pNewCrlContext: PCCRL_CONTEXT, + pPrevCrlContext: PCCRL_CONTEXT, + pvArg: PVOID, + dwWriteOcspFileError: DWORD, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub pcbUsedSize: *mut DWORD, + pub pwszOcspDirectory: PWSTR, + pub pfnUpdateCallback: PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, + pub pvUpdateCallbackArg: PVOID, +} +#[test] +fn bindgen_test_layout__CERT_SERVER_OCSP_RESPONSE_OPEN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>(), + 40usize, + concat!( + "Size of: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcbUsedSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pcbUsedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszOcspDirectory) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pwszOcspDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUpdateCallback) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pfnUpdateCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUpdateCallbackArg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pvUpdateCallbackArg) + ) + ); +} +pub type CERT_SERVER_OCSP_RESPONSE_OPEN_PARA = _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; +pub type PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA = *mut _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; +extern "C" { + pub fn CertOpenServerOcspResponse( + pChainContext: PCCERT_CHAIN_CONTEXT, + dwFlags: DWORD, + pOpenPara: PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA, + ) -> HCERT_SERVER_OCSP_RESPONSE; +} +extern "C" { + pub fn CertAddRefServerOcspResponse(hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE); +} +extern "C" { + pub fn CertCloseServerOcspResponse( + hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, + dwFlags: DWORD, + ); +} +extern "C" { + pub fn CertGetServerOcspResponseContext( + hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> PCCERT_SERVER_OCSP_RESPONSE_CONTEXT; +} +extern "C" { + pub fn CertAddRefServerOcspResponseContext( + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + ); +} +extern "C" { + pub fn CertFreeServerOcspResponseContext( + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + ); +} +extern "C" { + pub fn CertRetrieveLogoOrBiometricInfo( + pCertContext: PCCERT_CONTEXT, + lpszLogoOrBiometricType: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ppbData: *mut *mut BYTE, + pcbData: *mut DWORD, + ppwszMimeType: *mut LPWSTR, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SELECT_CHAIN_PARA { + pub hChainEngine: HCERTCHAINENGINE, + pub pTime: PFILETIME, + pub hAdditionalStore: HCERTSTORE, + pub pChainPara: PCERT_CHAIN_PARA, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SELECT_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SELECT_CHAIN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SELECT_CHAIN_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_SELECT_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SELECT_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SELECT_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hChainEngine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(hChainEngine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(pTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hAdditionalStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(hAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChainPara) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(pChainPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CERT_SELECT_CHAIN_PARA = _CERT_SELECT_CHAIN_PARA; +pub type PCERT_SELECT_CHAIN_PARA = *mut _CERT_SELECT_CHAIN_PARA; +pub type PCCERT_SELECT_CHAIN_PARA = *const CERT_SELECT_CHAIN_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SELECT_CRITERIA { + pub dwType: DWORD, + pub cPara: DWORD, + pub ppPara: *mut *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_SELECT_CRITERIA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SELECT_CRITERIA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SELECT_CRITERIA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_SELECT_CRITERIA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SELECT_CRITERIA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SELECT_CRITERIA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPara) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(cPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppPara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(ppPara) + ) + ); +} +pub type CERT_SELECT_CRITERIA = _CERT_SELECT_CRITERIA; +pub type PCERT_SELECT_CRITERIA = *mut _CERT_SELECT_CRITERIA; +pub type PCCERT_SELECT_CRITERIA = *const CERT_SELECT_CRITERIA; +extern "C" { + pub fn CertSelectCertificateChains( + pSelectionContext: LPCGUID, + dwFlags: DWORD, + pChainParameters: PCCERT_SELECT_CHAIN_PARA, + cCriteria: DWORD, + rgpCriteria: PCCERT_SELECT_CRITERIA, + hStore: HCERTSTORE, + pcSelection: PDWORD, + pprgpSelection: *mut *mut PCCERT_CHAIN_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChainList(prgpSelection: *mut PCCERT_CHAIN_CONTEXT); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_REQUEST { + pub dwVersion: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashedMessage: CRYPT_DER_BLOB, + pub pszTSAPolicyId: LPSTR, + pub Nonce: CRYPT_INTEGER_BLOB, + pub fCertReq: BOOL, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_REQUEST>(), + 88usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedMessage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(HashedMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCertReq) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(fCertReq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_REQUEST = _CRYPT_TIMESTAMP_REQUEST; +pub type PCRYPT_TIMESTAMP_REQUEST = *mut _CRYPT_TIMESTAMP_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_RESPONSE { + pub dwStatus: DWORD, + pub cFreeText: DWORD, + pub rgFreeText: *mut LPWSTR, + pub FailureInfo: CRYPT_BIT_BLOB, + pub ContentInfo: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_RESPONSE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_RESPONSE>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_RESPONSE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_RESPONSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFreeText) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(cFreeText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgFreeText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(rgFreeText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(FailureInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(ContentInfo) + ) + ); +} +pub type CRYPT_TIMESTAMP_RESPONSE = _CRYPT_TIMESTAMP_RESPONSE; +pub type PCRYPT_TIMESTAMP_RESPONSE = *mut _CRYPT_TIMESTAMP_RESPONSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_ACCURACY { + pub dwSeconds: DWORD, + pub dwMillis: DWORD, + pub dwMicros: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_ACCURACY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_ACCURACY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_ACCURACY>(), + 12usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_ACCURACY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_ACCURACY>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_ACCURACY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeconds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwSeconds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMillis) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwMillis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMicros) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwMicros) + ) + ); +} +pub type CRYPT_TIMESTAMP_ACCURACY = _CRYPT_TIMESTAMP_ACCURACY; +pub type PCRYPT_TIMESTAMP_ACCURACY = *mut _CRYPT_TIMESTAMP_ACCURACY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_INFO { + pub dwVersion: DWORD, + pub pszTSAPolicyId: LPSTR, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashedMessage: CRYPT_DER_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub ftTime: FILETIME, + pub pvAccuracy: PCRYPT_TIMESTAMP_ACCURACY, + pub fOrdering: BOOL, + pub Nonce: CRYPT_DER_BLOB, + pub Tsa: CRYPT_DER_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_INFO>(), + 144usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedMessage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(HashedMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftTime) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(ftTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvAccuracy) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(pvAccuracy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOrdering) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(fOrdering) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tsa) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(Tsa) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_INFO = _CRYPT_TIMESTAMP_INFO; +pub type PCRYPT_TIMESTAMP_INFO = *mut _CRYPT_TIMESTAMP_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_CONTEXT { + pub cbEncoded: DWORD, + pub pbEncoded: *mut BYTE, + pub pTimeStamp: PCRYPT_TIMESTAMP_INFO, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncoded) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(cbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(pbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTimeStamp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(pTimeStamp) + ) + ); +} +pub type CRYPT_TIMESTAMP_CONTEXT = _CRYPT_TIMESTAMP_CONTEXT; +pub type PCRYPT_TIMESTAMP_CONTEXT = *mut _CRYPT_TIMESTAMP_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_PARA { + pub pszTSAPolicyId: LPCSTR, + pub fRequestCerts: BOOL, + pub Nonce: CRYPT_INTEGER_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRequestCerts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(fRequestCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_PARA = _CRYPT_TIMESTAMP_PARA; +pub type PCRYPT_TIMESTAMP_PARA = *mut _CRYPT_TIMESTAMP_PARA; +extern "C" { + pub fn CryptRetrieveTimeStamp( + wszUrl: LPCWSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + pszHashId: LPCSTR, + pPara: *const CRYPT_TIMESTAMP_PARA, + pbData: *const BYTE, + cbData: DWORD, + ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, + ppTsSigner: *mut PCCERT_CONTEXT, + phStore: *mut HCERTSTORE, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyTimeStampSignature( + pbTSContentInfo: *const BYTE, + cbTSContentInfo: DWORD, + pbData: *const BYTE, + cbData: DWORD, + hAdditionalStore: HCERTSTORE, + ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, + ppTsSigner: *mut PCCERT_CONTEXT, + phStore: *mut HCERTSTORE, + ) -> BOOL; +} +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH = ::std::option::Option< + unsafe extern "C" fn( + pContext: LPVOID, + rgIdentifierOrNameList: *mut PCERT_NAME_BLOB, + dwIdentifierOrNameListCount: DWORD, + ) -> BOOL, +>; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET = ::std::option::Option< + unsafe extern "C" fn( + pPluginContext: LPVOID, + pIdentifier: PCRYPT_DATA_BLOB, + dwNameType: DWORD, + pNameBlob: PCERT_NAME_BLOB, + ppbContent: *mut PBYTE, + pcbContent: *mut DWORD, + ppwszPassword: *mut PCWSTR, + ppIdentifier: *mut PCRYPT_DATA_BLOB, + ) -> BOOL, +>; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER = ::std::option::Option< + unsafe extern "C" fn(pPluginContext: LPVOID, pIdentifier: PCRYPT_DATA_BLOB), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE { + pub cbSize: DWORD, + pub pfnGet: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET, + pub pfnRelease: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE, + pub pfnFreePassword: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD, + pub pfnFree: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE, + pub pfnFreeIdentifier: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER, +} +#[test] +fn bindgen_test_layout__CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnGet) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnGet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnRelease) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreePassword) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFreePassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeIdentifier) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFreeIdentifier) + ) + ); +} +pub type CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE = _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; +pub type PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE = *mut _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE = ::std::option::Option< + unsafe extern "C" fn( + pfnFlush: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH, + pContext: LPVOID, + pdwExpectedObjectCount: *mut DWORD, + ppFuncTable: *mut PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, + ppPluginContext: *mut *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CertIsWeakHash( + dwHashUseType: DWORD, + pwszCNGHashAlgid: LPCWSTR, + dwChainFlags: DWORD, + pSignerChainContext: PCCERT_CHAIN_CONTEXT, + pTimeStamp: LPFILETIME, + pwszFileName: LPCWSTR, + ) -> BOOL; +} +pub type PFN_CERT_IS_WEAK_HASH = ::std::option::Option< + unsafe extern "C" fn( + dwHashUseType: DWORD, + pwszCNGHashAlgid: LPCWSTR, + dwChainFlags: DWORD, + pSignerChainContext: PCCERT_CHAIN_CONTEXT, + pTimeStamp: LPFILETIME, + pwszFileName: LPCWSTR, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTPROTECT_PROMPTSTRUCT { + pub cbSize: DWORD, + pub dwPromptFlags: DWORD, + pub hwndApp: HWND, + pub szPrompt: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CRYPTPROTECT_PROMPTSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTPROTECT_PROMPTSTRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTPROTECT_PROMPTSTRUCT>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTPROTECT_PROMPTSTRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPromptFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(dwPromptFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndApp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(hwndApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPrompt) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(szPrompt) + ) + ); +} +pub type CRYPTPROTECT_PROMPTSTRUCT = _CRYPTPROTECT_PROMPTSTRUCT; +pub type PCRYPTPROTECT_PROMPTSTRUCT = *mut _CRYPTPROTECT_PROMPTSTRUCT; +extern "C" { + pub fn CryptProtectData( + pDataIn: *mut DATA_BLOB, + szDataDescr: LPCWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectData( + pDataIn: *mut DATA_BLOB, + ppszDataDescr: *mut LPWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptProtectDataNoUI( + pDataIn: *mut DATA_BLOB, + szDataDescr: LPCWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pbOptionalPassword: *const BYTE, + cbOptionalPassword: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectDataNoUI( + pDataIn: *mut DATA_BLOB, + ppszDataDescr: *mut LPWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pbOptionalPassword: *const BYTE, + cbOptionalPassword: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUpdateProtectedState( + pOldSid: PSID, + pwszOldPassword: LPCWSTR, + dwFlags: DWORD, + pdwSuccessCount: *mut DWORD, + pdwFailureCount: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptProtectMemory(pDataIn: LPVOID, cbDataIn: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectMemory(pDataIn: LPVOID, cbDataIn: DWORD, dwFlags: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERTIFICATE_BLOB { + pub dwCertEncodingType: DWORD, + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__CERTIFICATE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CERTIFICATE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERTIFICATE_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CERTIFICATE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CERTIFICATE_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CERTIFICATE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_CERTIFICATE_BLOB = _CERTIFICATE_BLOB; +pub type PEFS_CERTIFICATE_BLOB = *mut _CERTIFICATE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_HASH_BLOB { + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_HASH_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_HASH_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_HASH_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_HASH_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_HASH_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_HASH_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_HASH_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_HASH_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_HASH_BLOB = _EFS_HASH_BLOB; +pub type PEFS_HASH_BLOB = *mut _EFS_HASH_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_RPC_BLOB { + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_RPC_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_RPC_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_RPC_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_RPC_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_RPC_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_RPC_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_RPC_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_RPC_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_RPC_BLOB = _EFS_RPC_BLOB; +pub type PEFS_RPC_BLOB = *mut _EFS_RPC_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_PIN_BLOB { + pub cbPadding: DWORD, + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_PIN_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_PIN_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_PIN_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_PIN_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_PIN_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_PIN_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPadding) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(cbPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_PIN_BLOB = _EFS_PIN_BLOB; +pub type PEFS_PIN_BLOB = *mut _EFS_PIN_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_KEY_INFO { + pub dwVersion: DWORD, + pub Entropy: ULONG, + pub Algorithm: ALG_ID, + pub KeyLength: ULONG, +} +#[test] +fn bindgen_test_layout__EFS_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_KEY_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_KEY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Entropy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(Entropy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(KeyLength) + ) + ); +} +pub type EFS_KEY_INFO = _EFS_KEY_INFO; +pub type PEFS_KEY_INFO = *mut _EFS_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_COMPATIBILITY_INFO { + pub EfsVersion: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_COMPATIBILITY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_COMPATIBILITY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_COMPATIBILITY_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EFS_COMPATIBILITY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_COMPATIBILITY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_COMPATIBILITY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_COMPATIBILITY_INFO), + "::", + stringify!(EfsVersion) + ) + ); +} +pub type EFS_COMPATIBILITY_INFO = _EFS_COMPATIBILITY_INFO; +pub type PEFS_COMPATIBILITY_INFO = *mut _EFS_COMPATIBILITY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_VERSION_INFO { + pub EfsVersion: DWORD, + pub SubVersion: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_VERSION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_VERSION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_EFS_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_VERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_VERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_VERSION_INFO), + "::", + stringify!(EfsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_VERSION_INFO), + "::", + stringify!(SubVersion) + ) + ); +} +pub type EFS_VERSION_INFO = _EFS_VERSION_INFO; +pub type PEFS_VERSION_INFO = *mut _EFS_VERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_DECRYPTION_STATUS_INFO { + pub dwDecryptionError: DWORD, + pub dwHashOffset: DWORD, + pub cbHash: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_DECRYPTION_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_DECRYPTION_STATUS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_DECRYPTION_STATUS_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_EFS_DECRYPTION_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_DECRYPTION_STATUS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_DECRYPTION_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDecryptionError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(dwDecryptionError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHashOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(dwHashOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbHash) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(cbHash) + ) + ); +} +pub type EFS_DECRYPTION_STATUS_INFO = _EFS_DECRYPTION_STATUS_INFO; +pub type PEFS_DECRYPTION_STATUS_INFO = *mut _EFS_DECRYPTION_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_ENCRYPTION_STATUS_INFO { + pub bHasCurrentKey: BOOL, + pub dwEncryptionError: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_ENCRYPTION_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_ENCRYPTION_STATUS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_ENCRYPTION_STATUS_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_EFS_ENCRYPTION_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_ENCRYPTION_STATUS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_ENCRYPTION_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bHasCurrentKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_ENCRYPTION_STATUS_INFO), + "::", + stringify!(bHasCurrentKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEncryptionError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_ENCRYPTION_STATUS_INFO), + "::", + stringify!(dwEncryptionError) + ) + ); +} +pub type EFS_ENCRYPTION_STATUS_INFO = _EFS_ENCRYPTION_STATUS_INFO; +pub type PEFS_ENCRYPTION_STATUS_INFO = *mut _EFS_ENCRYPTION_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub pCertBlob: PEFS_CERTIFICATE_BLOB, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE>(), + 24usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertBlob) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(pCertBlob) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE = _ENCRYPTION_CERTIFICATE; +pub type PENCRYPTION_CERTIFICATE = *mut _ENCRYPTION_CERTIFICATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_HASH { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub pHash: PEFS_HASH_BLOB, + pub lpDisplayInformation: LPWSTR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_HASH() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_HASH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_HASH>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_HASH>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE_HASH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(pHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayInformation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(lpDisplayInformation) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_HASH = _ENCRYPTION_CERTIFICATE_HASH; +pub type PENCRYPTION_CERTIFICATE_HASH = *mut _ENCRYPTION_CERTIFICATE_HASH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_HASH_LIST { + pub nCert_Hash: DWORD, + pub pUsers: *mut PENCRYPTION_CERTIFICATE_HASH, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_HASH_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_HASH_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_HASH_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_HASH_LIST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCert_Hash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST), + "::", + stringify!(nCert_Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST), + "::", + stringify!(pUsers) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_HASH_LIST = _ENCRYPTION_CERTIFICATE_HASH_LIST; +pub type PENCRYPTION_CERTIFICATE_HASH_LIST = *mut _ENCRYPTION_CERTIFICATE_HASH_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_LIST { + pub nUsers: DWORD, + pub pUsers: *mut PENCRYPTION_CERTIFICATE, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nUsers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_LIST), + "::", + stringify!(nUsers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_LIST), + "::", + stringify!(pUsers) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_LIST = _ENCRYPTION_CERTIFICATE_LIST; +pub type PENCRYPTION_CERTIFICATE_LIST = *mut _ENCRYPTION_CERTIFICATE_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTED_FILE_METADATA_SIGNATURE { + pub dwEfsAccessType: DWORD, + pub pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, + pub pEncryptionCertificate: PENCRYPTION_CERTIFICATE, + pub pEfsStreamSignature: PEFS_RPC_BLOB, +} +#[test] +fn bindgen_test_layout__ENCRYPTED_FILE_METADATA_SIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTED_FILE_METADATA_SIGNATURE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTED_FILE_METADATA_SIGNATURE>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTED_FILE_METADATA_SIGNATURE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEfsAccessType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(dwEfsAccessType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertificatesAdded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pCertificatesAdded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEncryptionCertificate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pEncryptionCertificate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEfsStreamSignature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pEfsStreamSignature) + ) + ); +} +pub type ENCRYPTED_FILE_METADATA_SIGNATURE = _ENCRYPTED_FILE_METADATA_SIGNATURE; +pub type PENCRYPTED_FILE_METADATA_SIGNATURE = *mut _ENCRYPTED_FILE_METADATA_SIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_PROTECTOR { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub lpProtectorDescriptor: LPWSTR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_PROTECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_PROTECTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_PROTECTOR>(), + 24usize, + concat!("Size of: ", stringify!(_ENCRYPTION_PROTECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_PROTECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_PROTECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProtectorDescriptor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(lpProtectorDescriptor) + ) + ); +} +pub type ENCRYPTION_PROTECTOR = _ENCRYPTION_PROTECTOR; +pub type PENCRYPTION_PROTECTOR = *mut _ENCRYPTION_PROTECTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_PROTECTOR_LIST { + pub nProtectors: DWORD, + pub pProtectors: *mut PENCRYPTION_PROTECTOR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_PROTECTOR_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_PROTECTOR_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_PROTECTOR_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_PROTECTOR_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_PROTECTOR_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_PROTECTOR_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nProtectors) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR_LIST), + "::", + stringify!(nProtectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR_LIST), + "::", + stringify!(pProtectors) + ) + ); +} +pub type ENCRYPTION_PROTECTOR_LIST = _ENCRYPTION_PROTECTOR_LIST; +pub type PENCRYPTION_PROTECTOR_LIST = *mut _ENCRYPTION_PROTECTOR_LIST; +extern "C" { + pub fn QueryUsersOnEncryptedFile( + lpFileName: LPCWSTR, + pUsers: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn QueryRecoveryAgentsOnEncryptedFile( + lpFileName: LPCWSTR, + pRecoveryAgents: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn RemoveUsersFromEncryptedFile( + lpFileName: LPCWSTR, + pHashes: PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn AddUsersToEncryptedFile( + lpFileName: LPCWSTR, + pEncryptionCertificates: PENCRYPTION_CERTIFICATE_LIST, + ) -> DWORD; +} +extern "C" { + pub fn SetUserFileEncryptionKey(pEncryptionCertificate: PENCRYPTION_CERTIFICATE) -> DWORD; +} +extern "C" { + pub fn SetUserFileEncryptionKeyEx( + pEncryptionCertificate: PENCRYPTION_CERTIFICATE, + dwCapabilities: DWORD, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn FreeEncryptionCertificateHashList(pUsers: PENCRYPTION_CERTIFICATE_HASH_LIST); +} +extern "C" { + pub fn EncryptionDisable(DirPath: LPCWSTR, Disable: BOOL) -> BOOL; +} +extern "C" { + pub fn DuplicateEncryptionInfoFile( + SrcFileName: LPCWSTR, + DstFileName: LPCWSTR, + dwCreationDistribution: DWORD, + dwAttributes: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> DWORD; +} +extern "C" { + pub fn GetEncryptedFileMetadata( + lpFileName: LPCWSTR, + pcbMetadata: PDWORD, + ppbMetadata: *mut PBYTE, + ) -> DWORD; +} +extern "C" { + pub fn SetEncryptedFileMetadata( + lpFileName: LPCWSTR, + pbOldMetadata: PBYTE, + pbNewMetadata: PBYTE, + pOwnerHash: PENCRYPTION_CERTIFICATE_HASH, + dwOperation: DWORD, + pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn FreeEncryptedFileMetadata(pbMetadata: PBYTE); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_IMPORT_CONTEXT_P { + pub LookupContext: RPC_NS_HANDLE, + pub ProposedHandle: RPC_BINDING_HANDLE, + pub Bindings: *mut RPC_BINDING_VECTOR, +} +#[test] +fn bindgen_test_layout_RPC_IMPORT_CONTEXT_P() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_IMPORT_CONTEXT_P)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_IMPORT_CONTEXT_P)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LookupContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(LookupContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProposedHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(ProposedHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bindings) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(Bindings) + ) + ); +} +pub type PRPC_IMPORT_CONTEXT_P = *mut RPC_IMPORT_CONTEXT_P; +extern "C" { + pub fn I_RpcNsGetBuffer(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsSendReceive(Message: PRPC_MESSAGE, Handle: *mut RPC_BINDING_HANDLE) + -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsRaiseException(Message: PRPC_MESSAGE, Status: RPC_STATUS); +} +extern "C" { + pub fn I_RpcReBindBuffer(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_NsServerBindSearch() -> RPC_STATUS; +} +extern "C" { + pub fn I_NsClientBindSearch() -> RPC_STATUS; +} +extern "C" { + pub fn I_NsClientBindDone(); +} +pub type byte = ::std::os::raw::c_uchar; +pub type cs_byte = byte; +pub type boolean = ::std::os::raw::c_uchar; +extern "C" { + pub fn MIDL_user_allocate(size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn MIDL_user_free(arg1: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn I_RpcDefaultAllocate( + bh: handle_t, + size: usize, + RealAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcDefaultFree( + bh: handle_t, + arg1: *mut ::std::os::raw::c_void, + RealFree: ::std::option::Option, + ); +} +pub type NDR_CCONTEXT = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_SCONTEXT { + pub pad: [*mut ::std::os::raw::c_void; 2usize], + pub userContext: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__NDR_SCONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_SCONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_SCONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_NDR_SCONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_SCONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_SCONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_SCONTEXT), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).userContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NDR_SCONTEXT), + "::", + stringify!(userContext) + ) + ); +} +pub type NDR_SCONTEXT = *mut _NDR_SCONTEXT; +pub type NDR_RUNDOWN = + ::std::option::Option; +pub type NDR_NOTIFY_ROUTINE = ::std::option::Option; +pub type NDR_NOTIFY2_ROUTINE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCONTEXT_QUEUE { + pub NumberOfObjects: ::std::os::raw::c_ulong, + pub ArrayOfObjects: *mut NDR_SCONTEXT, +} +#[test] +fn bindgen_test_layout__SCONTEXT_QUEUE() { + const UNINIT: ::std::mem::MaybeUninit<_SCONTEXT_QUEUE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCONTEXT_QUEUE>(), + 16usize, + concat!("Size of: ", stringify!(_SCONTEXT_QUEUE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCONTEXT_QUEUE>(), + 8usize, + concat!("Alignment of ", stringify!(_SCONTEXT_QUEUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfObjects) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCONTEXT_QUEUE), + "::", + stringify!(NumberOfObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArrayOfObjects) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCONTEXT_QUEUE), + "::", + stringify!(ArrayOfObjects) + ) + ); +} +pub type SCONTEXT_QUEUE = _SCONTEXT_QUEUE; +pub type PSCONTEXT_QUEUE = *mut _SCONTEXT_QUEUE; +extern "C" { + pub fn NDRCContextBinding(CContext: NDR_CCONTEXT) -> RPC_BINDING_HANDLE; +} +extern "C" { + pub fn NDRCContextMarshall(CContext: NDR_CCONTEXT, pBuff: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NDRCContextUnmarshall( + pCContext: *mut NDR_CCONTEXT, + hBinding: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRCContextUnmarshall2( + pCContext: *mut NDR_CCONTEXT, + hBinding: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRSContextMarshall( + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NDRSContextUnmarshall( + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NDRSContextMarshallEx( + BindingHandle: RPC_BINDING_HANDLE, + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NDRSContextMarshall2( + BindingHandle: RPC_BINDING_HANDLE, + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + CtxGuard: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRSContextUnmarshallEx( + BindingHandle: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NDRSContextUnmarshall2( + BindingHandle: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + CtxGuard: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn RpcSsDestroyClientContext(ContextHandle: *mut *mut ::std::os::raw::c_void); +} +pub type error_status_t = ::std::os::raw::c_ulong; +pub type RPC_BUFPTR = *mut ::std::os::raw::c_uchar; +pub type RPC_LENGTH = ::std::os::raw::c_ulong; +pub type EXPR_EVAL = ::std::option::Option; +pub type PFORMAT_STRING = *const ::std::os::raw::c_uchar; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ARRAY_INFO { + pub Dimension: ::std::os::raw::c_long, + pub BufferConformanceMark: *mut ::std::os::raw::c_ulong, + pub BufferVarianceMark: *mut ::std::os::raw::c_ulong, + pub MaxCountArray: *mut ::std::os::raw::c_ulong, + pub OffsetArray: *mut ::std::os::raw::c_ulong, + pub ActualCountArray: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_ARRAY_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(ARRAY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ARRAY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dimension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(Dimension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferConformanceMark) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(BufferConformanceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferVarianceMark) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(BufferVarianceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCountArray) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(MaxCountArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetArray) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(OffsetArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualCountArray) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(ActualCountArray) + ) + ); +} +pub type PARRAY_INFO = *mut ARRAY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_ASYNC_MESSAGE { + _unused: [u8; 0], +} +pub type PNDR_ASYNC_MESSAGE = *mut _NDR_ASYNC_MESSAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CORRELATION_INFO { + _unused: [u8; 0], +} +pub type PNDR_CORRELATION_INFO = *mut _NDR_CORRELATION_INFO; +pub type MIDL_SYNTAX_INFO = _MIDL_SYNTAX_INFO; +pub type PMIDL_SYNTAX_INFO = *mut _MIDL_SYNTAX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NDR_ALLOC_ALL_NODES_CONTEXT { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NDR_POINTER_QUEUE_STATE { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_PROC_CONTEXT { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_STUB_MESSAGE { + pub RpcMsg: PRPC_MESSAGE, + pub Buffer: *mut ::std::os::raw::c_uchar, + pub BufferStart: *mut ::std::os::raw::c_uchar, + pub BufferEnd: *mut ::std::os::raw::c_uchar, + pub BufferMark: *mut ::std::os::raw::c_uchar, + pub BufferLength: ::std::os::raw::c_ulong, + pub MemorySize: ::std::os::raw::c_ulong, + pub Memory: *mut ::std::os::raw::c_uchar, + pub IsClient: ::std::os::raw::c_uchar, + pub Pad: ::std::os::raw::c_uchar, + pub uFlags2: ::std::os::raw::c_ushort, + pub ReuseBuffer: ::std::os::raw::c_int, + pub pAllocAllNodesContext: *mut NDR_ALLOC_ALL_NODES_CONTEXT, + pub pPointerQueueState: *mut NDR_POINTER_QUEUE_STATE, + pub IgnoreEmbeddedPointers: ::std::os::raw::c_int, + pub PointerBufferMark: *mut ::std::os::raw::c_uchar, + pub CorrDespIncrement: ::std::os::raw::c_uchar, + pub uFlags: ::std::os::raw::c_uchar, + pub UniquePtrCount: ::std::os::raw::c_ushort, + pub MaxCount: ULONG_PTR, + pub Offset: ::std::os::raw::c_ulong, + pub ActualCount: ::std::os::raw::c_ulong, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub StackTop: *mut ::std::os::raw::c_uchar, + pub pPresentedType: *mut ::std::os::raw::c_uchar, + pub pTransmitType: *mut ::std::os::raw::c_uchar, + pub SavedHandle: handle_t, + pub StubDesc: *const _MIDL_STUB_DESC, + pub FullPtrXlatTables: *mut _FULL_PTR_XLAT_TABLES, + pub FullPtrRefId: ::std::os::raw::c_ulong, + pub PointerLength: ::std::os::raw::c_ulong, + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub dwDestContext: ::std::os::raw::c_ulong, + pub pvDestContext: *mut ::std::os::raw::c_void, + pub SavedContextHandles: *mut NDR_SCONTEXT, + pub ParamNumber: ::std::os::raw::c_long, + pub pRpcChannelBuffer: *mut IRpcChannelBuffer, + pub pArrayInfo: PARRAY_INFO, + pub SizePtrCountArray: *mut ::std::os::raw::c_ulong, + pub SizePtrOffsetArray: *mut ::std::os::raw::c_ulong, + pub SizePtrLengthArray: *mut ::std::os::raw::c_ulong, + pub pArgQueue: *mut ::std::os::raw::c_void, + pub dwStubPhase: ::std::os::raw::c_ulong, + pub LowStackMark: *mut ::std::os::raw::c_void, + pub pAsyncMsg: PNDR_ASYNC_MESSAGE, + pub pCorrInfo: PNDR_CORRELATION_INFO, + pub pCorrMemory: *mut ::std::os::raw::c_uchar, + pub pMemoryList: *mut ::std::os::raw::c_void, + pub pCSInfo: INT_PTR, + pub ConformanceMark: *mut ::std::os::raw::c_uchar, + pub VarianceMark: *mut ::std::os::raw::c_uchar, + pub Unused: INT_PTR, + pub pContext: *mut _NDR_PROC_CONTEXT, + pub ContextHandleHash: *mut ::std::os::raw::c_void, + pub pUserMarshalList: *mut ::std::os::raw::c_void, + pub Reserved51_3: INT_PTR, + pub Reserved51_4: INT_PTR, + pub Reserved51_5: INT_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_STUB_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_MESSAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_MESSAGE>(), + 400usize, + concat!("Size of: ", stringify!(_MIDL_STUB_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_MESSAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcMsg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(RpcMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferStart) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferEnd) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferEnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferMark) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemorySize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(MemorySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Memory) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Memory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClient) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(IsClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pad) as usize - ptr as usize }, + 57usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags2) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(uFlags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReuseBuffer) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ReuseBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAllocAllNodesContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pAllocAllNodesContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPointerQueueState) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pPointerQueueState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IgnoreEmbeddedPointers) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(IgnoreEmbeddedPointers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerBufferMark) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(PointerBufferMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CorrDespIncrement) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(CorrDespIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 97usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniquePtrCount) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(UniquePtrCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCount) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(MaxCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualCount) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ActualCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackTop) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(StackTop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPresentedType) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pPresentedType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransmitType) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pTransmitType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavedHandle) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SavedHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(StubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullPtrXlatTables) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(FullPtrXlatTables) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullPtrRefId) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(FullPtrRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerLength) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(PointerLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestContext) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(dwDestContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvDestContext) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pvDestContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavedContextHandles) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SavedContextHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParamNumber) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ParamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRpcChannelBuffer) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pRpcChannelBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pArrayInfo) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pArrayInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrCountArray) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrCountArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrOffsetArray) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrOffsetArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrLengthArray) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrLengthArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pArgQueue) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pArgQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStubPhase) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(dwStubPhase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowStackMark) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(LowStackMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAsyncMsg) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pAsyncMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCorrInfo) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCorrInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCorrMemory) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCorrMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMemoryList) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pMemoryList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCSInfo) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCSInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConformanceMark) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ConformanceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VarianceMark) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(VarianceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextHandleHash) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ContextHandleHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserMarshalList) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pUserMarshalList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_3) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_4) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_5) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_5) + ) + ); +} +impl _MIDL_STUB_MESSAGE { + #[inline] + pub fn fInDontFree(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInDontFree(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDontCallFreeInst(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDontCallFreeInst(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused1(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fUnused1(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasReturn(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasReturn(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasExtensions(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasExtensions(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasNewCorrDesc(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasNewCorrDesc(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsIn(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsIn(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsOut(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsOut(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsOicf(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsOicf(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn fBufferValid(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBufferValid(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasMemoryValidateCallback(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasMemoryValidateCallback(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn fInFree(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInFree(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fNeedMCCP(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_fNeedMCCP(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused2(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u32) } + } + #[inline] + pub fn set_fUnused2(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 3u8, val as u64) + } + } + #[inline] + pub fn fUnused3(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_fUnused3(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fInDontFree: ::std::os::raw::c_int, + fDontCallFreeInst: ::std::os::raw::c_int, + fUnused1: ::std::os::raw::c_int, + fHasReturn: ::std::os::raw::c_int, + fHasExtensions: ::std::os::raw::c_int, + fHasNewCorrDesc: ::std::os::raw::c_int, + fIsIn: ::std::os::raw::c_int, + fIsOut: ::std::os::raw::c_int, + fIsOicf: ::std::os::raw::c_int, + fBufferValid: ::std::os::raw::c_int, + fHasMemoryValidateCallback: ::std::os::raw::c_int, + fInFree: ::std::os::raw::c_int, + fNeedMCCP: ::std::os::raw::c_int, + fUnused2: ::std::os::raw::c_int, + fUnused3: ::std::os::raw::c_int, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fInDontFree: u32 = unsafe { ::std::mem::transmute(fInDontFree) }; + fInDontFree as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fDontCallFreeInst: u32 = unsafe { ::std::mem::transmute(fDontCallFreeInst) }; + fDontCallFreeInst as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fUnused1: u32 = unsafe { ::std::mem::transmute(fUnused1) }; + fUnused1 as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fHasReturn: u32 = unsafe { ::std::mem::transmute(fHasReturn) }; + fHasReturn as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let fHasExtensions: u32 = unsafe { ::std::mem::transmute(fHasExtensions) }; + fHasExtensions as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let fHasNewCorrDesc: u32 = unsafe { ::std::mem::transmute(fHasNewCorrDesc) }; + fHasNewCorrDesc as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fIsIn: u32 = unsafe { ::std::mem::transmute(fIsIn) }; + fIsIn as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let fIsOut: u32 = unsafe { ::std::mem::transmute(fIsOut) }; + fIsOut as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let fIsOicf: u32 = unsafe { ::std::mem::transmute(fIsOicf) }; + fIsOicf as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let fBufferValid: u32 = unsafe { ::std::mem::transmute(fBufferValid) }; + fBufferValid as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let fHasMemoryValidateCallback: u32 = + unsafe { ::std::mem::transmute(fHasMemoryValidateCallback) }; + fHasMemoryValidateCallback as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fInFree: u32 = unsafe { ::std::mem::transmute(fInFree) }; + fInFree as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fNeedMCCP: u32 = unsafe { ::std::mem::transmute(fNeedMCCP) }; + fNeedMCCP as u64 + }); + __bindgen_bitfield_unit.set(13usize, 3u8, { + let fUnused2: u32 = unsafe { ::std::mem::transmute(fUnused2) }; + fUnused2 as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let fUnused3: u32 = unsafe { ::std::mem::transmute(fUnused3) }; + fUnused3 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type MIDL_STUB_MESSAGE = _MIDL_STUB_MESSAGE; +pub type PMIDL_STUB_MESSAGE = *mut _MIDL_STUB_MESSAGE; +pub type GENERIC_BINDING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void, +>; +pub type GENERIC_UNBIND_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_uchar), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GENERIC_BINDING_ROUTINE_PAIR { + pub pfnBind: GENERIC_BINDING_ROUTINE, + pub pfnUnbind: GENERIC_UNBIND_ROUTINE, +} +#[test] +fn bindgen_test_layout__GENERIC_BINDING_ROUTINE_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_GENERIC_BINDING_ROUTINE_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GENERIC_BINDING_ROUTINE_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_GENERIC_BINDING_ROUTINE_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_GENERIC_BINDING_ROUTINE_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_GENERIC_BINDING_ROUTINE_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBind) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_BINDING_ROUTINE_PAIR), + "::", + stringify!(pfnBind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnbind) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_BINDING_ROUTINE_PAIR), + "::", + stringify!(pfnUnbind) + ) + ); +} +pub type GENERIC_BINDING_ROUTINE_PAIR = _GENERIC_BINDING_ROUTINE_PAIR; +pub type PGENERIC_BINDING_ROUTINE_PAIR = *mut _GENERIC_BINDING_ROUTINE_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __GENERIC_BINDING_INFO { + pub pObj: *mut ::std::os::raw::c_void, + pub Size: ::std::os::raw::c_uint, + pub pfnBind: GENERIC_BINDING_ROUTINE, + pub pfnUnbind: GENERIC_UNBIND_ROUTINE, +} +#[test] +fn bindgen_test_layout___GENERIC_BINDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__GENERIC_BINDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__GENERIC_BINDING_INFO>(), + 32usize, + concat!("Size of: ", stringify!(__GENERIC_BINDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<__GENERIC_BINDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(__GENERIC_BINDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pObj) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pObj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBind) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pfnBind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnbind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pfnUnbind) + ) + ); +} +pub type GENERIC_BINDING_INFO = __GENERIC_BINDING_INFO; +pub type PGENERIC_BINDING_INFO = *mut __GENERIC_BINDING_INFO; +pub type XMIT_HELPER_ROUTINE = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XMIT_ROUTINE_QUINTUPLE { + pub pfnTranslateToXmit: XMIT_HELPER_ROUTINE, + pub pfnTranslateFromXmit: XMIT_HELPER_ROUTINE, + pub pfnFreeXmit: XMIT_HELPER_ROUTINE, + pub pfnFreeInst: XMIT_HELPER_ROUTINE, +} +#[test] +fn bindgen_test_layout__XMIT_ROUTINE_QUINTUPLE() { + const UNINIT: ::std::mem::MaybeUninit<_XMIT_ROUTINE_QUINTUPLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XMIT_ROUTINE_QUINTUPLE>(), + 32usize, + concat!("Size of: ", stringify!(_XMIT_ROUTINE_QUINTUPLE)) + ); + assert_eq!( + ::std::mem::align_of::<_XMIT_ROUTINE_QUINTUPLE>(), + 8usize, + concat!("Alignment of ", stringify!(_XMIT_ROUTINE_QUINTUPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnTranslateToXmit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnTranslateToXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnTranslateFromXmit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnTranslateFromXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeXmit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnFreeXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeInst) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnFreeInst) + ) + ); +} +pub type XMIT_ROUTINE_QUINTUPLE = _XMIT_ROUTINE_QUINTUPLE; +pub type PXMIT_ROUTINE_QUINTUPLE = *mut _XMIT_ROUTINE_QUINTUPLE; +pub type USER_MARSHAL_SIZING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_ulong, +>; +pub type USER_MARSHAL_MARSHALLING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_uchar, +>; +pub type USER_MARSHAL_UNMARSHALLING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_uchar, +>; +pub type USER_MARSHAL_FREEING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_void), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _USER_MARSHAL_ROUTINE_QUADRUPLE { + pub pfnBufferSize: USER_MARSHAL_SIZING_ROUTINE, + pub pfnMarshall: USER_MARSHAL_MARSHALLING_ROUTINE, + pub pfnUnmarshall: USER_MARSHAL_UNMARSHALLING_ROUTINE, + pub pfnFree: USER_MARSHAL_FREEING_ROUTINE, +} +#[test] +fn bindgen_test_layout__USER_MARSHAL_ROUTINE_QUADRUPLE() { + const UNINIT: ::std::mem::MaybeUninit<_USER_MARSHAL_ROUTINE_QUADRUPLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_USER_MARSHAL_ROUTINE_QUADRUPLE>(), + 32usize, + concat!("Size of: ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE)) + ); + assert_eq!( + ::std::mem::align_of::<_USER_MARSHAL_ROUTINE_QUADRUPLE>(), + 8usize, + concat!("Alignment of ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnMarshall) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnMarshall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnmarshall) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnUnmarshall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnFree) + ) + ); +} +pub type USER_MARSHAL_ROUTINE_QUADRUPLE = _USER_MARSHAL_ROUTINE_QUADRUPLE; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_BUFFER_SIZE: _USER_MARSHAL_CB_TYPE = 0; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_MARSHALL: _USER_MARSHAL_CB_TYPE = 1; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_UNMARSHALL: _USER_MARSHAL_CB_TYPE = 2; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_FREE: _USER_MARSHAL_CB_TYPE = 3; +pub type _USER_MARSHAL_CB_TYPE = ::std::os::raw::c_int; +pub use self::_USER_MARSHAL_CB_TYPE as USER_MARSHAL_CB_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _USER_MARSHAL_CB { + pub Flags: ::std::os::raw::c_ulong, + pub pStubMsg: PMIDL_STUB_MESSAGE, + pub pReserve: PFORMAT_STRING, + pub Signature: ::std::os::raw::c_ulong, + pub CBType: USER_MARSHAL_CB_TYPE, + pub pFormat: PFORMAT_STRING, + pub pTypeFormat: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__USER_MARSHAL_CB() { + const UNINIT: ::std::mem::MaybeUninit<_USER_MARSHAL_CB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_USER_MARSHAL_CB>(), + 48usize, + concat!("Size of: ", stringify!(_USER_MARSHAL_CB)) + ); + assert_eq!( + ::std::mem::align_of::<_USER_MARSHAL_CB>(), + 8usize, + concat!("Alignment of ", stringify!(_USER_MARSHAL_CB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pStubMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserve) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CBType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(CBType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTypeFormat) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pTypeFormat) + ) + ); +} +pub type USER_MARSHAL_CB = _USER_MARSHAL_CB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MALLOC_FREE_STRUCT { + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, +} +#[test] +fn bindgen_test_layout__MALLOC_FREE_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_MALLOC_FREE_STRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MALLOC_FREE_STRUCT>(), + 16usize, + concat!("Size of: ", stringify!(_MALLOC_FREE_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_MALLOC_FREE_STRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_MALLOC_FREE_STRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MALLOC_FREE_STRUCT), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MALLOC_FREE_STRUCT), + "::", + stringify!(pfnFree) + ) + ); +} +pub type MALLOC_FREE_STRUCT = _MALLOC_FREE_STRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMM_FAULT_OFFSETS { + pub CommOffset: ::std::os::raw::c_short, + pub FaultOffset: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__COMM_FAULT_OFFSETS() { + const UNINIT: ::std::mem::MaybeUninit<_COMM_FAULT_OFFSETS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMM_FAULT_OFFSETS>(), + 4usize, + concat!("Size of: ", stringify!(_COMM_FAULT_OFFSETS)) + ); + assert_eq!( + ::std::mem::align_of::<_COMM_FAULT_OFFSETS>(), + 2usize, + concat!("Alignment of ", stringify!(_COMM_FAULT_OFFSETS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMM_FAULT_OFFSETS), + "::", + stringify!(CommOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaultOffset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_COMM_FAULT_OFFSETS), + "::", + stringify!(FaultOffset) + ) + ); +} +pub type COMM_FAULT_OFFSETS = _COMM_FAULT_OFFSETS; +pub const _IDL_CS_CONVERT_IDL_CS_NO_CONVERT: _IDL_CS_CONVERT = 0; +pub const _IDL_CS_CONVERT_IDL_CS_IN_PLACE_CONVERT: _IDL_CS_CONVERT = 1; +pub const _IDL_CS_CONVERT_IDL_CS_NEW_BUFFER_CONVERT: _IDL_CS_CONVERT = 2; +pub type _IDL_CS_CONVERT = ::std::os::raw::c_int; +pub use self::_IDL_CS_CONVERT as IDL_CS_CONVERT; +pub type CS_TYPE_NET_SIZE_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + ulLocalBufferSize: ::std::os::raw::c_ulong, + conversionType: *mut IDL_CS_CONVERT, + pulNetworkBufferSize: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_LOCAL_SIZE_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + ulNetworkBufferSize: ::std::os::raw::c_ulong, + conversionType: *mut IDL_CS_CONVERT, + pulLocalBufferSize: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_TO_NETCS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + pLocalData: *mut ::std::os::raw::c_void, + ulLocalDataLength: ::std::os::raw::c_ulong, + pNetworkData: *mut byte, + pulNetworkDataLength: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_FROM_NETCS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + pNetworkData: *mut byte, + ulNetworkDataLength: ::std::os::raw::c_ulong, + ulLocalBufferSize: ::std::os::raw::c_ulong, + pLocalData: *mut ::std::os::raw::c_void, + pulLocalDataLength: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TAG_GETTING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + fServerSide: ::std::os::raw::c_int, + pulSendingTag: *mut ::std::os::raw::c_ulong, + pulDesiredReceivingTag: *mut ::std::os::raw::c_ulong, + pulReceivingTag: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +extern "C" { + pub fn RpcCsGetTags( + hBinding: RPC_BINDING_HANDLE, + fServerSide: ::std::os::raw::c_int, + pulSendingTag: *mut ::std::os::raw::c_ulong, + pulDesiredReceivingTag: *mut ::std::os::raw::c_ulong, + pulReceivingTag: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CS_SIZE_CONVERT_ROUTINES { + pub pfnNetSize: CS_TYPE_NET_SIZE_ROUTINE, + pub pfnToNetCs: CS_TYPE_TO_NETCS_ROUTINE, + pub pfnLocalSize: CS_TYPE_LOCAL_SIZE_ROUTINE, + pub pfnFromNetCs: CS_TYPE_FROM_NETCS_ROUTINE, +} +#[test] +fn bindgen_test_layout__NDR_CS_SIZE_CONVERT_ROUTINES() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_CS_SIZE_CONVERT_ROUTINES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_CS_SIZE_CONVERT_ROUTINES>(), + 32usize, + concat!("Size of: ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_CS_SIZE_CONVERT_ROUTINES>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNetSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnNetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnToNetCs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnToNetCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnLocalSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnLocalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFromNetCs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnFromNetCs) + ) + ); +} +pub type NDR_CS_SIZE_CONVERT_ROUTINES = _NDR_CS_SIZE_CONVERT_ROUTINES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CS_ROUTINES { + pub pSizeConvertRoutines: *mut NDR_CS_SIZE_CONVERT_ROUTINES, + pub pTagGettingRoutines: *mut CS_TAG_GETTING_ROUTINE, +} +#[test] +fn bindgen_test_layout__NDR_CS_ROUTINES() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_CS_ROUTINES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_CS_ROUTINES>(), + 16usize, + concat!("Size of: ", stringify!(_NDR_CS_ROUTINES)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_CS_ROUTINES>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_CS_ROUTINES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSizeConvertRoutines) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_ROUTINES), + "::", + stringify!(pSizeConvertRoutines) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTagGettingRoutines) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_ROUTINES), + "::", + stringify!(pTagGettingRoutines) + ) + ); +} +pub type NDR_CS_ROUTINES = _NDR_CS_ROUTINES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_EXPR_DESC { + pub pOffset: *const ::std::os::raw::c_ushort, + pub pFormatExpr: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__NDR_EXPR_DESC() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_EXPR_DESC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_EXPR_DESC>(), + 16usize, + concat!("Size of: ", stringify!(_NDR_EXPR_DESC)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_EXPR_DESC>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_EXPR_DESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_EXPR_DESC), + "::", + stringify!(pOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormatExpr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_EXPR_DESC), + "::", + stringify!(pFormatExpr) + ) + ); +} +pub type NDR_EXPR_DESC = _NDR_EXPR_DESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MIDL_STUB_DESC { + pub RpcInterfaceInformation: *mut ::std::os::raw::c_void, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub IMPLICIT_HANDLE_INFO: _MIDL_STUB_DESC__bindgen_ty_1, + pub apfnNdrRundownRoutines: *const NDR_RUNDOWN, + pub aGenericBindingRoutinePairs: *const GENERIC_BINDING_ROUTINE_PAIR, + pub apfnExprEval: *const EXPR_EVAL, + pub aXmitQuintuple: *const XMIT_ROUTINE_QUINTUPLE, + pub pFormatTypes: *const ::std::os::raw::c_uchar, + pub fCheckBounds: ::std::os::raw::c_int, + pub Version: ::std::os::raw::c_ulong, + pub pMallocFreeStruct: *mut MALLOC_FREE_STRUCT, + pub MIDLVersion: ::std::os::raw::c_long, + pub CommFaultOffsets: *const COMM_FAULT_OFFSETS, + pub aUserMarshalQuadruple: *const USER_MARSHAL_ROUTINE_QUADRUPLE, + pub NotifyRoutineTable: *const NDR_NOTIFY_ROUTINE, + pub mFlags: ULONG_PTR, + pub CsRoutineTables: *const NDR_CS_ROUTINES, + pub ProxyServerInfo: *mut ::std::os::raw::c_void, + pub pExprInfo: *const NDR_EXPR_DESC, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _MIDL_STUB_DESC__bindgen_ty_1 { + pub pAutoHandle: *mut handle_t, + pub pPrimitiveHandle: *mut handle_t, + pub pGenericBindingInfo: PGENERIC_BINDING_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_STUB_DESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_DESC__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_DESC__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_DESC__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAutoHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pAutoHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrimitiveHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pPrimitiveHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pGenericBindingInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pGenericBindingInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__MIDL_STUB_DESC() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_DESC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_DESC>(), + 152usize, + concat!("Size of: ", stringify!(_MIDL_STUB_DESC)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_DESC>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_DESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcInterfaceInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(RpcInterfaceInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IMPLICIT_HANDLE_INFO) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(IMPLICIT_HANDLE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfnNdrRundownRoutines) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(apfnNdrRundownRoutines) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aGenericBindingRoutinePairs) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aGenericBindingRoutinePairs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfnExprEval) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(apfnExprEval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aXmitQuintuple) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aXmitQuintuple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormatTypes) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pFormatTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCheckBounds) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(fCheckBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMallocFreeStruct) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pMallocFreeStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MIDLVersion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(MIDLVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommFaultOffsets) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(CommFaultOffsets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aUserMarshalQuadruple) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aUserMarshalQuadruple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotifyRoutineTable) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(NotifyRoutineTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFlags) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(mFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CsRoutineTables) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(CsRoutineTables) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyServerInfo) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(ProxyServerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pExprInfo) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pExprInfo) + ) + ); +} +pub type MIDL_STUB_DESC = _MIDL_STUB_DESC; +pub type PMIDL_STUB_DESC = *const MIDL_STUB_DESC; +pub type PMIDL_XMIT_TYPE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug)] +pub struct _MIDL_FORMAT_STRING { + pub Pad: ::std::os::raw::c_short, + pub Format: __IncompleteArrayField<::std::os::raw::c_uchar>, +} +#[test] +fn bindgen_test_layout__MIDL_FORMAT_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_FORMAT_STRING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_FORMAT_STRING>(), + 2usize, + concat!("Size of: ", stringify!(_MIDL_FORMAT_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_FORMAT_STRING>(), + 2usize, + concat!("Alignment of ", stringify!(_MIDL_FORMAT_STRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pad) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_FORMAT_STRING), + "::", + stringify!(Pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Format) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_FORMAT_STRING), + "::", + stringify!(Format) + ) + ); +} +pub type MIDL_FORMAT_STRING = _MIDL_FORMAT_STRING; +pub type STUB_THUNK = ::std::option::Option; +pub type SERVER_ROUTINE = ::std::option::Option ::std::os::raw::c_long>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_METHOD_PROPERTY { + pub Id: ::std::os::raw::c_ulong, + pub Value: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_METHOD_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_METHOD_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_METHOD_PROPERTY>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_METHOD_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_METHOD_PROPERTY>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_METHOD_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY), + "::", + stringify!(Value) + ) + ); +} +pub type MIDL_METHOD_PROPERTY = _MIDL_METHOD_PROPERTY; +pub type PMIDL_METHOD_PROPERTY = *mut _MIDL_METHOD_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_METHOD_PROPERTY_MAP { + pub Count: ::std::os::raw::c_ulong, + pub Properties: *const MIDL_METHOD_PROPERTY, +} +#[test] +fn bindgen_test_layout__MIDL_METHOD_PROPERTY_MAP() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_METHOD_PROPERTY_MAP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_METHOD_PROPERTY_MAP>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_METHOD_PROPERTY_MAP)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_METHOD_PROPERTY_MAP>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_METHOD_PROPERTY_MAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY_MAP), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Properties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY_MAP), + "::", + stringify!(Properties) + ) + ); +} +pub type MIDL_METHOD_PROPERTY_MAP = _MIDL_METHOD_PROPERTY_MAP; +pub type PMIDL_METHOD_PROPERTY_MAP = *mut _MIDL_METHOD_PROPERTY_MAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_INTERFACE_METHOD_PROPERTIES { + pub MethodCount: ::std::os::raw::c_ushort, + pub MethodProperties: *const *const MIDL_METHOD_PROPERTY_MAP, +} +#[test] +fn bindgen_test_layout__MIDL_INTERFACE_METHOD_PROPERTIES() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_INTERFACE_METHOD_PROPERTIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_INTERFACE_METHOD_PROPERTIES>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_INTERFACE_METHOD_PROPERTIES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MethodCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES), + "::", + stringify!(MethodCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MethodProperties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES), + "::", + stringify!(MethodProperties) + ) + ); +} +pub type MIDL_INTERFACE_METHOD_PROPERTIES = _MIDL_INTERFACE_METHOD_PROPERTIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_SERVER_INFO_ { + pub pStubDesc: PMIDL_STUB_DESC, + pub DispatchTable: *const SERVER_ROUTINE, + pub ProcString: PFORMAT_STRING, + pub FmtStringOffset: *const ::std::os::raw::c_ushort, + pub ThunkTable: *const STUB_THUNK, + pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub nCount: ULONG_PTR, + pub pSyntaxInfo: PMIDL_SYNTAX_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_SERVER_INFO_() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_SERVER_INFO_> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_SERVER_INFO_>(), + 64usize, + concat!("Size of: ", stringify!(_MIDL_SERVER_INFO_)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_SERVER_INFO_>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_SERVER_INFO_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubDesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pStubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FmtStringOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(FmtStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThunkTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(ThunkTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransferSyntax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pTransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSyntaxInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pSyntaxInfo) + ) + ); +} +pub type MIDL_SERVER_INFO = _MIDL_SERVER_INFO_; +pub type PMIDL_SERVER_INFO = *mut _MIDL_SERVER_INFO_; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_STUBLESS_PROXY_INFO { + pub pStubDesc: PMIDL_STUB_DESC, + pub ProcFormatString: PFORMAT_STRING, + pub FormatStringOffset: *const ::std::os::raw::c_ushort, + pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub nCount: ULONG_PTR, + pub pSyntaxInfo: PMIDL_SYNTAX_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_STUBLESS_PROXY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUBLESS_PROXY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUBLESS_PROXY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_MIDL_STUBLESS_PROXY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUBLESS_PROXY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUBLESS_PROXY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubDesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pStubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcFormatString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(ProcFormatString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatStringOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(FormatStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pTransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSyntaxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pSyntaxInfo) + ) + ); +} +pub type MIDL_STUBLESS_PROXY_INFO = _MIDL_STUBLESS_PROXY_INFO; +pub type PMIDL_STUBLESS_PROXY_INFO = *mut MIDL_STUBLESS_PROXY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_SYNTAX_INFO { + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: *mut RPC_DISPATCH_TABLE, + pub ProcString: PFORMAT_STRING, + pub FmtStringOffset: *const ::std::os::raw::c_ushort, + pub TypeString: PFORMAT_STRING, + pub aUserMarshalQuadruple: *const ::std::os::raw::c_void, + pub pMethodProperties: *const MIDL_INTERFACE_METHOD_PROPERTIES, + pub pReserved2: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_SYNTAX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_SYNTAX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_SYNTAX_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_MIDL_SYNTAX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_SYNTAX_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_SYNTAX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FmtStringOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(FmtStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeString) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(TypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aUserMarshalQuadruple) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(aUserMarshalQuadruple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMethodProperties) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(pMethodProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(pReserved2) + ) + ); +} +pub type PARAM_OFFSETTABLE = *mut ::std::os::raw::c_ushort; +pub type PPARAM_OFFSETTABLE = *mut ::std::os::raw::c_ushort; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLIENT_CALL_RETURN { + pub Pointer: *mut ::std::os::raw::c_void, + pub Simple: LONG_PTR, +} +#[test] +fn bindgen_test_layout__CLIENT_CALL_RETURN() { + const UNINIT: ::std::mem::MaybeUninit<_CLIENT_CALL_RETURN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLIENT_CALL_RETURN>(), + 8usize, + concat!("Size of: ", stringify!(_CLIENT_CALL_RETURN)) + ); + assert_eq!( + ::std::mem::align_of::<_CLIENT_CALL_RETURN>(), + 8usize, + concat!("Alignment of ", stringify!(_CLIENT_CALL_RETURN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLIENT_CALL_RETURN), + "::", + stringify!(Pointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Simple) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLIENT_CALL_RETURN), + "::", + stringify!(Simple) + ) + ); +} +pub type CLIENT_CALL_RETURN = _CLIENT_CALL_RETURN; +pub const XLAT_SIDE_XLAT_SERVER: XLAT_SIDE = 1; +pub const XLAT_SIDE_XLAT_CLIENT: XLAT_SIDE = 2; +pub type XLAT_SIDE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FULL_PTR_XLAT_TABLES { + pub RefIdToPointer: *mut ::std::os::raw::c_void, + pub PointerToRefId: *mut ::std::os::raw::c_void, + pub NextRefId: ::std::os::raw::c_ulong, + pub XlatSide: XLAT_SIDE, +} +#[test] +fn bindgen_test_layout__FULL_PTR_XLAT_TABLES() { + const UNINIT: ::std::mem::MaybeUninit<_FULL_PTR_XLAT_TABLES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FULL_PTR_XLAT_TABLES>(), + 24usize, + concat!("Size of: ", stringify!(_FULL_PTR_XLAT_TABLES)) + ); + assert_eq!( + ::std::mem::align_of::<_FULL_PTR_XLAT_TABLES>(), + 8usize, + concat!("Alignment of ", stringify!(_FULL_PTR_XLAT_TABLES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RefIdToPointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(RefIdToPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRefId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(PointerToRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextRefId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(NextRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XlatSide) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(XlatSide) + ) + ); +} +pub type FULL_PTR_XLAT_TABLES = _FULL_PTR_XLAT_TABLES; +pub type PFULL_PTR_XLAT_TABLES = *mut _FULL_PTR_XLAT_TABLES; +pub const _system_handle_t_SYSTEM_HANDLE_FILE: _system_handle_t = 0; +pub const _system_handle_t_SYSTEM_HANDLE_SEMAPHORE: _system_handle_t = 1; +pub const _system_handle_t_SYSTEM_HANDLE_EVENT: _system_handle_t = 2; +pub const _system_handle_t_SYSTEM_HANDLE_MUTEX: _system_handle_t = 3; +pub const _system_handle_t_SYSTEM_HANDLE_PROCESS: _system_handle_t = 4; +pub const _system_handle_t_SYSTEM_HANDLE_TOKEN: _system_handle_t = 5; +pub const _system_handle_t_SYSTEM_HANDLE_SECTION: _system_handle_t = 6; +pub const _system_handle_t_SYSTEM_HANDLE_REG_KEY: _system_handle_t = 7; +pub const _system_handle_t_SYSTEM_HANDLE_THREAD: _system_handle_t = 8; +pub const _system_handle_t_SYSTEM_HANDLE_COMPOSITION_OBJECT: _system_handle_t = 9; +pub const _system_handle_t_SYSTEM_HANDLE_SOCKET: _system_handle_t = 10; +pub const _system_handle_t_SYSTEM_HANDLE_JOB: _system_handle_t = 11; +pub const _system_handle_t_SYSTEM_HANDLE_PIPE: _system_handle_t = 12; +pub const _system_handle_t_SYSTEM_HANDLE_MAX: _system_handle_t = 12; +pub const _system_handle_t_SYSTEM_HANDLE_INVALID: _system_handle_t = 255; +pub type _system_handle_t = ::std::os::raw::c_int; +pub use self::_system_handle_t as system_handle_t; +pub const MidlInterceptionInfoVersionOne: _bindgen_ty_2 = 1; +pub type _bindgen_ty_2 = ::std::os::raw::c_int; +pub const MidlWinrtTypeSerializationInfoVersionOne: _bindgen_ty_3 = 1; +pub type _bindgen_ty_3 = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_INTERCEPTION_INFO { + pub Version: ::std::os::raw::c_ulong, + pub ProcString: PFORMAT_STRING, + pub ProcFormatOffsetTable: *const ::std::os::raw::c_ushort, + pub ProcCount: ::std::os::raw::c_ulong, + pub TypeString: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__MIDL_INTERCEPTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_INTERCEPTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_INTERCEPTION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_MIDL_INTERCEPTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_INTERCEPTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_INTERCEPTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcFormatOffsetTable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcFormatOffsetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(TypeString) + ) + ); +} +pub type MIDL_INTERCEPTION_INFO = _MIDL_INTERCEPTION_INFO; +pub type PMIDL_INTERCEPTION_INFO = *mut _MIDL_INTERCEPTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_WINRT_TYPE_SERIALIZATION_INFO { + pub Version: ::std::os::raw::c_ulong, + pub TypeFormatString: PFORMAT_STRING, + pub FormatStringSize: ::std::os::raw::c_ushort, + pub TypeOffset: ::std::os::raw::c_ushort, + pub StubDesc: PMIDL_STUB_DESC, +} +#[test] +fn bindgen_test_layout__MIDL_WINRT_TYPE_SERIALIZATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_WINRT_TYPE_SERIALIZATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeFormatString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(TypeFormatString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatStringSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(FormatStringSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeOffset) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(TypeOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubDesc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(StubDesc) + ) + ); +} +pub type MIDL_WINRT_TYPE_SERIALIZATION_INFO = _MIDL_WINRT_TYPE_SERIALIZATION_INFO; +pub type PMIDL_WINRT_TYPE_SERIALIZATION_INFO = *mut _MIDL_WINRT_TYPE_SERIALIZATION_INFO; +extern "C" { + pub fn NdrClientGetSupportedSyntaxes( + pInf: *mut RPC_CLIENT_INTERFACE, + pCount: *mut ::std::os::raw::c_ulong, + pArr: *mut *mut MIDL_SYNTAX_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrServerGetSupportedSyntaxes( + pInf: *mut RPC_SERVER_INTERFACE, + pCount: *mut ::std::os::raw::c_ulong, + pArr: *mut *mut MIDL_SYNTAX_INFO, + pPreferSyntaxIndex: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrSimpleTypeMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ); +} +extern "C" { + pub fn NdrPointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsTagMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSimpleStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFixedArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrVaryingArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonConformantStringMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStringMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrEncapsulatedUnionMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrByteCountPointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrXmitOrRepAsMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrUserMarshalMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrInterfacePointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientContextMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_CCONTEXT, + fCheck: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn NdrServerContextMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_SCONTEXT, + RundownRoutine: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NdrServerContextNewMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_SCONTEXT, + RundownRoutine: NDR_RUNDOWN, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleTypeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ); +} +extern "C" { + pub fn NdrCsArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsTagUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrRangeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCorrelationInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + CacheSize: ::std::os::raw::c_ulong, + flags: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NdrCorrelationPass(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrCorrelationFree(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrPointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSimpleStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFixedArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrVaryingArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonConformantStringUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStringUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrEncapsulatedUnionUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrByteCountPointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrXmitOrRepAsUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrUserMarshalUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrInterfacePointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientContextUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pContextHandle: *mut NDR_CCONTEXT, + BindHandle: RPC_BINDING_HANDLE, + ); +} +extern "C" { + pub fn NdrServerContextUnmarshall(pStubMsg: PMIDL_STUB_MESSAGE) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrContextHandleInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrServerContextNewUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrPointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsTagBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrFixedArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrVaryingArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStringBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonConformantStringBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrEncapsulatedUnionBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonEncapsulatedUnionBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrByteCountPointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrXmitOrRepAsBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrUserMarshalBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrInterfacePointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrContextHandleSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrPointerMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrContextHandleMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrCsArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrCsTagMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrSimpleStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantVaryingStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrComplexStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrFixedArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantVaryingArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrVaryingArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrComplexArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantStringMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrNonConformantStringMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrEncapsulatedUnionMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrXmitOrRepAsMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrUserMarshalMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrInterfacePointerMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrPointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrFixedArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrVaryingArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrEncapsulatedUnionFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonEncapsulatedUnionFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrByteCountPointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrXmitOrRepAsFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrUserMarshalFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrInterfacePointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConvert2( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + NumberParams: ::std::os::raw::c_long, + ); +} +extern "C" { + pub fn NdrConvert(pStubMsg: PMIDL_STUB_MESSAGE, pFormat: PFORMAT_STRING); +} +extern "C" { + pub fn NdrUserMarshalSimpleTypeConvert( + pFlags: *mut ::std::os::raw::c_ulong, + pBuffer: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientInitializeNew( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ProcNum: ::std::os::raw::c_uint, + ); +} +extern "C" { + pub fn NdrServerInitializeNew( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializePartial( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + RequestedBufferSize: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NdrClientInitialize( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ProcNum: ::std::os::raw::c_uint, + ); +} +extern "C" { + pub fn NdrServerInitialize( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + pRpcMsg: PRPC_MESSAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializeMarshall(pRpcMsg: PRPC_MESSAGE, pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrGetBuffer( + pStubMsg: PMIDL_STUB_MESSAGE, + BufferLength: ::std::os::raw::c_ulong, + Handle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNsGetBuffer( + pStubMsg: PMIDL_STUB_MESSAGE, + BufferLength: ::std::os::raw::c_ulong, + Handle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSendReceive( + pStubMsg: PMIDL_STUB_MESSAGE, + pBufferEnd: *mut ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNsSendReceive( + pStubMsg: PMIDL_STUB_MESSAGE, + pBufferEnd: *mut ::std::os::raw::c_uchar, + pAutoHandle: *mut RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFreeBuffer(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrGetDcomProtocolVersion( + pStubMsg: PMIDL_STUB_MESSAGE, + pVersion: *mut RPC_VERSION, + ) -> HRESULT; +} +extern "C" { + pub fn NdrClientCall2( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrAsyncClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrDcomAsyncClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +pub const STUB_PHASE_STUB_UNMARSHAL: STUB_PHASE = 0; +pub const STUB_PHASE_STUB_CALL_SERVER: STUB_PHASE = 1; +pub const STUB_PHASE_STUB_MARSHAL: STUB_PHASE = 2; +pub const STUB_PHASE_STUB_CALL_SERVER_NO_HRESULT: STUB_PHASE = 3; +pub type STUB_PHASE = ::std::os::raw::c_int; +pub const PROXY_PHASE_PROXY_CALCSIZE: PROXY_PHASE = 0; +pub const PROXY_PHASE_PROXY_GETBUFFER: PROXY_PHASE = 1; +pub const PROXY_PHASE_PROXY_MARSHAL: PROXY_PHASE = 2; +pub const PROXY_PHASE_PROXY_SENDRECEIVE: PROXY_PHASE = 3; +pub const PROXY_PHASE_PROXY_UNMARSHAL: PROXY_PHASE = 4; +pub type PROXY_PHASE = ::std::os::raw::c_int; +extern "C" { + pub fn NdrAsyncServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrDcomAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrStubCall2( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCall2(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrStubCall( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerUnmarshall( + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + pParamList: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn NdrServerMarshall( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrMapCommAndFaultStatus( + pStubMsg: PMIDL_STUB_MESSAGE, + pCommStatus: *mut ::std::os::raw::c_ulong, + pFaultStatus: *mut ::std::os::raw::c_ulong, + Status: RPC_STATUS, + ) -> RPC_STATUS; +} +pub type RPC_SS_THREAD_HANDLE = *mut ::std::os::raw::c_void; +extern "C" { + pub fn RpcSsAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn RpcSsDisableAllocate(); +} +extern "C" { + pub fn RpcSsEnableAllocate(); +} +extern "C" { + pub fn RpcSsFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn RpcSsGetThreadHandle() -> RPC_SS_THREAD_HANDLE; +} +extern "C" { + pub fn RpcSsSetClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + ); +} +extern "C" { + pub fn RpcSsSetThreadHandle(Id: RPC_SS_THREAD_HANDLE); +} +extern "C" { + pub fn RpcSsSwapClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + OldClientAlloc: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + OldClientFree: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ); +} +extern "C" { + pub fn RpcSmAllocate(Size: usize, pStatus: *mut RPC_STATUS) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn RpcSmClientFree(pNodeToFree: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmDestroyClientContext(ContextHandle: *mut *mut ::std::os::raw::c_void) + -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmDisableAllocate() -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmEnableAllocate() -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmFree(NodeToFree: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmGetThreadHandle(pStatus: *mut RPC_STATUS) -> RPC_SS_THREAD_HANDLE; +} +extern "C" { + pub fn RpcSmSetClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmSetThreadHandle(Id: RPC_SS_THREAD_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmSwapClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + OldClientAlloc: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + OldClientFree: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrRpcSsEnableAllocate(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSsDisableAllocate(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSmSetClientToOsf(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSmClientAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrRpcSmClientFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NdrRpcSsDefaultAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrRpcSsDefaultFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NdrFullPointerXlatInit( + NumberOfPointers: ::std::os::raw::c_ulong, + XlatSide: XLAT_SIDE, + ) -> PFULL_PTR_XLAT_TABLES; +} +extern "C" { + pub fn NdrFullPointerXlatFree(pXlatTables: PFULL_PTR_XLAT_TABLES); +} +extern "C" { + pub fn NdrAllocate(pStubMsg: PMIDL_STUB_MESSAGE, Len: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrClearOutParameters( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ArgAddr: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrOleAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrOleFree(NodeToFree: *mut ::std::os::raw::c_void); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_USER_MARSHAL_INFO_LEVEL1 { + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferSize: ::std::os::raw::c_ulong, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub pRpcChannelBuffer: *mut IRpcChannelBuffer, + pub Reserved: [ULONG_PTR; 5usize], +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO_LEVEL1() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO_LEVEL1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO_LEVEL1>(), + 80usize, + concat!("Size of: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO_LEVEL1>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRpcChannelBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pRpcChannelBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(Reserved) + ) + ); +} +pub type NDR_USER_MARSHAL_INFO_LEVEL1 = _NDR_USER_MARSHAL_INFO_LEVEL1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NDR_USER_MARSHAL_INFO { + pub InformationLevel: ::std::os::raw::c_ulong, + pub __bindgen_anon_1: _NDR_USER_MARSHAL_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NDR_USER_MARSHAL_INFO__bindgen_ty_1 { + pub Level1: NDR_USER_MARSHAL_INFO_LEVEL1, +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO__bindgen_ty_1>(), + 80usize, + concat!( + "Size of: ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1), + "::", + stringify!(Level1) + ) + ); +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_NDR_USER_MARSHAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_USER_MARSHAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InformationLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO), + "::", + stringify!(InformationLevel) + ) + ); +} +pub type NDR_USER_MARSHAL_INFO = _NDR_USER_MARSHAL_INFO; +extern "C" { + pub fn NdrGetUserMarshalInfo( + pFlags: *mut ::std::os::raw::c_ulong, + InformationLevel: ::std::os::raw::c_ulong, + pMarshalInfo: *mut NDR_USER_MARSHAL_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrCreateServerInterfaceFromStub( + pStub: *mut IRpcStubBuffer, + pServerIf: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrClientCall3( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64AsyncClientCall( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64DcomAsyncClientCall( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64AsyncServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncServerCall64(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncServerCallAll(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn Ndr64DcomAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrStubCall3( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCallAll(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerCallNdr64(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerCall3(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrPartialIgnoreClientMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreServerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreClientBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreServerInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_void, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn RpcUserFree(AsyncHandle: handle_t, pBuffer: *mut ::std::os::raw::c_void); +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type OLECHAR = WCHAR; +pub type LPOLESTR = *mut OLECHAR; +pub type LPCOLESTR = *const OLECHAR; +pub type DOUBLE = f64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COAUTHIDENTITY { + pub User: *mut USHORT, + pub UserLength: ULONG, + pub Domain: *mut USHORT, + pub DomainLength: ULONG, + pub Password: *mut USHORT, + pub PasswordLength: ULONG, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__COAUTHIDENTITY() { + const UNINIT: ::std::mem::MaybeUninit<_COAUTHIDENTITY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COAUTHIDENTITY>(), + 48usize, + concat!("Size of: ", stringify!(_COAUTHIDENTITY)) + ); + assert_eq!( + ::std::mem::align_of::<_COAUTHIDENTITY>(), + 8usize, + concat!("Alignment of ", stringify!(_COAUTHIDENTITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Flags) + ) + ); +} +pub type COAUTHIDENTITY = _COAUTHIDENTITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COAUTHINFO { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pwszServerPrincName: LPWSTR, + pub dwAuthnLevel: DWORD, + pub dwImpersonationLevel: DWORD, + pub pAuthIdentityData: *mut COAUTHIDENTITY, + pub dwCapabilities: DWORD, +} +#[test] +fn bindgen_test_layout__COAUTHINFO() { + const UNINIT: ::std::mem::MaybeUninit<_COAUTHINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COAUTHINFO>(), + 40usize, + concat!("Size of: ", stringify!(_COAUTHINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_COAUTHINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_COAUTHINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(pwszServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwImpersonationLevel) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthIdentityData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(pAuthIdentityData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCapabilities) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwCapabilities) + ) + ); +} +pub type COAUTHINFO = _COAUTHINFO; +pub type SCODE = LONG; +pub type PSCODE = *mut SCODE; +pub const tagMEMCTX_MEMCTX_TASK: tagMEMCTX = 1; +pub const tagMEMCTX_MEMCTX_SHARED: tagMEMCTX = 2; +pub const tagMEMCTX_MEMCTX_MACSYSTEM: tagMEMCTX = 3; +pub const tagMEMCTX_MEMCTX_UNKNOWN: tagMEMCTX = -1; +pub const tagMEMCTX_MEMCTX_SAME: tagMEMCTX = -2; +pub type tagMEMCTX = ::std::os::raw::c_int; +pub use self::tagMEMCTX as MEMCTX; +pub const tagCLSCTX_CLSCTX_INPROC_SERVER: tagCLSCTX = 1; +pub const tagCLSCTX_CLSCTX_INPROC_HANDLER: tagCLSCTX = 2; +pub const tagCLSCTX_CLSCTX_LOCAL_SERVER: tagCLSCTX = 4; +pub const tagCLSCTX_CLSCTX_INPROC_SERVER16: tagCLSCTX = 8; +pub const tagCLSCTX_CLSCTX_REMOTE_SERVER: tagCLSCTX = 16; +pub const tagCLSCTX_CLSCTX_INPROC_HANDLER16: tagCLSCTX = 32; +pub const tagCLSCTX_CLSCTX_RESERVED1: tagCLSCTX = 64; +pub const tagCLSCTX_CLSCTX_RESERVED2: tagCLSCTX = 128; +pub const tagCLSCTX_CLSCTX_RESERVED3: tagCLSCTX = 256; +pub const tagCLSCTX_CLSCTX_RESERVED4: tagCLSCTX = 512; +pub const tagCLSCTX_CLSCTX_NO_CODE_DOWNLOAD: tagCLSCTX = 1024; +pub const tagCLSCTX_CLSCTX_RESERVED5: tagCLSCTX = 2048; +pub const tagCLSCTX_CLSCTX_NO_CUSTOM_MARSHAL: tagCLSCTX = 4096; +pub const tagCLSCTX_CLSCTX_ENABLE_CODE_DOWNLOAD: tagCLSCTX = 8192; +pub const tagCLSCTX_CLSCTX_NO_FAILURE_LOG: tagCLSCTX = 16384; +pub const tagCLSCTX_CLSCTX_DISABLE_AAA: tagCLSCTX = 32768; +pub const tagCLSCTX_CLSCTX_ENABLE_AAA: tagCLSCTX = 65536; +pub const tagCLSCTX_CLSCTX_FROM_DEFAULT_CONTEXT: tagCLSCTX = 131072; +pub const tagCLSCTX_CLSCTX_ACTIVATE_X86_SERVER: tagCLSCTX = 262144; +pub const tagCLSCTX_CLSCTX_ACTIVATE_32_BIT_SERVER: tagCLSCTX = 262144; +pub const tagCLSCTX_CLSCTX_ACTIVATE_64_BIT_SERVER: tagCLSCTX = 524288; +pub const tagCLSCTX_CLSCTX_ENABLE_CLOAKING: tagCLSCTX = 1048576; +pub const tagCLSCTX_CLSCTX_APPCONTAINER: tagCLSCTX = 4194304; +pub const tagCLSCTX_CLSCTX_ACTIVATE_AAA_AS_IU: tagCLSCTX = 8388608; +pub const tagCLSCTX_CLSCTX_RESERVED6: tagCLSCTX = 16777216; +pub const tagCLSCTX_CLSCTX_ACTIVATE_ARM32_SERVER: tagCLSCTX = 33554432; +pub const tagCLSCTX_CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION: tagCLSCTX = 67108864; +pub const tagCLSCTX_CLSCTX_PS_DLL: tagCLSCTX = -2147483648; +pub type tagCLSCTX = ::std::os::raw::c_int; +pub use self::tagCLSCTX as CLSCTX; +pub const tagMSHLFLAGS_MSHLFLAGS_NORMAL: tagMSHLFLAGS = 0; +pub const tagMSHLFLAGS_MSHLFLAGS_TABLESTRONG: tagMSHLFLAGS = 1; +pub const tagMSHLFLAGS_MSHLFLAGS_TABLEWEAK: tagMSHLFLAGS = 2; +pub const tagMSHLFLAGS_MSHLFLAGS_NOPING: tagMSHLFLAGS = 4; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED1: tagMSHLFLAGS = 8; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED2: tagMSHLFLAGS = 16; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED3: tagMSHLFLAGS = 32; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED4: tagMSHLFLAGS = 64; +pub type tagMSHLFLAGS = ::std::os::raw::c_int; +pub use self::tagMSHLFLAGS as MSHLFLAGS; +pub const tagMSHCTX_MSHCTX_LOCAL: tagMSHCTX = 0; +pub const tagMSHCTX_MSHCTX_NOSHAREDMEM: tagMSHCTX = 1; +pub const tagMSHCTX_MSHCTX_DIFFERENTMACHINE: tagMSHCTX = 2; +pub const tagMSHCTX_MSHCTX_INPROC: tagMSHCTX = 3; +pub const tagMSHCTX_MSHCTX_CROSSCTX: tagMSHCTX = 4; +pub const tagMSHCTX_MSHCTX_CONTAINER: tagMSHCTX = 5; +pub type tagMSHCTX = ::std::os::raw::c_int; +pub use self::tagMSHCTX as MSHCTX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BYTE_BLOB { + pub clSize: ULONG, + pub abData: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__BYTE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BYTE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BYTE_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BYTE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BYTE_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BYTE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_BLOB), + "::", + stringify!(abData) + ) + ); +} +pub type BYTE_BLOB = _BYTE_BLOB; +pub type UP_BYTE_BLOB = *mut BYTE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WORD_BLOB { + pub clSize: ULONG, + pub asData: [::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__WORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_WORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WORD_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_WORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_WORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_WORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WORD_BLOB), + "::", + stringify!(asData) + ) + ); +} +pub type WORD_BLOB = _WORD_BLOB; +pub type UP_WORD_BLOB = *mut WORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DWORD_BLOB { + pub clSize: ULONG, + pub alData: [ULONG; 1usize], +} +#[test] +fn bindgen_test_layout__DWORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_DWORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DWORD_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_DWORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_DWORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_DWORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DWORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).alData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DWORD_BLOB), + "::", + stringify!(alData) + ) + ); +} +pub type DWORD_BLOB = _DWORD_BLOB; +pub type UP_DWORD_BLOB = *mut DWORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FLAGGED_BYTE_BLOB { + pub fFlags: ULONG, + pub clSize: ULONG, + pub abData: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__FLAGGED_BYTE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_FLAGGED_BYTE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAGGED_BYTE_BLOB>(), + 12usize, + concat!("Size of: ", stringify!(_FLAGGED_BYTE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAGGED_BYTE_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_FLAGGED_BYTE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(abData) + ) + ); +} +pub type FLAGGED_BYTE_BLOB = _FLAGGED_BYTE_BLOB; +pub type UP_FLAGGED_BYTE_BLOB = *mut FLAGGED_BYTE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FLAGGED_WORD_BLOB { + pub fFlags: ULONG, + pub clSize: ULONG, + pub asData: [::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__FLAGGED_WORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_FLAGGED_WORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAGGED_WORD_BLOB>(), + 12usize, + concat!("Size of: ", stringify!(_FLAGGED_WORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAGGED_WORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_FLAGGED_WORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(asData) + ) + ); +} +pub type FLAGGED_WORD_BLOB = _FLAGGED_WORD_BLOB; +pub type UP_FLAGGED_WORD_BLOB = *mut FLAGGED_WORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BYTE_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut byte, +} +#[test] +fn bindgen_test_layout__BYTE_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_BYTE_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BYTE_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_BYTE_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_BYTE_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_BYTE_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type BYTE_SIZEDARR = _BYTE_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHORT_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__SHORT_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_SHORT_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHORT_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_SHORT_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_SHORT_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_SHORT_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHORT_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHORT_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type WORD_SIZEDARR = _SHORT_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LONG_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ULONG, +} +#[test] +fn bindgen_test_layout__LONG_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_LONG_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LONG_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_LONG_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_LONG_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_LONG_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LONG_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LONG_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type DWORD_SIZEDARR = _LONG_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HYPER_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__HYPER_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_HYPER_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HYPER_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_HYPER_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_HYPER_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_HYPER_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HYPER_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HYPER_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type HYPER_SIZEDARR = _HYPER_SIZEDARR; +extern "C" { + pub static mut IWinTypesBase_v0_1_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IWinTypesBase_v0_1_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBLOB { + pub cbSize: ULONG, + pub pBlobData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBLOB), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBlobData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBLOB), + "::", + stringify!(pBlobData) + ) + ); +} +pub type BLOB = tagBLOB; +pub type LPBLOB = *mut tagBLOB; +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHGLOBAL { + pub fNullHGlobal: LONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHGLOBAL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRemHGLOBAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHGLOBAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNullHGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(fNullHGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(data) + ) + ); +} +pub type RemHGLOBAL = tagRemHGLOBAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagRemHMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(data) + ) + ); +} +pub type RemHMETAFILEPICT = tagRemHMETAFILEPICT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHENHMETAFILE { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHENHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHENHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHENHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHENHMETAFILE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHENHMETAFILE), + "::", + stringify!(data) + ) + ); +} +pub type RemHENHMETAFILE = tagRemHENHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHBITMAP { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHBITMAP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHBITMAP), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHBITMAP), + "::", + stringify!(data) + ) + ); +} +pub type RemHBITMAP = tagRemHBITMAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHPALETTE { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHPALETTE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHPALETTE), + "::", + stringify!(data) + ) + ); +} +pub type RemHPALETTE = tagRemHPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemBRUSH { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemBRUSH), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemBRUSH), + "::", + stringify!(data) + ) + ); +} +pub type RemHBRUSH = tagRemBRUSH; +pub const tagDVASPECT_DVASPECT_CONTENT: tagDVASPECT = 1; +pub const tagDVASPECT_DVASPECT_THUMBNAIL: tagDVASPECT = 2; +pub const tagDVASPECT_DVASPECT_ICON: tagDVASPECT = 4; +pub const tagDVASPECT_DVASPECT_DOCPRINT: tagDVASPECT = 8; +pub type tagDVASPECT = ::std::os::raw::c_int; +pub use self::tagDVASPECT as DVASPECT; +pub const tagSTGC_STGC_DEFAULT: tagSTGC = 0; +pub const tagSTGC_STGC_OVERWRITE: tagSTGC = 1; +pub const tagSTGC_STGC_ONLYIFCURRENT: tagSTGC = 2; +pub const tagSTGC_STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE: tagSTGC = 4; +pub const tagSTGC_STGC_CONSOLIDATE: tagSTGC = 8; +pub type tagSTGC = ::std::os::raw::c_int; +pub use self::tagSTGC as STGC; +pub const tagSTGMOVE_STGMOVE_MOVE: tagSTGMOVE = 0; +pub const tagSTGMOVE_STGMOVE_COPY: tagSTGMOVE = 1; +pub const tagSTGMOVE_STGMOVE_SHALLOWCOPY: tagSTGMOVE = 2; +pub type tagSTGMOVE = ::std::os::raw::c_int; +pub use self::tagSTGMOVE as STGMOVE; +pub const tagSTATFLAG_STATFLAG_DEFAULT: tagSTATFLAG = 0; +pub const tagSTATFLAG_STATFLAG_NONAME: tagSTATFLAG = 1; +pub const tagSTATFLAG_STATFLAG_NOOPEN: tagSTATFLAG = 2; +pub type tagSTATFLAG = ::std::os::raw::c_int; +pub use self::tagSTATFLAG as STATFLAG; +pub type HCONTEXT = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userCLIPFORMAT { + pub fContext: LONG, + pub u: _userCLIPFORMAT___MIDL_IWinTypes_0001, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userCLIPFORMAT___MIDL_IWinTypes_0001 { + pub dwValue: DWORD, + pub pwszName: *mut wchar_t, +} +#[test] +fn bindgen_test_layout__userCLIPFORMAT___MIDL_IWinTypes_0001() { + const UNINIT: ::std::mem::MaybeUninit<_userCLIPFORMAT___MIDL_IWinTypes_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userCLIPFORMAT___MIDL_IWinTypes_0001>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userCLIPFORMAT___MIDL_IWinTypes_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), + "::", + stringify!(dwValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), + "::", + stringify!(pwszName) + ) + ); +} +#[test] +fn bindgen_test_layout__userCLIPFORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_userCLIPFORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userCLIPFORMAT>(), + 16usize, + concat!("Size of: ", stringify!(_userCLIPFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_userCLIPFORMAT>(), + 8usize, + concat!("Alignment of ", stringify!(_userCLIPFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT), + "::", + stringify!(u) + ) + ); +} +pub type userCLIPFORMAT = _userCLIPFORMAT; +pub type wireCLIPFORMAT = *mut userCLIPFORMAT; +pub type CLIPFORMAT = WORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GDI_NONREMOTE { + pub fContext: LONG, + pub u: _GDI_NONREMOTE___MIDL_IWinTypes_0002, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GDI_NONREMOTE___MIDL_IWinTypes_0002 { + pub hInproc: LONG, + pub hRemote: *mut DWORD_BLOB, +} +#[test] +fn bindgen_test_layout__GDI_NONREMOTE___MIDL_IWinTypes_0002() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_NONREMOTE___MIDL_IWinTypes_0002> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>(), + 8usize, + concat!( + "Size of: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), + "::", + stringify!(hRemote) + ) + ); +} +#[test] +fn bindgen_test_layout__GDI_NONREMOTE() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_NONREMOTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_NONREMOTE>(), + 16usize, + concat!("Size of: ", stringify!(_GDI_NONREMOTE)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_NONREMOTE>(), + 8usize, + concat!("Alignment of ", stringify!(_GDI_NONREMOTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE), + "::", + stringify!(u) + ) + ); +} +pub type GDI_NONREMOTE = _GDI_NONREMOTE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHGLOBAL { + pub fContext: LONG, + pub u: _userHGLOBAL___MIDL_IWinTypes_0003, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHGLOBAL___MIDL_IWinTypes_0003 { + pub hInproc: LONG, + pub hRemote: *mut FLAGGED_BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHGLOBAL___MIDL_IWinTypes_0003() { + const UNINIT: ::std::mem::MaybeUninit<_userHGLOBAL___MIDL_IWinTypes_0003> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHGLOBAL___MIDL_IWinTypes_0003>(), + 8usize, + concat!("Size of: ", stringify!(_userHGLOBAL___MIDL_IWinTypes_0003)) + ); + assert_eq!( + ::std::mem::align_of::<_userHGLOBAL___MIDL_IWinTypes_0003>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHGLOBAL() { + const UNINIT: ::std::mem::MaybeUninit<_userHGLOBAL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHGLOBAL>(), + 16usize, + concat!("Size of: ", stringify!(_userHGLOBAL)) + ); + assert_eq!( + ::std::mem::align_of::<_userHGLOBAL>(), + 8usize, + concat!("Alignment of ", stringify!(_userHGLOBAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL), + "::", + stringify!(u) + ) + ); +} +pub type userHGLOBAL = _userHGLOBAL; +pub type wireHGLOBAL = *mut userHGLOBAL; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHMETAFILE { + pub fContext: LONG, + pub u: _userHMETAFILE___MIDL_IWinTypes_0004, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHMETAFILE___MIDL_IWinTypes_0004 { + pub hInproc: LONG, + pub hRemote: *mut BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHMETAFILE___MIDL_IWinTypes_0004() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILE___MIDL_IWinTypes_0004> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILE___MIDL_IWinTypes_0004>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILE___MIDL_IWinTypes_0004>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILE>(), + 16usize, + concat!("Size of: ", stringify!(_userHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE), + "::", + stringify!(u) + ) + ); +} +pub type userHMETAFILE = _userHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _remoteMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub hMF: *mut userHMETAFILE, +} +#[test] +fn bindgen_test_layout__remoteMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit<_remoteMETAFILEPICT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_remoteMETAFILEPICT>(), + 24usize, + concat!("Size of: ", stringify!(_remoteMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::<_remoteMETAFILEPICT>(), + 8usize, + concat!("Alignment of ", stringify!(_remoteMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(hMF) + ) + ); +} +pub type remoteMETAFILEPICT = _remoteMETAFILEPICT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHMETAFILEPICT { + pub fContext: LONG, + pub u: _userHMETAFILEPICT___MIDL_IWinTypes_0005, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHMETAFILEPICT___MIDL_IWinTypes_0005 { + pub hInproc: LONG, + pub hRemote: *mut remoteMETAFILEPICT, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHMETAFILEPICT___MIDL_IWinTypes_0005() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILEPICT___MIDL_IWinTypes_0005> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILEPICT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILEPICT>(), + 16usize, + concat!("Size of: ", stringify!(_userHMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILEPICT>(), + 8usize, + concat!("Alignment of ", stringify!(_userHMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT), + "::", + stringify!(u) + ) + ); +} +pub type userHMETAFILEPICT = _userHMETAFILEPICT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHENHMETAFILE { + pub fContext: LONG, + pub u: _userHENHMETAFILE___MIDL_IWinTypes_0006, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHENHMETAFILE___MIDL_IWinTypes_0006 { + pub hInproc: LONG, + pub hRemote: *mut BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHENHMETAFILE___MIDL_IWinTypes_0006() { + const UNINIT: ::std::mem::MaybeUninit<_userHENHMETAFILE___MIDL_IWinTypes_0006> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHENHMETAFILE___MIDL_IWinTypes_0006>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHENHMETAFILE___MIDL_IWinTypes_0006>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHENHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit<_userHENHMETAFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHENHMETAFILE>(), + 16usize, + concat!("Size of: ", stringify!(_userHENHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHENHMETAFILE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHENHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE), + "::", + stringify!(u) + ) + ); +} +pub type userHENHMETAFILE = _userHENHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userBITMAP { + pub bmType: LONG, + pub bmWidth: LONG, + pub bmHeight: LONG, + pub bmWidthBytes: LONG, + pub bmPlanes: WORD, + pub bmBitsPixel: WORD, + pub cbSize: ULONG, + pub pBuffer: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__userBITMAP() { + const UNINIT: ::std::mem::MaybeUninit<_userBITMAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userBITMAP>(), + 28usize, + concat!("Size of: ", stringify!(_userBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::<_userBITMAP>(), + 4usize, + concat!("Alignment of ", stringify!(_userBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidthBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmWidthBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmPlanes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBitsPixel) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmBitsPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(pBuffer) + ) + ); +} +pub type userBITMAP = _userBITMAP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHBITMAP { + pub fContext: LONG, + pub u: _userHBITMAP___MIDL_IWinTypes_0007, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHBITMAP___MIDL_IWinTypes_0007 { + pub hInproc: LONG, + pub hRemote: *mut userBITMAP, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHBITMAP___MIDL_IWinTypes_0007() { + const UNINIT: ::std::mem::MaybeUninit<_userHBITMAP___MIDL_IWinTypes_0007> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHBITMAP___MIDL_IWinTypes_0007>(), + 8usize, + concat!("Size of: ", stringify!(_userHBITMAP___MIDL_IWinTypes_0007)) + ); + assert_eq!( + ::std::mem::align_of::<_userHBITMAP___MIDL_IWinTypes_0007>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHBITMAP() { + const UNINIT: ::std::mem::MaybeUninit<_userHBITMAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHBITMAP>(), + 16usize, + concat!("Size of: ", stringify!(_userHBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::<_userHBITMAP>(), + 8usize, + concat!("Alignment of ", stringify!(_userHBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP), + "::", + stringify!(u) + ) + ); +} +pub type userHBITMAP = _userHBITMAP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHPALETTE { + pub fContext: LONG, + pub u: _userHPALETTE___MIDL_IWinTypes_0008, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHPALETTE___MIDL_IWinTypes_0008 { + pub hInproc: LONG, + pub hRemote: *mut LOGPALETTE, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHPALETTE___MIDL_IWinTypes_0008() { + const UNINIT: ::std::mem::MaybeUninit<_userHPALETTE___MIDL_IWinTypes_0008> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHPALETTE___MIDL_IWinTypes_0008>(), + 8usize, + concat!("Size of: ", stringify!(_userHPALETTE___MIDL_IWinTypes_0008)) + ); + assert_eq!( + ::std::mem::align_of::<_userHPALETTE___MIDL_IWinTypes_0008>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHPALETTE() { + const UNINIT: ::std::mem::MaybeUninit<_userHPALETTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHPALETTE>(), + 16usize, + concat!("Size of: ", stringify!(_userHPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHPALETTE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE), + "::", + stringify!(u) + ) + ); +} +pub type userHPALETTE = _userHPALETTE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RemotableHandle { + pub fContext: LONG, + pub u: _RemotableHandle___MIDL_IWinTypes_0009, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RemotableHandle___MIDL_IWinTypes_0009 { + pub hInproc: LONG, + pub hRemote: LONG, +} +#[test] +fn bindgen_test_layout__RemotableHandle___MIDL_IWinTypes_0009() { + const UNINIT: ::std::mem::MaybeUninit<_RemotableHandle___MIDL_IWinTypes_0009> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RemotableHandle___MIDL_IWinTypes_0009>(), + 4usize, + concat!( + "Size of: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RemotableHandle___MIDL_IWinTypes_0009>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009), + "::", + stringify!(hRemote) + ) + ); +} +#[test] +fn bindgen_test_layout__RemotableHandle() { + const UNINIT: ::std::mem::MaybeUninit<_RemotableHandle> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RemotableHandle>(), + 8usize, + concat!("Size of: ", stringify!(_RemotableHandle)) + ); + assert_eq!( + ::std::mem::align_of::<_RemotableHandle>(), + 4usize, + concat!("Alignment of ", stringify!(_RemotableHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle), + "::", + stringify!(u) + ) + ); +} +pub type RemotableHandle = _RemotableHandle; +pub type wireHWND = *mut RemotableHandle; +pub type wireHMENU = *mut RemotableHandle; +pub type wireHACCEL = *mut RemotableHandle; +pub type wireHBRUSH = *mut RemotableHandle; +pub type wireHFONT = *mut RemotableHandle; +pub type wireHDC = *mut RemotableHandle; +pub type wireHICON = *mut RemotableHandle; +pub type wireHRGN = *mut RemotableHandle; +pub type wireHMONITOR = *mut RemotableHandle; +pub type wireHBITMAP = *mut userHBITMAP; +pub type wireHPALETTE = *mut userHPALETTE; +pub type wireHENHMETAFILE = *mut userHENHMETAFILE; +pub type wireHMETAFILE = *mut userHMETAFILE; +pub type wireHMETAFILEPICT = *mut userHMETAFILEPICT; +pub type HMETAFILEPICT = *mut ::std::os::raw::c_void; +extern "C" { + pub static mut IWinTypes_v0_1_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IWinTypes_v0_1_s_ifspec: RPC_IF_HANDLE; +} +pub type DATE = f64; +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagCY { + pub __bindgen_anon_1: tagCY__bindgen_ty_1, + pub int64: LONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCY__bindgen_ty_1 { + pub Lo: ULONG, + pub Hi: LONG, +} +#[test] +fn bindgen_test_layout_tagCY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCY__bindgen_ty_1), + "::", + stringify!(Lo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCY__bindgen_ty_1), + "::", + stringify!(Hi) + ) + ); +} +#[test] +fn bindgen_test_layout_tagCY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).int64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCY), + "::", + stringify!(int64) + ) + ); +} +pub type CY = tagCY; +pub type LPCY = *mut CY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagDEC { + pub wReserved: USHORT, + pub __bindgen_anon_1: tagDEC__bindgen_ty_1, + pub Hi32: ULONG, + pub __bindgen_anon_2: tagDEC__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagDEC__bindgen_ty_1 { + pub __bindgen_anon_1: tagDEC__bindgen_ty_1__bindgen_ty_1, + pub signscale: USHORT, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEC__bindgen_ty_1__bindgen_ty_1 { + pub scale: BYTE, + pub sign: BYTE, +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sign) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagDEC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).signscale) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1), + "::", + stringify!(signscale) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagDEC__bindgen_ty_2 { + pub __bindgen_anon_1: tagDEC__bindgen_ty_2__bindgen_ty_1, + pub Lo64: ULONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEC__bindgen_ty_2__bindgen_ty_1 { + pub Lo32: ULONG, + pub Mid32: ULONG, +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Lo32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mid32) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Mid32) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEC__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2), + "::", + stringify!(Lo64) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagDEC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hi32) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEC), + "::", + stringify!(Hi32) + ) + ); +} +pub type DECIMAL = tagDEC; +pub type LPDECIMAL = *mut DECIMAL; +pub type wireBSTR = *mut FLAGGED_WORD_BLOB; +pub type BSTR = *mut OLECHAR; +pub type LPBSTR = *mut BSTR; +pub type VARIANT_BOOL = ::std::os::raw::c_short; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBSTRBLOB { + pub cbSize: ULONG, + pub pData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagBSTRBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBSTRBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBSTRBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBSTRBLOB), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBSTRBLOB), + "::", + stringify!(pData) + ) + ); +} +pub type BSTRBLOB = tagBSTRBLOB; +pub type LPBSTRBLOB = *mut tagBSTRBLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLIPDATA { + pub cbSize: ULONG, + pub ulClipFmt: LONG, + pub pClipData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagCLIPDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCLIPDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLIPDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulClipFmt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(ulClipFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pClipData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(pClipData) + ) + ); +} +pub type CLIPDATA = tagCLIPDATA; +pub type VARTYPE = ::std::os::raw::c_ushort; +pub const VARENUM_VT_EMPTY: VARENUM = 0; +pub const VARENUM_VT_NULL: VARENUM = 1; +pub const VARENUM_VT_I2: VARENUM = 2; +pub const VARENUM_VT_I4: VARENUM = 3; +pub const VARENUM_VT_R4: VARENUM = 4; +pub const VARENUM_VT_R8: VARENUM = 5; +pub const VARENUM_VT_CY: VARENUM = 6; +pub const VARENUM_VT_DATE: VARENUM = 7; +pub const VARENUM_VT_BSTR: VARENUM = 8; +pub const VARENUM_VT_DISPATCH: VARENUM = 9; +pub const VARENUM_VT_ERROR: VARENUM = 10; +pub const VARENUM_VT_BOOL: VARENUM = 11; +pub const VARENUM_VT_VARIANT: VARENUM = 12; +pub const VARENUM_VT_UNKNOWN: VARENUM = 13; +pub const VARENUM_VT_DECIMAL: VARENUM = 14; +pub const VARENUM_VT_I1: VARENUM = 16; +pub const VARENUM_VT_UI1: VARENUM = 17; +pub const VARENUM_VT_UI2: VARENUM = 18; +pub const VARENUM_VT_UI4: VARENUM = 19; +pub const VARENUM_VT_I8: VARENUM = 20; +pub const VARENUM_VT_UI8: VARENUM = 21; +pub const VARENUM_VT_INT: VARENUM = 22; +pub const VARENUM_VT_UINT: VARENUM = 23; +pub const VARENUM_VT_VOID: VARENUM = 24; +pub const VARENUM_VT_HRESULT: VARENUM = 25; +pub const VARENUM_VT_PTR: VARENUM = 26; +pub const VARENUM_VT_SAFEARRAY: VARENUM = 27; +pub const VARENUM_VT_CARRAY: VARENUM = 28; +pub const VARENUM_VT_USERDEFINED: VARENUM = 29; +pub const VARENUM_VT_LPSTR: VARENUM = 30; +pub const VARENUM_VT_LPWSTR: VARENUM = 31; +pub const VARENUM_VT_RECORD: VARENUM = 36; +pub const VARENUM_VT_INT_PTR: VARENUM = 37; +pub const VARENUM_VT_UINT_PTR: VARENUM = 38; +pub const VARENUM_VT_FILETIME: VARENUM = 64; +pub const VARENUM_VT_BLOB: VARENUM = 65; +pub const VARENUM_VT_STREAM: VARENUM = 66; +pub const VARENUM_VT_STORAGE: VARENUM = 67; +pub const VARENUM_VT_STREAMED_OBJECT: VARENUM = 68; +pub const VARENUM_VT_STORED_OBJECT: VARENUM = 69; +pub const VARENUM_VT_BLOB_OBJECT: VARENUM = 70; +pub const VARENUM_VT_CF: VARENUM = 71; +pub const VARENUM_VT_CLSID: VARENUM = 72; +pub const VARENUM_VT_VERSIONED_STREAM: VARENUM = 73; +pub const VARENUM_VT_BSTR_BLOB: VARENUM = 4095; +pub const VARENUM_VT_VECTOR: VARENUM = 4096; +pub const VARENUM_VT_ARRAY: VARENUM = 8192; +pub const VARENUM_VT_BYREF: VARENUM = 16384; +pub const VARENUM_VT_RESERVED: VARENUM = 32768; +pub const VARENUM_VT_ILLEGAL: VARENUM = 65535; +pub const VARENUM_VT_ILLEGALMASKED: VARENUM = 4095; +pub const VARENUM_VT_TYPEMASK: VARENUM = 4095; +pub type VARENUM = ::std::os::raw::c_int; +pub type PROPID = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagpropertykey { + pub fmtid: GUID, + pub pid: DWORD, +} +#[test] +fn bindgen_test_layout__tagpropertykey() { + const UNINIT: ::std::mem::MaybeUninit<_tagpropertykey> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagpropertykey>(), + 20usize, + concat!("Size of: ", stringify!(_tagpropertykey)) + ); + assert_eq!( + ::std::mem::align_of::<_tagpropertykey>(), + 4usize, + concat!("Alignment of ", stringify!(_tagpropertykey)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fmtid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagpropertykey), + "::", + stringify!(fmtid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagpropertykey), + "::", + stringify!(pid) + ) + ); +} +pub type PROPERTYKEY = _tagpropertykey; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCSPLATFORM { + pub dwPlatformId: DWORD, + pub dwVersionHi: DWORD, + pub dwVersionLo: DWORD, + pub dwProcessorArch: DWORD, +} +#[test] +fn bindgen_test_layout_tagCSPLATFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCSPLATFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCSPLATFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionHi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwVersionHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwVersionLo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorArch) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwProcessorArch) + ) + ); +} +pub type CSPLATFORM = tagCSPLATFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagQUERYCONTEXT { + pub dwContext: DWORD, + pub Platform: CSPLATFORM, + pub Locale: LCID, + pub dwVersionHi: DWORD, + pub dwVersionLo: DWORD, +} +#[test] +fn bindgen_test_layout_tagQUERYCONTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagQUERYCONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagQUERYCONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Platform) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(Platform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locale) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(Locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionHi) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwVersionHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLo) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwVersionLo) + ) + ); +} +pub type QUERYCONTEXT = tagQUERYCONTEXT; +pub const tagTYSPEC_TYSPEC_CLSID: tagTYSPEC = 0; +pub const tagTYSPEC_TYSPEC_FILEEXT: tagTYSPEC = 1; +pub const tagTYSPEC_TYSPEC_MIMETYPE: tagTYSPEC = 2; +pub const tagTYSPEC_TYSPEC_FILENAME: tagTYSPEC = 3; +pub const tagTYSPEC_TYSPEC_PROGID: tagTYSPEC = 4; +pub const tagTYSPEC_TYSPEC_PACKAGENAME: tagTYSPEC = 5; +pub const tagTYSPEC_TYSPEC_OBJECTID: tagTYSPEC = 6; +pub type tagTYSPEC = ::std::os::raw::c_int; +pub use self::tagTYSPEC as TYSPEC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001 { + pub tyspec: DWORD, + pub tagged_union: + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 { pub clsid : CLSID , pub pFileExt : LPOLESTR , pub pMimeType : LPOLESTR , pub pProgId : LPOLESTR , pub pFileName : LPOLESTR , pub ByName : __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 , pub ByObjectId : __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 , } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 +{ + pub pPackageName: LPOLESTR, + pub PolicyId: GUID, +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1( +) { + const UNINIT : :: std :: mem :: MaybeUninit < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; + let ptr = UNINIT.as_ptr(); + assert_eq ! (:: std :: mem :: size_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > () , 24usize , concat ! ("Size of: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1))); + assert_eq ! (:: std :: mem :: align_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > () , 8usize , concat ! ("Alignment of " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pPackageName) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1) , "::" , stringify ! (pPackageName))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PolicyId) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1) , "::" , stringify ! (PolicyId))); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 +{ + pub ObjectId: GUID, + pub PolicyId: GUID, +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2( +) { + const UNINIT : :: std :: mem :: MaybeUninit < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > = :: std :: mem :: MaybeUninit :: uninit () ; + let ptr = UNINIT.as_ptr(); + assert_eq ! (:: std :: mem :: size_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > () , 32usize , concat ! ("Size of: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2))); + assert_eq ! (:: std :: mem :: align_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > () , 4usize , concat ! ("Alignment of " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ObjectId) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2) , "::" , stringify ! (ObjectId))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PolicyId) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2) , "::" , stringify ! (PolicyId))); +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005( +) { + const UNINIT: ::std::mem::MaybeUninit< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + >(), + 32usize, + concat!( + "Size of: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + >(), + 8usize, + concat!( + "Alignment of ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFileExt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pFileExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMimeType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pMimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pProgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(ByName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(ByObjectId) + ) + ); +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001() { + const UNINIT: ::std::mem::MaybeUninit<__MIDL___MIDL_itf_wtypes_0000_0001_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>(), + 40usize, + concat!( + "Size of: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tyspec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), + "::", + stringify!(tyspec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tagged_union) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), + "::", + stringify!(tagged_union) + ) + ); +} +pub type uCLSSPEC = __MIDL___MIDL_itf_wtypes_0000_0001_0001; +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static GUID_DEVINTERFACE_DISK: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_CDROM: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_PARTITION: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_TAPE: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_WRITEONCEDISK: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_MEDIUMCHANGER: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_FLOPPY: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_CDCHANGER: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_STORAGEPORT: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_VMLUN: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SES: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_ZNSDISK: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SERVICE_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_HIDDEN_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE: GUID; +} +extern "C" { + pub static GUID_SCM_PD_HEALTH_NOTIFICATION: GUID; +} +extern "C" { + pub static GUID_SCM_PD_PASSTHROUGH_INVDIMM: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_COMPORT: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HOTPLUG_INFO { + pub Size: DWORD, + pub MediaRemovable: BOOLEAN, + pub MediaHotplug: BOOLEAN, + pub DeviceHotplug: BOOLEAN, + pub WriteCacheEnableOverride: BOOLEAN, +} +#[test] +fn bindgen_test_layout__STORAGE_HOTPLUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HOTPLUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HOTPLUG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_HOTPLUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HOTPLUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HOTPLUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaRemovable) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(MediaRemovable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaHotplug) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(MediaHotplug) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHotplug) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(DeviceHotplug) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnableOverride) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(WriteCacheEnableOverride) + ) + ); +} +pub type STORAGE_HOTPLUG_INFO = _STORAGE_HOTPLUG_INFO; +pub type PSTORAGE_HOTPLUG_INFO = *mut _STORAGE_HOTPLUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBER { + pub DeviceType: DWORD, + pub DeviceNumber: DWORD, + pub PartitionNumber: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBER>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(PartitionNumber) + ) + ); +} +pub type STORAGE_DEVICE_NUMBER = _STORAGE_DEVICE_NUMBER; +pub type PSTORAGE_DEVICE_NUMBER = *mut _STORAGE_DEVICE_NUMBER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBERS { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfDevices: DWORD, + pub Devices: [STORAGE_DEVICE_NUMBER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBERS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBERS>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBERS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBERS>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDevices) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(NumberOfDevices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Devices) + ) + ); +} +pub type STORAGE_DEVICE_NUMBERS = _STORAGE_DEVICE_NUMBERS; +pub type PSTORAGE_DEVICE_NUMBERS = *mut _STORAGE_DEVICE_NUMBERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBER_EX { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub DeviceType: DWORD, + pub DeviceNumber: DWORD, + pub DeviceGuid: GUID, + pub PartitionNumber: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBER_EX() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBER_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBER_EX>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBER_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBER_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBER_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(PartitionNumber) + ) + ); +} +pub type STORAGE_DEVICE_NUMBER_EX = _STORAGE_DEVICE_NUMBER_EX; +pub type PSTORAGE_DEVICE_NUMBER_EX = *mut _STORAGE_DEVICE_NUMBER_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_BUS_RESET_REQUEST { + pub PathId: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_BUS_RESET_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_BUS_RESET_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_BUS_RESET_REQUEST>(), + 1usize, + concat!("Size of: ", stringify!(_STORAGE_BUS_RESET_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_BUS_RESET_REQUEST>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_BUS_RESET_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_BUS_RESET_REQUEST), + "::", + stringify!(PathId) + ) + ); +} +pub type STORAGE_BUS_RESET_REQUEST = _STORAGE_BUS_RESET_REQUEST; +pub type PSTORAGE_BUS_RESET_REQUEST = *mut _STORAGE_BUS_RESET_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct STORAGE_BREAK_RESERVATION_REQUEST { + pub Length: DWORD, + pub _unused: BYTE, + pub PathId: BYTE, + pub TargetId: BYTE, + pub Lun: BYTE, +} +#[test] +fn bindgen_test_layout_STORAGE_BREAK_RESERVATION_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._unused) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(_unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathId) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(PathId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(Lun) + ) + ); +} +pub type PSTORAGE_BREAK_RESERVATION_REQUEST = *mut STORAGE_BREAK_RESERVATION_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PREVENT_MEDIA_REMOVAL { + pub PreventMediaRemoval: BOOLEAN, +} +#[test] +fn bindgen_test_layout__PREVENT_MEDIA_REMOVAL() { + const UNINIT: ::std::mem::MaybeUninit<_PREVENT_MEDIA_REMOVAL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PREVENT_MEDIA_REMOVAL>(), + 1usize, + concat!("Size of: ", stringify!(_PREVENT_MEDIA_REMOVAL)) + ); + assert_eq!( + ::std::mem::align_of::<_PREVENT_MEDIA_REMOVAL>(), + 1usize, + concat!("Alignment of ", stringify!(_PREVENT_MEDIA_REMOVAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreventMediaRemoval) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PREVENT_MEDIA_REMOVAL), + "::", + stringify!(PreventMediaRemoval) + ) + ); +} +pub type PREVENT_MEDIA_REMOVAL = _PREVENT_MEDIA_REMOVAL; +pub type PPREVENT_MEDIA_REMOVAL = *mut _PREVENT_MEDIA_REMOVAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLASS_MEDIA_CHANGE_CONTEXT { + pub MediaChangeCount: DWORD, + pub NewState: DWORD, +} +#[test] +fn bindgen_test_layout__CLASS_MEDIA_CHANGE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CLASS_MEDIA_CHANGE_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLASS_MEDIA_CHANGE_CONTEXT>(), + 8usize, + concat!("Size of: ", stringify!(_CLASS_MEDIA_CHANGE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CLASS_MEDIA_CHANGE_CONTEXT>(), + 4usize, + concat!("Alignment of ", stringify!(_CLASS_MEDIA_CHANGE_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaChangeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLASS_MEDIA_CHANGE_CONTEXT), + "::", + stringify!(MediaChangeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLASS_MEDIA_CHANGE_CONTEXT), + "::", + stringify!(NewState) + ) + ); +} +pub type CLASS_MEDIA_CHANGE_CONTEXT = _CLASS_MEDIA_CHANGE_CONTEXT; +pub type PCLASS_MEDIA_CHANGE_CONTEXT = *mut _CLASS_MEDIA_CHANGE_CONTEXT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_STATISTICS { + pub Version: DWORD, + pub Flags: DWORD, + pub RecoveredWrites: LARGE_INTEGER, + pub UnrecoveredWrites: LARGE_INTEGER, + pub RecoveredReads: LARGE_INTEGER, + pub UnrecoveredReads: LARGE_INTEGER, + pub CompressionRatioReads: BYTE, + pub CompressionRatioWrites: BYTE, +} +#[test] +fn bindgen_test_layout__TAPE_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_STATISTICS>(), + 48usize, + concat!("Size of: ", stringify!(_TAPE_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_STATISTICS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecoveredWrites) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(RecoveredWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrecoveredWrites) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(UnrecoveredWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecoveredReads) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(RecoveredReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrecoveredReads) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(UnrecoveredReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionRatioReads) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(CompressionRatioReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionRatioWrites) as usize - ptr as usize }, + 41usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(CompressionRatioWrites) + ) + ); +} +pub type TAPE_STATISTICS = _TAPE_STATISTICS; +pub type PTAPE_STATISTICS = *mut _TAPE_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_GET_STATISTICS { + pub Operation: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_GET_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_STATISTICS>(), + 4usize, + concat!("Size of: ", stringify!(_TAPE_GET_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_GET_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_STATISTICS), + "::", + stringify!(Operation) + ) + ); +} +pub type TAPE_GET_STATISTICS = _TAPE_GET_STATISTICS; +pub type PTAPE_GET_STATISTICS = *mut _TAPE_GET_STATISTICS; +pub const _STORAGE_MEDIA_TYPE_DDS_4mm: _STORAGE_MEDIA_TYPE = 32; +pub const _STORAGE_MEDIA_TYPE_MiniQic: _STORAGE_MEDIA_TYPE = 33; +pub const _STORAGE_MEDIA_TYPE_Travan: _STORAGE_MEDIA_TYPE = 34; +pub const _STORAGE_MEDIA_TYPE_QIC: _STORAGE_MEDIA_TYPE = 35; +pub const _STORAGE_MEDIA_TYPE_MP_8mm: _STORAGE_MEDIA_TYPE = 36; +pub const _STORAGE_MEDIA_TYPE_AME_8mm: _STORAGE_MEDIA_TYPE = 37; +pub const _STORAGE_MEDIA_TYPE_AIT1_8mm: _STORAGE_MEDIA_TYPE = 38; +pub const _STORAGE_MEDIA_TYPE_DLT: _STORAGE_MEDIA_TYPE = 39; +pub const _STORAGE_MEDIA_TYPE_NCTP: _STORAGE_MEDIA_TYPE = 40; +pub const _STORAGE_MEDIA_TYPE_IBM_3480: _STORAGE_MEDIA_TYPE = 41; +pub const _STORAGE_MEDIA_TYPE_IBM_3490E: _STORAGE_MEDIA_TYPE = 42; +pub const _STORAGE_MEDIA_TYPE_IBM_Magstar_3590: _STORAGE_MEDIA_TYPE = 43; +pub const _STORAGE_MEDIA_TYPE_IBM_Magstar_MP: _STORAGE_MEDIA_TYPE = 44; +pub const _STORAGE_MEDIA_TYPE_STK_DATA_D3: _STORAGE_MEDIA_TYPE = 45; +pub const _STORAGE_MEDIA_TYPE_SONY_DTF: _STORAGE_MEDIA_TYPE = 46; +pub const _STORAGE_MEDIA_TYPE_DV_6mm: _STORAGE_MEDIA_TYPE = 47; +pub const _STORAGE_MEDIA_TYPE_DMI: _STORAGE_MEDIA_TYPE = 48; +pub const _STORAGE_MEDIA_TYPE_SONY_D2: _STORAGE_MEDIA_TYPE = 49; +pub const _STORAGE_MEDIA_TYPE_CLEANER_CARTRIDGE: _STORAGE_MEDIA_TYPE = 50; +pub const _STORAGE_MEDIA_TYPE_CD_ROM: _STORAGE_MEDIA_TYPE = 51; +pub const _STORAGE_MEDIA_TYPE_CD_R: _STORAGE_MEDIA_TYPE = 52; +pub const _STORAGE_MEDIA_TYPE_CD_RW: _STORAGE_MEDIA_TYPE = 53; +pub const _STORAGE_MEDIA_TYPE_DVD_ROM: _STORAGE_MEDIA_TYPE = 54; +pub const _STORAGE_MEDIA_TYPE_DVD_R: _STORAGE_MEDIA_TYPE = 55; +pub const _STORAGE_MEDIA_TYPE_DVD_RW: _STORAGE_MEDIA_TYPE = 56; +pub const _STORAGE_MEDIA_TYPE_MO_3_RW: _STORAGE_MEDIA_TYPE = 57; +pub const _STORAGE_MEDIA_TYPE_MO_5_WO: _STORAGE_MEDIA_TYPE = 58; +pub const _STORAGE_MEDIA_TYPE_MO_5_RW: _STORAGE_MEDIA_TYPE = 59; +pub const _STORAGE_MEDIA_TYPE_MO_5_LIMDOW: _STORAGE_MEDIA_TYPE = 60; +pub const _STORAGE_MEDIA_TYPE_PC_5_WO: _STORAGE_MEDIA_TYPE = 61; +pub const _STORAGE_MEDIA_TYPE_PC_5_RW: _STORAGE_MEDIA_TYPE = 62; +pub const _STORAGE_MEDIA_TYPE_PD_5_RW: _STORAGE_MEDIA_TYPE = 63; +pub const _STORAGE_MEDIA_TYPE_ABL_5_WO: _STORAGE_MEDIA_TYPE = 64; +pub const _STORAGE_MEDIA_TYPE_PINNACLE_APEX_5_RW: _STORAGE_MEDIA_TYPE = 65; +pub const _STORAGE_MEDIA_TYPE_SONY_12_WO: _STORAGE_MEDIA_TYPE = 66; +pub const _STORAGE_MEDIA_TYPE_PHILIPS_12_WO: _STORAGE_MEDIA_TYPE = 67; +pub const _STORAGE_MEDIA_TYPE_HITACHI_12_WO: _STORAGE_MEDIA_TYPE = 68; +pub const _STORAGE_MEDIA_TYPE_CYGNET_12_WO: _STORAGE_MEDIA_TYPE = 69; +pub const _STORAGE_MEDIA_TYPE_KODAK_14_WO: _STORAGE_MEDIA_TYPE = 70; +pub const _STORAGE_MEDIA_TYPE_MO_NFR_525: _STORAGE_MEDIA_TYPE = 71; +pub const _STORAGE_MEDIA_TYPE_NIKON_12_RW: _STORAGE_MEDIA_TYPE = 72; +pub const _STORAGE_MEDIA_TYPE_IOMEGA_ZIP: _STORAGE_MEDIA_TYPE = 73; +pub const _STORAGE_MEDIA_TYPE_IOMEGA_JAZ: _STORAGE_MEDIA_TYPE = 74; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_EZ135: _STORAGE_MEDIA_TYPE = 75; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_EZFLYER: _STORAGE_MEDIA_TYPE = 76; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_SYJET: _STORAGE_MEDIA_TYPE = 77; +pub const _STORAGE_MEDIA_TYPE_AVATAR_F2: _STORAGE_MEDIA_TYPE = 78; +pub const _STORAGE_MEDIA_TYPE_MP2_8mm: _STORAGE_MEDIA_TYPE = 79; +pub const _STORAGE_MEDIA_TYPE_DST_S: _STORAGE_MEDIA_TYPE = 80; +pub const _STORAGE_MEDIA_TYPE_DST_M: _STORAGE_MEDIA_TYPE = 81; +pub const _STORAGE_MEDIA_TYPE_DST_L: _STORAGE_MEDIA_TYPE = 82; +pub const _STORAGE_MEDIA_TYPE_VXATape_1: _STORAGE_MEDIA_TYPE = 83; +pub const _STORAGE_MEDIA_TYPE_VXATape_2: _STORAGE_MEDIA_TYPE = 84; +pub const _STORAGE_MEDIA_TYPE_STK_9840: _STORAGE_MEDIA_TYPE = 85; +pub const _STORAGE_MEDIA_TYPE_LTO_Ultrium: _STORAGE_MEDIA_TYPE = 86; +pub const _STORAGE_MEDIA_TYPE_LTO_Accelis: _STORAGE_MEDIA_TYPE = 87; +pub const _STORAGE_MEDIA_TYPE_DVD_RAM: _STORAGE_MEDIA_TYPE = 88; +pub const _STORAGE_MEDIA_TYPE_AIT_8mm: _STORAGE_MEDIA_TYPE = 89; +pub const _STORAGE_MEDIA_TYPE_ADR_1: _STORAGE_MEDIA_TYPE = 90; +pub const _STORAGE_MEDIA_TYPE_ADR_2: _STORAGE_MEDIA_TYPE = 91; +pub const _STORAGE_MEDIA_TYPE_STK_9940: _STORAGE_MEDIA_TYPE = 92; +pub const _STORAGE_MEDIA_TYPE_SAIT: _STORAGE_MEDIA_TYPE = 93; +pub const _STORAGE_MEDIA_TYPE_VXATape: _STORAGE_MEDIA_TYPE = 94; +pub type _STORAGE_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_MEDIA_TYPE as STORAGE_MEDIA_TYPE; +pub type PSTORAGE_MEDIA_TYPE = *mut _STORAGE_MEDIA_TYPE; +pub const _STORAGE_BUS_TYPE_BusTypeUnknown: _STORAGE_BUS_TYPE = 0; +pub const _STORAGE_BUS_TYPE_BusTypeScsi: _STORAGE_BUS_TYPE = 1; +pub const _STORAGE_BUS_TYPE_BusTypeAtapi: _STORAGE_BUS_TYPE = 2; +pub const _STORAGE_BUS_TYPE_BusTypeAta: _STORAGE_BUS_TYPE = 3; +pub const _STORAGE_BUS_TYPE_BusType1394: _STORAGE_BUS_TYPE = 4; +pub const _STORAGE_BUS_TYPE_BusTypeSsa: _STORAGE_BUS_TYPE = 5; +pub const _STORAGE_BUS_TYPE_BusTypeFibre: _STORAGE_BUS_TYPE = 6; +pub const _STORAGE_BUS_TYPE_BusTypeUsb: _STORAGE_BUS_TYPE = 7; +pub const _STORAGE_BUS_TYPE_BusTypeRAID: _STORAGE_BUS_TYPE = 8; +pub const _STORAGE_BUS_TYPE_BusTypeiScsi: _STORAGE_BUS_TYPE = 9; +pub const _STORAGE_BUS_TYPE_BusTypeSas: _STORAGE_BUS_TYPE = 10; +pub const _STORAGE_BUS_TYPE_BusTypeSata: _STORAGE_BUS_TYPE = 11; +pub const _STORAGE_BUS_TYPE_BusTypeSd: _STORAGE_BUS_TYPE = 12; +pub const _STORAGE_BUS_TYPE_BusTypeMmc: _STORAGE_BUS_TYPE = 13; +pub const _STORAGE_BUS_TYPE_BusTypeVirtual: _STORAGE_BUS_TYPE = 14; +pub const _STORAGE_BUS_TYPE_BusTypeFileBackedVirtual: _STORAGE_BUS_TYPE = 15; +pub const _STORAGE_BUS_TYPE_BusTypeSpaces: _STORAGE_BUS_TYPE = 16; +pub const _STORAGE_BUS_TYPE_BusTypeNvme: _STORAGE_BUS_TYPE = 17; +pub const _STORAGE_BUS_TYPE_BusTypeSCM: _STORAGE_BUS_TYPE = 18; +pub const _STORAGE_BUS_TYPE_BusTypeUfs: _STORAGE_BUS_TYPE = 19; +pub const _STORAGE_BUS_TYPE_BusTypeMax: _STORAGE_BUS_TYPE = 20; +pub const _STORAGE_BUS_TYPE_BusTypeMaxReserved: _STORAGE_BUS_TYPE = 127; +pub type _STORAGE_BUS_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_BUS_TYPE as STORAGE_BUS_TYPE; +pub type PSTORAGE_BUS_TYPE = *mut _STORAGE_BUS_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO { + pub DeviceSpecific: _DEVICE_MEDIA_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_MEDIA_INFO__bindgen_ty_1 { + pub DiskInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1, + pub RemovableDiskInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2, + pub TapeInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Cylinders: LARGE_INTEGER, + pub MediaType: STORAGE_MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, + pub NumberMediaSides: DWORD, + pub MediaCharacteristics: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberMediaSides) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(NumberMediaSides) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediaCharacteristics) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2 { + pub Cylinders: LARGE_INTEGER, + pub MediaType: STORAGE_MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, + pub NumberMediaSides: DWORD, + pub MediaCharacteristics: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberMediaSides) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(NumberMediaSides) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(MediaCharacteristics) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3 { + pub MediaType: STORAGE_MEDIA_TYPE, + pub MediaCharacteristics: DWORD, + pub CurrentBlockSize: DWORD, + pub BusType: STORAGE_BUS_TYPE, + pub BusSpecificData: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1 { + pub ScsiInformation: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { + pub MediumType: BYTE, + pub DensityCode: BYTE, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() +{ + const UNINIT: ::std::mem::MaybeUninit< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >(), + 2usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediumType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediumType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DensityCode) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DensityCode) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScsiInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1), + "::", + stringify!(ScsiInformation) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>(), + 20usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(MediaCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentBlockSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(CurrentBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusSpecificData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(BusSpecificData) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(DiskInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemovableDiskInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(RemovableDiskInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TapeInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(TapeInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_MEDIA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_MEDIA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceSpecific) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO), + "::", + stringify!(DeviceSpecific) + ) + ); +} +pub type DEVICE_MEDIA_INFO = _DEVICE_MEDIA_INFO; +pub type PDEVICE_MEDIA_INFO = *mut _DEVICE_MEDIA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GET_MEDIA_TYPES { + pub DeviceType: DWORD, + pub MediaInfoCount: DWORD, + pub MediaInfo: [DEVICE_MEDIA_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__GET_MEDIA_TYPES() { + const UNINIT: ::std::mem::MaybeUninit<_GET_MEDIA_TYPES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_MEDIA_TYPES>(), + 40usize, + concat!("Size of: ", stringify!(_GET_MEDIA_TYPES)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_MEDIA_TYPES>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_MEDIA_TYPES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaInfoCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(MediaInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(MediaInfo) + ) + ); +} +pub type GET_MEDIA_TYPES = _GET_MEDIA_TYPES; +pub type PGET_MEDIA_TYPES = *mut _GET_MEDIA_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PREDICT_FAILURE { + pub PredictFailure: DWORD, + pub VendorSpecific: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PREDICT_FAILURE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PREDICT_FAILURE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PREDICT_FAILURE>(), + 516usize, + concat!("Size of: ", stringify!(_STORAGE_PREDICT_FAILURE)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PREDICT_FAILURE>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PREDICT_FAILURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PredictFailure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PREDICT_FAILURE), + "::", + stringify!(PredictFailure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorSpecific) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PREDICT_FAILURE), + "::", + stringify!(VendorSpecific) + ) + ); +} +pub type STORAGE_PREDICT_FAILURE = _STORAGE_PREDICT_FAILURE; +pub type PSTORAGE_PREDICT_FAILURE = *mut _STORAGE_PREDICT_FAILURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_FAILURE_PREDICTION_CONFIG { + pub Version: DWORD, + pub Size: DWORD, + pub Set: BOOLEAN, + pub Enabled: BOOLEAN, + pub Reserved: WORD, +} +#[test] +fn bindgen_test_layout__STORAGE_FAILURE_PREDICTION_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_FAILURE_PREDICTION_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_FAILURE_PREDICTION_CONFIG>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_FAILURE_PREDICTION_CONFIG>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Enabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_FAILURE_PREDICTION_CONFIG = _STORAGE_FAILURE_PREDICTION_CONFIG; +pub type PSTORAGE_FAILURE_PREDICTION_CONFIG = *mut _STORAGE_FAILURE_PREDICTION_CONFIG; +pub const _STORAGE_QUERY_TYPE_PropertyStandardQuery: _STORAGE_QUERY_TYPE = 0; +pub const _STORAGE_QUERY_TYPE_PropertyExistsQuery: _STORAGE_QUERY_TYPE = 1; +pub const _STORAGE_QUERY_TYPE_PropertyMaskQuery: _STORAGE_QUERY_TYPE = 2; +pub const _STORAGE_QUERY_TYPE_PropertyQueryMaxDefined: _STORAGE_QUERY_TYPE = 3; +pub type _STORAGE_QUERY_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_QUERY_TYPE as STORAGE_QUERY_TYPE; +pub type PSTORAGE_QUERY_TYPE = *mut _STORAGE_QUERY_TYPE; +pub const _STORAGE_SET_TYPE_PropertyStandardSet: _STORAGE_SET_TYPE = 0; +pub const _STORAGE_SET_TYPE_PropertyExistsSet: _STORAGE_SET_TYPE = 1; +pub const _STORAGE_SET_TYPE_PropertySetMaxDefined: _STORAGE_SET_TYPE = 2; +pub type _STORAGE_SET_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_SET_TYPE as STORAGE_SET_TYPE; +pub type PSTORAGE_SET_TYPE = *mut _STORAGE_SET_TYPE; +pub const _STORAGE_PROPERTY_ID_StorageDeviceProperty: _STORAGE_PROPERTY_ID = 0; +pub const _STORAGE_PROPERTY_ID_StorageAdapterProperty: _STORAGE_PROPERTY_ID = 1; +pub const _STORAGE_PROPERTY_ID_StorageDeviceIdProperty: _STORAGE_PROPERTY_ID = 2; +pub const _STORAGE_PROPERTY_ID_StorageDeviceUniqueIdProperty: _STORAGE_PROPERTY_ID = 3; +pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteCacheProperty: _STORAGE_PROPERTY_ID = 4; +pub const _STORAGE_PROPERTY_ID_StorageMiniportProperty: _STORAGE_PROPERTY_ID = 5; +pub const _STORAGE_PROPERTY_ID_StorageAccessAlignmentProperty: _STORAGE_PROPERTY_ID = 6; +pub const _STORAGE_PROPERTY_ID_StorageDeviceSeekPenaltyProperty: _STORAGE_PROPERTY_ID = 7; +pub const _STORAGE_PROPERTY_ID_StorageDeviceTrimProperty: _STORAGE_PROPERTY_ID = 8; +pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteAggregationProperty: _STORAGE_PROPERTY_ID = 9; +pub const _STORAGE_PROPERTY_ID_StorageDeviceDeviceTelemetryProperty: _STORAGE_PROPERTY_ID = 10; +pub const _STORAGE_PROPERTY_ID_StorageDeviceLBProvisioningProperty: _STORAGE_PROPERTY_ID = 11; +pub const _STORAGE_PROPERTY_ID_StorageDevicePowerProperty: _STORAGE_PROPERTY_ID = 12; +pub const _STORAGE_PROPERTY_ID_StorageDeviceCopyOffloadProperty: _STORAGE_PROPERTY_ID = 13; +pub const _STORAGE_PROPERTY_ID_StorageDeviceResiliencyProperty: _STORAGE_PROPERTY_ID = 14; +pub const _STORAGE_PROPERTY_ID_StorageDeviceMediumProductType: _STORAGE_PROPERTY_ID = 15; +pub const _STORAGE_PROPERTY_ID_StorageAdapterRpmbProperty: _STORAGE_PROPERTY_ID = 16; +pub const _STORAGE_PROPERTY_ID_StorageAdapterCryptoProperty: _STORAGE_PROPERTY_ID = 17; +pub const _STORAGE_PROPERTY_ID_StorageDeviceIoCapabilityProperty: _STORAGE_PROPERTY_ID = 48; +pub const _STORAGE_PROPERTY_ID_StorageAdapterProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 49; +pub const _STORAGE_PROPERTY_ID_StorageDeviceProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 50; +pub const _STORAGE_PROPERTY_ID_StorageAdapterTemperatureProperty: _STORAGE_PROPERTY_ID = 51; +pub const _STORAGE_PROPERTY_ID_StorageDeviceTemperatureProperty: _STORAGE_PROPERTY_ID = 52; +pub const _STORAGE_PROPERTY_ID_StorageAdapterPhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 53; +pub const _STORAGE_PROPERTY_ID_StorageDevicePhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 54; +pub const _STORAGE_PROPERTY_ID_StorageDeviceAttributesProperty: _STORAGE_PROPERTY_ID = 55; +pub const _STORAGE_PROPERTY_ID_StorageDeviceManagementStatus: _STORAGE_PROPERTY_ID = 56; +pub const _STORAGE_PROPERTY_ID_StorageAdapterSerialNumberProperty: _STORAGE_PROPERTY_ID = 57; +pub const _STORAGE_PROPERTY_ID_StorageDeviceLocationProperty: _STORAGE_PROPERTY_ID = 58; +pub const _STORAGE_PROPERTY_ID_StorageDeviceNumaProperty: _STORAGE_PROPERTY_ID = 59; +pub const _STORAGE_PROPERTY_ID_StorageDeviceZonedDeviceProperty: _STORAGE_PROPERTY_ID = 60; +pub const _STORAGE_PROPERTY_ID_StorageDeviceUnsafeShutdownCount: _STORAGE_PROPERTY_ID = 61; +pub const _STORAGE_PROPERTY_ID_StorageDeviceEnduranceProperty: _STORAGE_PROPERTY_ID = 62; +pub const _STORAGE_PROPERTY_ID_StorageDeviceLedStateProperty: _STORAGE_PROPERTY_ID = 63; +pub const _STORAGE_PROPERTY_ID_StorageDeviceSelfEncryptionProperty: _STORAGE_PROPERTY_ID = 64; +pub const _STORAGE_PROPERTY_ID_StorageFruIdProperty: _STORAGE_PROPERTY_ID = 65; +pub type _STORAGE_PROPERTY_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_PROPERTY_ID as STORAGE_PROPERTY_ID; +pub type PSTORAGE_PROPERTY_ID = *mut _STORAGE_PROPERTY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROPERTY_QUERY { + pub PropertyId: STORAGE_PROPERTY_ID, + pub QueryType: STORAGE_QUERY_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROPERTY_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROPERTY_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROPERTY_QUERY>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_PROPERTY_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROPERTY_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROPERTY_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(QueryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type STORAGE_PROPERTY_QUERY = _STORAGE_PROPERTY_QUERY; +pub type PSTORAGE_PROPERTY_QUERY = *mut _STORAGE_PROPERTY_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROPERTY_SET { + pub PropertyId: STORAGE_PROPERTY_ID, + pub SetType: STORAGE_SET_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROPERTY_SET() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROPERTY_SET> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROPERTY_SET>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_PROPERTY_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROPERTY_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROPERTY_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(SetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type STORAGE_PROPERTY_SET = _STORAGE_PROPERTY_SET; +pub type PSTORAGE_PROPERTY_SET = *mut _STORAGE_PROPERTY_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DESCRIPTOR_HEADER { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DESCRIPTOR_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DESCRIPTOR_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DESCRIPTOR_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_DESCRIPTOR_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DESCRIPTOR_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DESCRIPTOR_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DESCRIPTOR_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DESCRIPTOR_HEADER), + "::", + stringify!(Size) + ) + ); +} +pub type STORAGE_DESCRIPTOR_HEADER = _STORAGE_DESCRIPTOR_HEADER; +pub type PSTORAGE_DESCRIPTOR_HEADER = *mut _STORAGE_DESCRIPTOR_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceType: BYTE, + pub DeviceTypeModifier: BYTE, + pub RemovableMedia: BOOLEAN, + pub CommandQueueing: BOOLEAN, + pub VendorIdOffset: DWORD, + pub ProductIdOffset: DWORD, + pub ProductRevisionOffset: DWORD, + pub SerialNumberOffset: DWORD, + pub BusType: STORAGE_BUS_TYPE, + pub RawPropertiesLength: DWORD, + pub RawDeviceProperties: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceTypeModifier) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceTypeModifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemovableMedia) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RemovableMedia) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandQueueing) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(CommandQueueing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorIdOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(VendorIdOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductIdOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(ProductIdOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductRevisionOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(ProductRevisionOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(SerialNumberOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawPropertiesLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RawPropertiesLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawDeviceProperties) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RawDeviceProperties) + ) + ); +} +pub type STORAGE_DEVICE_DESCRIPTOR = _STORAGE_DEVICE_DESCRIPTOR; +pub type PSTORAGE_DEVICE_DESCRIPTOR = *mut _STORAGE_DEVICE_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ADAPTER_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MaximumTransferLength: DWORD, + pub MaximumPhysicalPages: DWORD, + pub AlignmentMask: DWORD, + pub AdapterUsesPio: BOOLEAN, + pub AdapterScansDown: BOOLEAN, + pub CommandQueueing: BOOLEAN, + pub AcceleratedTransfer: BOOLEAN, + pub BusType: BYTE, + pub BusMajorVersion: WORD, + pub BusMinorVersion: WORD, + pub SrbType: BYTE, + pub AddressType: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_ADAPTER_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ADAPTER_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ADAPTER_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ADAPTER_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTransferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(MaximumTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumPhysicalPages) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(MaximumPhysicalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AlignmentMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterUsesPio) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AdapterUsesPio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterScansDown) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AdapterScansDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandQueueing) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(CommandQueueing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcceleratedTransfer) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AcceleratedTransfer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusMajorVersion) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusMinorVersion) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrbType) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(SrbType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressType) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AddressType) + ) + ); +} +pub type STORAGE_ADAPTER_DESCRIPTOR = _STORAGE_ADAPTER_DESCRIPTOR; +pub type PSTORAGE_ADAPTER_DESCRIPTOR = *mut _STORAGE_ADAPTER_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub BytesPerCacheLine: DWORD, + pub BytesOffsetForCacheAlignment: DWORD, + pub BytesPerLogicalSector: DWORD, + pub BytesPerPhysicalSector: DWORD, + pub BytesOffsetForSectorAlignment: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>(), + 28usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCacheLine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerCacheLine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BytesOffsetForCacheAlignment) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesOffsetForCacheAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerLogicalSector) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerLogicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BytesOffsetForSectorAlignment) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesOffsetForSectorAlignment) + ) + ); +} +pub type STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR = _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; +pub type PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR = *mut _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MediumProductType: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediumProductType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(MediumProductType) + ) + ); +} +pub type STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; +pub type PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = *mut _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetReserved: _STORAGE_PORT_CODE_SET = 0; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetStorport: _STORAGE_PORT_CODE_SET = 1; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSCSIport: _STORAGE_PORT_CODE_SET = 2; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSpaceport: _STORAGE_PORT_CODE_SET = 3; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetATAport: _STORAGE_PORT_CODE_SET = 4; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetUSBport: _STORAGE_PORT_CODE_SET = 5; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSBP2port: _STORAGE_PORT_CODE_SET = 6; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSDport: _STORAGE_PORT_CODE_SET = 7; +pub type _STORAGE_PORT_CODE_SET = ::std::os::raw::c_int; +pub use self::_STORAGE_PORT_CODE_SET as STORAGE_PORT_CODE_SET; +pub type PSTORAGE_PORT_CODE_SET = *mut _STORAGE_PORT_CODE_SET; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_MINIPORT_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Portdriver: STORAGE_PORT_CODE_SET, + pub LUNResetSupported: BOOLEAN, + pub TargetResetSupported: BOOLEAN, + pub IoTimeoutValue: WORD, + pub ExtraIoInfoSupported: BOOLEAN, + pub Flags: _STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1, + pub Reserved0: [BYTE; 2usize], + pub Reserved1: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1 { + pub __bindgen_anon_1: _STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, + pub AsBYTE: BYTE, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[test] +fn bindgen_test_layout__STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn LogicalPoFxForDisk(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_LogicalPoFxForDisk(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + LogicalPoFxForDisk: BYTE, + Reserved: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let LogicalPoFxForDisk: u8 = unsafe { ::std::mem::transmute(LogicalPoFxForDisk) }; + LogicalPoFxForDisk as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved: u8 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsBYTE) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(AsBYTE) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_MINIPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MINIPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MINIPORT_DESCRIPTOR>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MINIPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Portdriver) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Portdriver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LUNResetSupported) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(LUNResetSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetResetSupported) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(TargetResetSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoTimeoutValue) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(IoTimeoutValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraIoInfoSupported) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(ExtraIoInfoSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_MINIPORT_DESCRIPTOR = _STORAGE_MINIPORT_DESCRIPTOR; +pub type PSTORAGE_MINIPORT_DESCRIPTOR = *mut _STORAGE_MINIPORT_DESCRIPTOR; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetReserved: _STORAGE_IDENTIFIER_CODE_SET = 0; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetBinary: _STORAGE_IDENTIFIER_CODE_SET = 1; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetAscii: _STORAGE_IDENTIFIER_CODE_SET = 2; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetUtf8: _STORAGE_IDENTIFIER_CODE_SET = 3; +pub type _STORAGE_IDENTIFIER_CODE_SET = ::std::os::raw::c_int; +pub use self::_STORAGE_IDENTIFIER_CODE_SET as STORAGE_IDENTIFIER_CODE_SET; +pub type PSTORAGE_IDENTIFIER_CODE_SET = *mut _STORAGE_IDENTIFIER_CODE_SET; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeVendorSpecific: _STORAGE_IDENTIFIER_TYPE = 0; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeVendorId: _STORAGE_IDENTIFIER_TYPE = 1; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeEUI64: _STORAGE_IDENTIFIER_TYPE = 2; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeFCPHName: _STORAGE_IDENTIFIER_TYPE = 3; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypePortRelative: _STORAGE_IDENTIFIER_TYPE = 4; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeTargetPortGroup: _STORAGE_IDENTIFIER_TYPE = 5; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeLogicalUnitGroup: _STORAGE_IDENTIFIER_TYPE = 6; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeMD5LogicalUnitIdentifier: _STORAGE_IDENTIFIER_TYPE = + 7; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeScsiNameString: _STORAGE_IDENTIFIER_TYPE = 8; +pub type _STORAGE_IDENTIFIER_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_IDENTIFIER_TYPE as STORAGE_IDENTIFIER_TYPE; +pub type PSTORAGE_IDENTIFIER_TYPE = *mut _STORAGE_IDENTIFIER_TYPE; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEEExtended: _STORAGE_ID_NAA_FORMAT = 2; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEERegistered: _STORAGE_ID_NAA_FORMAT = 3; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEEERegisteredExtended: _STORAGE_ID_NAA_FORMAT = + 5; +pub type _STORAGE_ID_NAA_FORMAT = ::std::os::raw::c_int; +pub use self::_STORAGE_ID_NAA_FORMAT as STORAGE_ID_NAA_FORMAT; +pub type PSTORAGE_ID_NAA_FORMAT = *mut _STORAGE_ID_NAA_FORMAT; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocDevice: _STORAGE_ASSOCIATION_TYPE = 0; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocPort: _STORAGE_ASSOCIATION_TYPE = 1; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocTarget: _STORAGE_ASSOCIATION_TYPE = 2; +pub type _STORAGE_ASSOCIATION_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_ASSOCIATION_TYPE as STORAGE_ASSOCIATION_TYPE; +pub type PSTORAGE_ASSOCIATION_TYPE = *mut _STORAGE_ASSOCIATION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDENTIFIER { + pub CodeSet: STORAGE_IDENTIFIER_CODE_SET, + pub Type: STORAGE_IDENTIFIER_TYPE, + pub IdentifierSize: WORD, + pub NextOffset: WORD, + pub Association: STORAGE_ASSOCIATION_TYPE, + pub Identifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDENTIFIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDENTIFIER>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDENTIFIER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeSet) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(CodeSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(IdentifierSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffset) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(NextOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Association) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Association) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Identifier) + ) + ); +} +pub type STORAGE_IDENTIFIER = _STORAGE_IDENTIFIER; +pub type PSTORAGE_IDENTIFIER = *mut _STORAGE_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_ID_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfIdentifiers: DWORD, + pub Identifiers: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_ID_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_ID_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_ID_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_ID_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfIdentifiers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(NumberOfIdentifiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Identifiers) + ) + ); +} +pub type STORAGE_DEVICE_ID_DESCRIPTOR = _STORAGE_DEVICE_ID_DESCRIPTOR; +pub type PSTORAGE_DEVICE_ID_DESCRIPTOR = *mut _STORAGE_DEVICE_ID_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_SEEK_PENALTY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub IncursSeekPenalty: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_SEEK_PENALTY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_SEEK_PENALTY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncursSeekPenalty) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(IncursSeekPenalty) + ) + ); +} +pub type DEVICE_SEEK_PENALTY_DESCRIPTOR = _DEVICE_SEEK_PENALTY_DESCRIPTOR; +pub type PDEVICE_SEEK_PENALTY_DESCRIPTOR = *mut _DEVICE_SEEK_PENALTY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_WRITE_AGGREGATION_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub BenefitsFromWriteAggregation: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_WRITE_AGGREGATION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>(), + 12usize, + concat!( + "Size of: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BenefitsFromWriteAggregation) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(BenefitsFromWriteAggregation) + ) + ); +} +pub type DEVICE_WRITE_AGGREGATION_DESCRIPTOR = _DEVICE_WRITE_AGGREGATION_DESCRIPTOR; +pub type PDEVICE_WRITE_AGGREGATION_DESCRIPTOR = *mut _DEVICE_WRITE_AGGREGATION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_TRIM_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub TrimEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_TRIM_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_TRIM_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_TRIM_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_TRIM_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_TRIM_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_TRIM_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrimEnabled) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(TrimEnabled) + ) + ); +} +pub type DEVICE_TRIM_DESCRIPTOR = _DEVICE_TRIM_DESCRIPTOR; +pub type PDEVICE_TRIM_DESCRIPTOR = *mut _DEVICE_TRIM_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LB_PROVISIONING_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 7usize], + pub OptimalUnmapGranularity: DWORDLONG, + pub UnmapGranularityAlignment: DWORDLONG, + pub MaxUnmapLbaCount: DWORD, + pub MaxUnmapBlockDescriptorCount: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LB_PROVISIONING_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LB_PROVISIONING_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalUnmapGranularity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(OptimalUnmapGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmapGranularityAlignment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(UnmapGranularityAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUnmapLbaCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(MaxUnmapLbaCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaxUnmapBlockDescriptorCount) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(MaxUnmapBlockDescriptorCount) + ) + ); +} +impl _DEVICE_LB_PROVISIONING_DESCRIPTOR { + #[inline] + pub fn ThinProvisioningEnabled(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ThinProvisioningEnabled(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ThinProvisioningReadZeros(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_ThinProvisioningReadZeros(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AnchorSupported(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u8) } + } + #[inline] + pub fn set_AnchorSupported(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 3u8, val as u64) + } + } + #[inline] + pub fn UnmapGranularityAlignmentValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_UnmapGranularityAlignmentValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn GetFreeSpaceSupported(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) } + } + #[inline] + pub fn set_GetFreeSpaceSupported(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn MapSupported(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) } + } + #[inline] + pub fn set_MapSupported(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ThinProvisioningEnabled: BYTE, + ThinProvisioningReadZeros: BYTE, + AnchorSupported: BYTE, + UnmapGranularityAlignmentValid: BYTE, + GetFreeSpaceSupported: BYTE, + MapSupported: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ThinProvisioningEnabled: u8 = + unsafe { ::std::mem::transmute(ThinProvisioningEnabled) }; + ThinProvisioningEnabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let ThinProvisioningReadZeros: u8 = + unsafe { ::std::mem::transmute(ThinProvisioningReadZeros) }; + ThinProvisioningReadZeros as u64 + }); + __bindgen_bitfield_unit.set(2usize, 3u8, { + let AnchorSupported: u8 = unsafe { ::std::mem::transmute(AnchorSupported) }; + AnchorSupported as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let UnmapGranularityAlignmentValid: u8 = + unsafe { ::std::mem::transmute(UnmapGranularityAlignmentValid) }; + UnmapGranularityAlignmentValid as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let GetFreeSpaceSupported: u8 = unsafe { ::std::mem::transmute(GetFreeSpaceSupported) }; + GetFreeSpaceSupported as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let MapSupported: u8 = unsafe { ::std::mem::transmute(MapSupported) }; + MapSupported as u64 + }); + __bindgen_bitfield_unit + } +} +pub type DEVICE_LB_PROVISIONING_DESCRIPTOR = _DEVICE_LB_PROVISIONING_DESCRIPTOR; +pub type PDEVICE_LB_PROVISIONING_DESCRIPTOR = *mut _DEVICE_LB_PROVISIONING_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES { + pub Size: DWORD, + pub Version: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 3usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved3: [BYTE; 3usize], + pub AvailableMappingResources: DWORDLONG, + pub UsedMappingResources: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_LB_PROVISIONING_MAP_RESOURCES() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_LB_PROVISIONING_MAP_RESOURCES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AvailableMappingResources) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(AvailableMappingResources) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsedMappingResources) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(UsedMappingResources) + ) + ); +} +impl _STORAGE_LB_PROVISIONING_MAP_RESOURCES { + #[inline] + pub fn AvailableMappingResourcesValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_AvailableMappingResourcesValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn UsedMappingResourcesValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_UsedMappingResourcesValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 6u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 6u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AvailableMappingResourcesValid: BYTE, + UsedMappingResourcesValid: BYTE, + Reserved0: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AvailableMappingResourcesValid: u8 = + unsafe { ::std::mem::transmute(AvailableMappingResourcesValid) }; + AvailableMappingResourcesValid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let UsedMappingResourcesValid: u8 = + unsafe { ::std::mem::transmute(UsedMappingResourcesValid) }; + UsedMappingResourcesValid as u64 + }); + __bindgen_bitfield_unit.set(2usize, 6u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn AvailableMappingResourcesScope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_AvailableMappingResourcesScope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn UsedMappingResourcesScope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_UsedMappingResourcesScope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub fn Reserved2(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_Reserved2(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_2( + AvailableMappingResourcesScope: BYTE, + UsedMappingResourcesScope: BYTE, + Reserved2: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let AvailableMappingResourcesScope: u8 = + unsafe { ::std::mem::transmute(AvailableMappingResourcesScope) }; + AvailableMappingResourcesScope as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let UsedMappingResourcesScope: u8 = + unsafe { ::std::mem::transmute(UsedMappingResourcesScope) }; + UsedMappingResourcesScope as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let Reserved2: u8 = unsafe { ::std::mem::transmute(Reserved2) }; + Reserved2 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_LB_PROVISIONING_MAP_RESOURCES = _STORAGE_LB_PROVISIONING_MAP_RESOURCES; +pub type PSTORAGE_LB_PROVISIONING_MAP_RESOURCES = *mut _STORAGE_LB_PROVISIONING_MAP_RESOURCES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_POWER_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceAttentionSupported: BOOLEAN, + pub AsynchronousNotificationSupported: BOOLEAN, + pub IdlePowerManagementEnabled: BOOLEAN, + pub D3ColdEnabled: BOOLEAN, + pub D3ColdSupported: BOOLEAN, + pub NoVerifyDuringIdlePower: BOOLEAN, + pub Reserved: [BYTE; 2usize], + pub IdleTimeoutInMS: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_POWER_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_POWER_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_POWER_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_DEVICE_POWER_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_POWER_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_POWER_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceAttentionSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(DeviceAttentionSupported) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AsynchronousNotificationSupported) as usize - ptr as usize + }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(AsynchronousNotificationSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdlePowerManagementEnabled) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(IdlePowerManagementEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3ColdEnabled) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(D3ColdEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3ColdSupported) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(D3ColdSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoVerifyDuringIdlePower) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(NoVerifyDuringIdlePower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeoutInMS) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(IdleTimeoutInMS) + ) + ); +} +pub type DEVICE_POWER_DESCRIPTOR = _DEVICE_POWER_DESCRIPTOR; +pub type PDEVICE_POWER_DESCRIPTOR = *mut _DEVICE_POWER_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_COPY_OFFLOAD_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MaximumTokenLifetime: DWORD, + pub DefaultTokenLifetime: DWORD, + pub MaximumTransferSize: DWORDLONG, + pub OptimalTransferCount: DWORDLONG, + pub MaximumDataDescriptors: DWORD, + pub MaximumTransferLengthPerDescriptor: DWORD, + pub OptimalTransferLengthPerDescriptor: DWORD, + pub OptimalTransferLengthGranularity: WORD, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_COPY_OFFLOAD_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_COPY_OFFLOAD_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTokenLifetime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTokenLifetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultTokenLifetime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(DefaultTokenLifetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTransferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTransferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalTransferCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumDataDescriptors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumDataDescriptors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaximumTransferLengthPerDescriptor) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTransferLengthPerDescriptor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).OptimalTransferLengthPerDescriptor) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferLengthPerDescriptor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).OptimalTransferLengthGranularity) as usize - ptr as usize + }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferLengthGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_COPY_OFFLOAD_DESCRIPTOR = _DEVICE_COPY_OFFLOAD_DESCRIPTOR; +pub type PDEVICE_COPY_OFFLOAD_DESCRIPTOR = *mut _DEVICE_COPY_OFFLOAD_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NameOffset: DWORD, + pub NumberOfLogicalCopies: DWORD, + pub NumberOfPhysicalCopies: DWORD, + pub PhysicalDiskRedundancy: DWORD, + pub NumberOfColumns: DWORD, + pub Interleave: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_RESILIENCY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLogicalCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfLogicalCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfPhysicalCopies) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfPhysicalCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalDiskRedundancy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(PhysicalDiskRedundancy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfColumns) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfColumns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Interleave) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Interleave) + ) + ); +} +pub type STORAGE_DEVICE_RESILIENCY_DESCRIPTOR = _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR; +pub type PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR = *mut _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeUnknown: _STORAGE_RPMB_FRAME_TYPE = 0; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeStandard: _STORAGE_RPMB_FRAME_TYPE = 1; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeMax: _STORAGE_RPMB_FRAME_TYPE = 2; +pub type _STORAGE_RPMB_FRAME_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_RPMB_FRAME_TYPE as STORAGE_RPMB_FRAME_TYPE; +pub type PSTORAGE_RPMB_FRAME_TYPE = *mut _STORAGE_RPMB_FRAME_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_RPMB_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub SizeInBytes: DWORD, + pub MaxReliableWriteSizeInBytes: DWORD, + pub FrameFormat: STORAGE_RPMB_FRAME_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_RPMB_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_RPMB_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_RPMB_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_RPMB_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_RPMB_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_RPMB_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(SizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxReliableWriteSizeInBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(MaxReliableWriteSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FrameFormat) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(FrameFormat) + ) + ); +} +pub type STORAGE_RPMB_DESCRIPTOR = _STORAGE_RPMB_DESCRIPTOR; +pub type PSTORAGE_RPMB_DESCRIPTOR = *mut _STORAGE_RPMB_DESCRIPTOR; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmUnknown: _STORAGE_CRYPTO_ALGORITHM_ID = + 0; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmXTSAES: _STORAGE_CRYPTO_ALGORITHM_ID = + 1; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmBitlockerAESCBC: + _STORAGE_CRYPTO_ALGORITHM_ID = 2; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmAESECB: _STORAGE_CRYPTO_ALGORITHM_ID = + 3; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmESSIVAESCBC: + _STORAGE_CRYPTO_ALGORITHM_ID = 4; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmMax: _STORAGE_CRYPTO_ALGORITHM_ID = 5; +pub type _STORAGE_CRYPTO_ALGORITHM_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_CRYPTO_ALGORITHM_ID as STORAGE_CRYPTO_ALGORITHM_ID; +pub type PSTORAGE_CRYPTO_ALGORITHM_ID = *mut _STORAGE_CRYPTO_ALGORITHM_ID; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySizeUnknown: _STORAGE_CRYPTO_KEY_SIZE = 0; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize128Bits: _STORAGE_CRYPTO_KEY_SIZE = 1; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize192Bits: _STORAGE_CRYPTO_KEY_SIZE = 2; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize256Bits: _STORAGE_CRYPTO_KEY_SIZE = 3; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize512Bits: _STORAGE_CRYPTO_KEY_SIZE = 4; +pub type _STORAGE_CRYPTO_KEY_SIZE = ::std::os::raw::c_int; +pub use self::_STORAGE_CRYPTO_KEY_SIZE as STORAGE_CRYPTO_KEY_SIZE; +pub type PSTORAGE_CRYPTO_KEY_SIZE = *mut _STORAGE_CRYPTO_KEY_SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_CRYPTO_CAPABILITY { + pub Version: DWORD, + pub Size: DWORD, + pub CryptoCapabilityIndex: DWORD, + pub AlgorithmId: STORAGE_CRYPTO_ALGORITHM_ID, + pub KeySize: STORAGE_CRYPTO_KEY_SIZE, + pub DataUnitSizeBitmask: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_CRYPTO_CAPABILITY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_CRYPTO_CAPABILITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_CRYPTO_CAPABILITY>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_CRYPTO_CAPABILITY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_CRYPTO_CAPABILITY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_CRYPTO_CAPABILITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CryptoCapabilityIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(CryptoCapabilityIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlgorithmId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(AlgorithmId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataUnitSizeBitmask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(DataUnitSizeBitmask) + ) + ); +} +pub type STORAGE_CRYPTO_CAPABILITY = _STORAGE_CRYPTO_CAPABILITY; +pub type PSTORAGE_CRYPTO_CAPABILITY = *mut _STORAGE_CRYPTO_CAPABILITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_CRYPTO_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumKeysSupported: DWORD, + pub NumCryptoCapabilities: DWORD, + pub CryptoCapabilities: [STORAGE_CRYPTO_CAPABILITY; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_CRYPTO_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_CRYPTO_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_CRYPTO_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_CRYPTO_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumKeysSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(NumKeysSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumCryptoCapabilities) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(NumCryptoCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CryptoCapabilities) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(CryptoCapabilities) + ) + ); +} +pub type STORAGE_CRYPTO_DESCRIPTOR = _STORAGE_CRYPTO_DESCRIPTOR; +pub type PSTORAGE_CRYPTO_DESCRIPTOR = *mut _STORAGE_CRYPTO_DESCRIPTOR; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeUnspecified: _STORAGE_TIER_MEDIA_TYPE = 0; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeDisk: _STORAGE_TIER_MEDIA_TYPE = 1; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeSsd: _STORAGE_TIER_MEDIA_TYPE = 2; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeScm: _STORAGE_TIER_MEDIA_TYPE = 4; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeMax: _STORAGE_TIER_MEDIA_TYPE = 5; +pub type _STORAGE_TIER_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_TIER_MEDIA_TYPE as STORAGE_TIER_MEDIA_TYPE; +pub type PSTORAGE_TIER_MEDIA_TYPE = *mut _STORAGE_TIER_MEDIA_TYPE; +pub const _STORAGE_TIER_CLASS_StorageTierClassUnspecified: _STORAGE_TIER_CLASS = 0; +pub const _STORAGE_TIER_CLASS_StorageTierClassCapacity: _STORAGE_TIER_CLASS = 1; +pub const _STORAGE_TIER_CLASS_StorageTierClassPerformance: _STORAGE_TIER_CLASS = 2; +pub const _STORAGE_TIER_CLASS_StorageTierClassMax: _STORAGE_TIER_CLASS = 3; +pub type _STORAGE_TIER_CLASS = ::std::os::raw::c_int; +pub use self::_STORAGE_TIER_CLASS as STORAGE_TIER_CLASS; +pub type PSTORAGE_TIER_CLASS = *mut _STORAGE_TIER_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TIER { + pub Id: GUID, + pub Name: [WCHAR; 256usize], + pub Description: [WCHAR; 256usize], + pub Flags: DWORDLONG, + pub ProvisionedCapacity: DWORDLONG, + pub MediaType: STORAGE_TIER_MEDIA_TYPE, + pub Class: STORAGE_TIER_CLASS, +} +#[test] +fn bindgen_test_layout__STORAGE_TIER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TIER>(), + 1064usize, + concat!("Size of: ", stringify!(_STORAGE_TIER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TIER>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_TIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Description) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 1040usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProvisionedCapacity) as usize - ptr as usize }, + 1048usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(ProvisionedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 1056usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 1060usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Class) + ) + ); +} +pub type STORAGE_TIER = _STORAGE_TIER; +pub type PSTORAGE_TIER = *mut _STORAGE_TIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_TIERING_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub TotalNumberOfTiers: DWORD, + pub NumberOfTiersReturned: DWORD, + pub Tiers: [STORAGE_TIER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_TIERING_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_TIERING_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>(), + 1088usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfTiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(TotalNumberOfTiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTiersReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(NumberOfTiersReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tiers) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Tiers) + ) + ); +} +pub type STORAGE_DEVICE_TIERING_DESCRIPTOR = _STORAGE_DEVICE_TIERING_DESCRIPTOR; +pub type PSTORAGE_DEVICE_TIERING_DESCRIPTOR = *mut _STORAGE_DEVICE_TIERING_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfFaultDomains: DWORD, + pub FaultDomainIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>(), + 28usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFaultDomains) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(NumberOfFaultDomains) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaultDomainIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(FaultDomainIds) + ) + ); +} +pub type STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; +pub type PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = *mut _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUnknown: _STORAGE_PROTOCOL_TYPE = 0; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeScsi: _STORAGE_PROTOCOL_TYPE = 1; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeAta: _STORAGE_PROTOCOL_TYPE = 2; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeNvme: _STORAGE_PROTOCOL_TYPE = 3; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeSd: _STORAGE_PROTOCOL_TYPE = 4; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUfs: _STORAGE_PROTOCOL_TYPE = 5; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeProprietary: _STORAGE_PROTOCOL_TYPE = 126; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeMaxReserved: _STORAGE_PROTOCOL_TYPE = 127; +pub type _STORAGE_PROTOCOL_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_TYPE as STORAGE_PROTOCOL_TYPE; +pub type PSTORAGE_PROTOCOL_TYPE = *mut _STORAGE_PROTOCOL_TYPE; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeUnknown: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 0; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeIdentify: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 1; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeLogPage: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 2; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeFeature: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 3; +pub type _STORAGE_PROTOCOL_NVME_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_NVME_DATA_TYPE as STORAGE_PROTOCOL_NVME_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_NVME_DATA_TYPE = *mut _STORAGE_PROTOCOL_NVME_DATA_TYPE; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeUnknown: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 0; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeIdentify: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 1; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeLogPage: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 2; +pub type _STORAGE_PROTOCOL_ATA_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_ATA_DATA_TYPE as STORAGE_PROTOCOL_ATA_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_ATA_DATA_TYPE = *mut _STORAGE_PROTOCOL_ATA_DATA_TYPE; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeUnknown: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 0; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryDescriptor: + _STORAGE_PROTOCOL_UFS_DATA_TYPE = 1; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryAttribute: + _STORAGE_PROTOCOL_UFS_DATA_TYPE = 2; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryFlag: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 3; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryDmeAttribute: + _STORAGE_PROTOCOL_UFS_DATA_TYPE = 4; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryDmePeerAttribute: + _STORAGE_PROTOCOL_UFS_DATA_TYPE = 5; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeMax: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 6; +pub type _STORAGE_PROTOCOL_UFS_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_UFS_DATA_TYPE as STORAGE_PROTOCOL_UFS_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_UFS_DATA_TYPE = *mut _STORAGE_PROTOCOL_UFS_DATA_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE { + pub __bindgen_anon_1: _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1, + pub AsUlong: DWORD, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1) + ) + ); +} +impl _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE__bindgen_ty_1 { + #[inline] + pub fn RetainAsynEvent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_RetainAsynEvent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn LogSpecificField(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 4u8) as u32) } + } + #[inline] + pub fn set_LogSpecificField(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 4u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RetainAsynEvent: DWORD, + LogSpecificField: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let RetainAsynEvent: u32 = unsafe { ::std::mem::transmute(RetainAsynEvent) }; + RetainAsynEvent as u64 + }); + __bindgen_bitfield_unit.set(1usize, 4u8, { + let LogSpecificField: u32 = unsafe { ::std::mem::transmute(LogSpecificField) }; + LogSpecificField as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE), + "::", + stringify!(AsUlong) + ) + ); +} +pub type STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE = _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE; +pub type PSTORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE = + *mut _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA { + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub DataType: DWORD, + pub ProtocolDataRequestValue: DWORD, + pub ProtocolDataRequestSubValue: DWORD, + pub ProtocolDataOffset: DWORD, + pub ProtocolDataLength: DWORD, + pub FixedProtocolReturnData: DWORD, + pub ProtocolDataRequestSubValue2: DWORD, + pub ProtocolDataRequestSubValue3: DWORD, + pub ProtocolDataRequestSubValue4: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_SPECIFIC_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataRequestValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue2) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue3) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue3) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue4) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue4) + ) + ); +} +pub type STORAGE_PROTOCOL_SPECIFIC_DATA = _STORAGE_PROTOCOL_SPECIFIC_DATA; +pub type PSTORAGE_PROTOCOL_SPECIFIC_DATA = *mut _STORAGE_PROTOCOL_SPECIFIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT { + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub DataType: DWORD, + pub ProtocolDataValue: DWORD, + pub ProtocolDataSubValue: DWORD, + pub ProtocolDataOffset: DWORD, + pub ProtocolDataLength: DWORD, + pub FixedProtocolReturnData: DWORD, + pub ProtocolDataSubValue2: DWORD, + pub ProtocolDataSubValue3: DWORD, + pub ProtocolDataSubValue4: DWORD, + pub ProtocolDataSubValue5: DWORD, + pub Reserved: [DWORD; 5usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>(), + 64usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue4) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue5) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PROTOCOL_SPECIFIC_DATA_EXT = _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT; +pub type PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT = *mut _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolSpecificData: STORAGE_PROTOCOL_SPECIFIC_DATA, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecificData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(ProtocolSpecificData) + ) + ); +} +pub type STORAGE_PROTOCOL_DATA_DESCRIPTOR = _STORAGE_PROTOCOL_DATA_DESCRIPTOR; +pub type PSTORAGE_PROTOCOL_DATA_DESCRIPTOR = *mut _STORAGE_PROTOCOL_DATA_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolSpecificData: STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>(), + 72usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecificData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(ProtocolSpecificData) + ) + ); +} +pub type STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT = _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; +pub type PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT = *mut _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_INFO { + pub Index: WORD, + pub Temperature: SHORT, + pub OverThreshold: SHORT, + pub UnderThreshold: SHORT, + pub OverThresholdChangable: BOOLEAN, + pub UnderThresholdChangable: BOOLEAN, + pub EventGenerated: BOOLEAN, + pub Reserved0: BYTE, + pub Reserved1: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_TEMPERATURE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_TEMPERATURE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Index) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Index) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Temperature) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Temperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThreshold) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(OverThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnderThreshold) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(UnderThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThresholdChangable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(OverThresholdChangable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnderThresholdChangable) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(UnderThresholdChangable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventGenerated) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(EventGenerated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_TEMPERATURE_INFO = _STORAGE_TEMPERATURE_INFO; +pub type PSTORAGE_TEMPERATURE_INFO = *mut _STORAGE_TEMPERATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub CriticalTemperature: SHORT, + pub WarningTemperature: SHORT, + pub InfoCount: WORD, + pub Reserved0: [BYTE; 2usize], + pub Reserved1: [DWORD; 2usize], + pub TemperatureInfo: [STORAGE_TEMPERATURE_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>(), + 40usize, + concat!( + "Size of: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalTemperature) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(CriticalTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WarningTemperature) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(WarningTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InfoCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(InfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TemperatureInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(TemperatureInfo) + ) + ); +} +pub type STORAGE_TEMPERATURE_DATA_DESCRIPTOR = _STORAGE_TEMPERATURE_DATA_DESCRIPTOR; +pub type PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR = *mut _STORAGE_TEMPERATURE_DATA_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_THRESHOLD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: WORD, + pub Index: WORD, + pub Threshold: SHORT, + pub OverThreshold: BOOLEAN, + pub Reserved: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_THRESHOLD() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_THRESHOLD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_THRESHOLD>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_THRESHOLD>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Index) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Index) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Threshold) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Threshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThreshold) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(OverThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_TEMPERATURE_THRESHOLD = _STORAGE_TEMPERATURE_THRESHOLD; +pub type PSTORAGE_TEMPERATURE_THRESHOLD = *mut _STORAGE_TEMPERATURE_THRESHOLD; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorUnknown: _STORAGE_DEVICE_FORM_FACTOR = 0; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor3_5: _STORAGE_DEVICE_FORM_FACTOR = 1; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor2_5: _STORAGE_DEVICE_FORM_FACTOR = 2; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor1_8: _STORAGE_DEVICE_FORM_FACTOR = 3; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor1_8Less: _STORAGE_DEVICE_FORM_FACTOR = 4; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorEmbedded: _STORAGE_DEVICE_FORM_FACTOR = 5; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorMemoryCard: _STORAGE_DEVICE_FORM_FACTOR = 6; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactormSata: _STORAGE_DEVICE_FORM_FACTOR = 7; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorM_2: _STORAGE_DEVICE_FORM_FACTOR = 8; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorPCIeBoard: _STORAGE_DEVICE_FORM_FACTOR = 9; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorDimm: _STORAGE_DEVICE_FORM_FACTOR = 10; +pub type _STORAGE_DEVICE_FORM_FACTOR = ::std::os::raw::c_int; +pub use self::_STORAGE_DEVICE_FORM_FACTOR as STORAGE_DEVICE_FORM_FACTOR; +pub type PSTORAGE_DEVICE_FORM_FACTOR = *mut _STORAGE_DEVICE_FORM_FACTOR; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusUnknown: _STORAGE_COMPONENT_HEALTH_STATUS = + 0; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusNormal: _STORAGE_COMPONENT_HEALTH_STATUS = 1; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusThrottled: _STORAGE_COMPONENT_HEALTH_STATUS = + 2; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusWarning: _STORAGE_COMPONENT_HEALTH_STATUS = + 3; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusDisabled: _STORAGE_COMPONENT_HEALTH_STATUS = + 4; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusFailed: _STORAGE_COMPONENT_HEALTH_STATUS = 5; +pub type _STORAGE_COMPONENT_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_COMPONENT_HEALTH_STATUS as STORAGE_COMPONENT_HEALTH_STATUS; +pub type PSTORAGE_COMPONENT_HEALTH_STATUS = *mut _STORAGE_COMPONENT_HEALTH_STATUS; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_SPEC_VERSION { + pub __bindgen_anon_1: _STORAGE_SPEC_VERSION__bindgen_ty_1, + pub AsUlong: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_SPEC_VERSION__bindgen_ty_1 { + pub MinorVersion: _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1, + pub MajorVersion: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1 { + pub __bindgen_anon_1: _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub AsUshort: WORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub SubMinor: BYTE, + pub Minor: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubMinor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SubMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minor) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Minor) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUshort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AsUshort) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), + "::", + stringify!(MajorVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_SPEC_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_SPEC_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION), + "::", + stringify!(AsUlong) + ) + ); +} +pub type STORAGE_SPEC_VERSION = _STORAGE_SPEC_VERSION; +pub type PSTORAGE_SPEC_VERSION = *mut _STORAGE_SPEC_VERSION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_PHYSICAL_DEVICE_DATA { + pub DeviceId: DWORD, + pub Role: DWORD, + pub HealthStatus: STORAGE_COMPONENT_HEALTH_STATUS, + pub CommandProtocol: STORAGE_PROTOCOL_TYPE, + pub SpecVersion: STORAGE_SPEC_VERSION, + pub FormFactor: STORAGE_DEVICE_FORM_FACTOR, + pub Vendor: [BYTE; 8usize], + pub Model: [BYTE; 40usize], + pub FirmwareRevision: [BYTE; 16usize], + pub Capacity: DWORDLONG, + pub PhysicalLocation: [BYTE; 32usize], + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_DEVICE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_DEVICE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_DEVICE_DATA>(), + 136usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_DEVICE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Role) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Role) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HealthStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(HealthStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandProtocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(CommandProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpecVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(SpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormFactor) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(FormFactor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vendor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Vendor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Model) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Model) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareRevision) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(FirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Capacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalLocation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(PhysicalLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PHYSICAL_DEVICE_DATA = _STORAGE_PHYSICAL_DEVICE_DATA; +pub type PSTORAGE_PHYSICAL_DEVICE_DATA = *mut _STORAGE_PHYSICAL_DEVICE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_PHYSICAL_ADAPTER_DATA { + pub AdapterId: DWORD, + pub HealthStatus: STORAGE_COMPONENT_HEALTH_STATUS, + pub CommandProtocol: STORAGE_PROTOCOL_TYPE, + pub SpecVersion: STORAGE_SPEC_VERSION, + pub Vendor: [BYTE; 8usize], + pub Model: [BYTE; 40usize], + pub FirmwareRevision: [BYTE; 16usize], + pub PhysicalLocation: [BYTE; 32usize], + pub ExpanderConnected: BOOLEAN, + pub Reserved0: [BYTE; 3usize], + pub Reserved1: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_ADAPTER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_ADAPTER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_ADAPTER_DATA>(), + 128usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_ADAPTER_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(AdapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HealthStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(HealthStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandProtocol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(CommandProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpecVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(SpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vendor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Vendor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Model) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Model) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareRevision) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(FirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalLocation) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(PhysicalLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpanderConnected) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(ExpanderConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 113usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_PHYSICAL_ADAPTER_DATA = _STORAGE_PHYSICAL_ADAPTER_DATA; +pub type PSTORAGE_PHYSICAL_ADAPTER_DATA = *mut _STORAGE_PHYSICAL_ADAPTER_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PHYSICAL_NODE_DATA { + pub NodeId: DWORD, + pub AdapterCount: DWORD, + pub AdapterDataLength: DWORD, + pub AdapterDataOffset: DWORD, + pub DeviceCount: DWORD, + pub DeviceDataLength: DWORD, + pub DeviceDataOffset: DWORD, + pub Reserved: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_NODE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_NODE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_NODE_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_NODE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_NODE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(NodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterDataLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterDataOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceDataOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PHYSICAL_NODE_DATA = _STORAGE_PHYSICAL_NODE_DATA; +pub type PSTORAGE_PHYSICAL_NODE_DATA = *mut _STORAGE_PHYSICAL_NODE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NodeCount: DWORD, + pub Reserved: DWORD, + pub Node: [STORAGE_PHYSICAL_NODE_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>(), + 56usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(NodeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Node) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Node) + ) + ); +} +pub type STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR = _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR; +pub type PSTORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR = *mut _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub LunMaxIoCount: DWORD, + pub AdapterMaxIoCount: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LunMaxIoCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(LunMaxIoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterMaxIoCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(AdapterMaxIoCount) + ) + ); +} +pub type STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR = _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR; +pub type PSTORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR = *mut _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Attributes: DWORD64, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Attributes) + ) + ); +} +pub type STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR = _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR; +pub type PSTORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR = *mut _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthUnknown: _STORAGE_DISK_HEALTH_STATUS = 0; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthUnhealthy: _STORAGE_DISK_HEALTH_STATUS = 1; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthWarning: _STORAGE_DISK_HEALTH_STATUS = 2; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthHealthy: _STORAGE_DISK_HEALTH_STATUS = 3; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthMax: _STORAGE_DISK_HEALTH_STATUS = 4; +pub type _STORAGE_DISK_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_DISK_HEALTH_STATUS as STORAGE_DISK_HEALTH_STATUS; +pub type PSTORAGE_DISK_HEALTH_STATUS = *mut _STORAGE_DISK_HEALTH_STATUS; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusNone: _STORAGE_DISK_OPERATIONAL_STATUS = 0; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusUnknown: _STORAGE_DISK_OPERATIONAL_STATUS = + 1; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusOk: _STORAGE_DISK_OPERATIONAL_STATUS = 2; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusPredictingFailure: + _STORAGE_DISK_OPERATIONAL_STATUS = 3; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusInService: _STORAGE_DISK_OPERATIONAL_STATUS = + 4; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusHardwareError: + _STORAGE_DISK_OPERATIONAL_STATUS = 5; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusNotUsable: _STORAGE_DISK_OPERATIONAL_STATUS = + 6; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusTransientError: + _STORAGE_DISK_OPERATIONAL_STATUS = 7; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusMissing: _STORAGE_DISK_OPERATIONAL_STATUS = + 8; +pub type _STORAGE_DISK_OPERATIONAL_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_DISK_OPERATIONAL_STATUS as STORAGE_DISK_OPERATIONAL_STATUS; +pub type PSTORAGE_DISK_OPERATIONAL_STATUS = *mut _STORAGE_DISK_OPERATIONAL_STATUS; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonUnknown: + _STORAGE_OPERATIONAL_STATUS_REASON = 0; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonScsiSenseCode: + _STORAGE_OPERATIONAL_STATUS_REASON = 1; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMedia: _STORAGE_OPERATIONAL_STATUS_REASON = + 2; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonIo: _STORAGE_OPERATIONAL_STATUS_REASON = 3; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonThresholdExceeded: + _STORAGE_OPERATIONAL_STATUS_REASON = 4; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostData: + _STORAGE_OPERATIONAL_STATUS_REASON = 5; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonEnergySource: + _STORAGE_OPERATIONAL_STATUS_REASON = 6; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonConfiguration: + _STORAGE_OPERATIONAL_STATUS_REASON = 7; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDeviceController: + _STORAGE_OPERATIONAL_STATUS_REASON = 8; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMediaController: + _STORAGE_OPERATIONAL_STATUS_REASON = 9; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonComponent: + _STORAGE_OPERATIONAL_STATUS_REASON = 10; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonNVDIMM_N: + _STORAGE_OPERATIONAL_STATUS_REASON = 11; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonBackgroundOperation: + _STORAGE_OPERATIONAL_STATUS_REASON = 12; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonInvalidFirmware: + _STORAGE_OPERATIONAL_STATUS_REASON = 13; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonHealthCheck: + _STORAGE_OPERATIONAL_STATUS_REASON = 14; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostDataPersistence: + _STORAGE_OPERATIONAL_STATUS_REASON = 15; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDisabledByPlatform: + _STORAGE_OPERATIONAL_STATUS_REASON = 16; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostWritePersistence: + _STORAGE_OPERATIONAL_STATUS_REASON = 17; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDataPersistenceLossImminent: + _STORAGE_OPERATIONAL_STATUS_REASON = 18; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonWritePersistenceLossImminent: + _STORAGE_OPERATIONAL_STATUS_REASON = 19; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMax: _STORAGE_OPERATIONAL_STATUS_REASON = + 20; +pub type _STORAGE_OPERATIONAL_STATUS_REASON = ::std::os::raw::c_int; +pub use self::_STORAGE_OPERATIONAL_STATUS_REASON as STORAGE_OPERATIONAL_STATUS_REASON; +pub type PSTORAGE_OPERATIONAL_STATUS_REASON = *mut _STORAGE_OPERATIONAL_STATUS_REASON; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON { + pub Version: DWORD, + pub Size: DWORD, + pub Reason: STORAGE_OPERATIONAL_STATUS_REASON, + pub RawBytes: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_OPERATIONAL_REASON__bindgen_ty_1 { + pub ScsiSenseKey: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1, + pub NVDIMM_N: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2, + pub AsUlong: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1 { + pub SenseKey: BYTE, + pub ASC: BYTE, + pub ASCQ: BYTE, + pub Reserved: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SenseKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SenseKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASC) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ASC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASCQ) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ASCQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2 { + pub CriticalHealth: BYTE, + pub ModuleHealth: [BYTE; 2usize], + pub ErrorThresholdStatus: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalHealth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(CriticalHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModuleHealth) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ModuleHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorThresholdStatus) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ErrorThresholdStatus) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScsiSenseKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(ScsiSenseKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NVDIMM_N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(NVDIMM_N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(AsUlong) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_OPERATIONAL_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_OPERATIONAL_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(RawBytes) + ) + ); +} +pub type STORAGE_OPERATIONAL_REASON = _STORAGE_OPERATIONAL_REASON; +pub type PSTORAGE_OPERATIONAL_REASON = *mut _STORAGE_OPERATIONAL_REASON; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_DEVICE_MANAGEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub Health: STORAGE_DISK_HEALTH_STATUS, + pub NumberOfOperationalStatus: DWORD, + pub NumberOfAdditionalReasons: DWORD, + pub OperationalStatus: [STORAGE_DISK_OPERATIONAL_STATUS; 16usize], + pub AdditionalReasons: [STORAGE_OPERATIONAL_REASON; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_MANAGEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_MANAGEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_MANAGEMENT_STATUS>(), + 100usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_MANAGEMENT_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Health) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Health) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfOperationalStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfOperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAdditionalReasons) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfAdditionalReasons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationalStatus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(OperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalReasons) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(AdditionalReasons) + ) + ); +} +pub type STORAGE_DEVICE_MANAGEMENT_STATUS = _STORAGE_DEVICE_MANAGEMENT_STATUS; +pub type PSTORAGE_DEVICE_MANAGEMENT_STATUS = *mut _STORAGE_DEVICE_MANAGEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ADAPTER_SERIAL_NUMBER { + pub Version: DWORD, + pub Size: DWORD, + pub SerialNumber: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__STORAGE_ADAPTER_SERIAL_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ADAPTER_SERIAL_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ADAPTER_SERIAL_NUMBER>(), + 264usize, + concat!("Size of: ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ADAPTER_SERIAL_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type STORAGE_ADAPTER_SERIAL_NUMBER = _STORAGE_ADAPTER_SERIAL_NUMBER; +pub type PSTORAGE_ADAPTER_SERIAL_NUMBER = *mut _STORAGE_ADAPTER_SERIAL_NUMBER; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeUnknown: _STORAGE_ZONED_DEVICE_TYPES = 0; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeHostManaged: _STORAGE_ZONED_DEVICE_TYPES = 1; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeHostAware: _STORAGE_ZONED_DEVICE_TYPES = 2; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeDeviceManaged: _STORAGE_ZONED_DEVICE_TYPES = 3; +pub type _STORAGE_ZONED_DEVICE_TYPES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONED_DEVICE_TYPES as STORAGE_ZONED_DEVICE_TYPES; +pub type PSTORAGE_ZONED_DEVICE_TYPES = *mut _STORAGE_ZONED_DEVICE_TYPES; +pub const _STORAGE_ZONE_TYPES_ZoneTypeUnknown: _STORAGE_ZONE_TYPES = 0; +pub const _STORAGE_ZONE_TYPES_ZoneTypeConventional: _STORAGE_ZONE_TYPES = 1; +pub const _STORAGE_ZONE_TYPES_ZoneTypeSequentialWriteRequired: _STORAGE_ZONE_TYPES = 2; +pub const _STORAGE_ZONE_TYPES_ZoneTypeSequentialWritePreferred: _STORAGE_ZONE_TYPES = 3; +pub const _STORAGE_ZONE_TYPES_ZoneTypeMax: _STORAGE_ZONE_TYPES = 4; +pub type _STORAGE_ZONE_TYPES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONE_TYPES as STORAGE_ZONE_TYPES; +pub type PSTORAGE_ZONE_TYPES = *mut _STORAGE_ZONE_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONE_GROUP { + pub ZoneCount: DWORD, + pub ZoneType: STORAGE_ZONE_TYPES, + pub ZoneSize: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONE_GROUP() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONE_GROUP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONE_GROUP>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ZONE_GROUP)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONE_GROUP>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_ZONE_GROUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneSize) + ) + ); +} +pub type STORAGE_ZONE_GROUP = _STORAGE_ZONE_GROUP; +pub type PSTORAGE_ZONE_GROUP = *mut _STORAGE_ZONE_GROUP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceType: STORAGE_ZONED_DEVICE_TYPES, + pub ZoneCount: DWORD, + pub ZoneAttributes: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1, + pub ZoneGroupCount: DWORD, + pub ZoneGroup: [STORAGE_ZONE_GROUP; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1 { + pub SequentialRequiredZone: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, + pub SequentialPreferredZone: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + pub MaxOpenZoneCount: DWORD, + pub UnrestrictedRead: BOOLEAN, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxOpenZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaxOpenZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrestrictedRead) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(UnrestrictedRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2 { + pub OptimalOpenZoneCount: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalOpenZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(OptimalOpenZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequentialRequiredZone) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(SequentialRequiredZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequentialPreferredZone) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(SequentialPreferredZone) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONED_DEVICE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneGroupCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneGroup) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneGroup) + ) + ); +} +pub type STORAGE_ZONED_DEVICE_DESCRIPTOR = _STORAGE_ZONED_DEVICE_DESCRIPTOR; +pub type PSTORAGE_ZONED_DEVICE_DESCRIPTOR = *mut _STORAGE_ZONED_DEVICE_DESCRIPTOR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_LOCATION { + pub Socket: DWORD, + pub Slot: DWORD, + pub Adapter: DWORD, + pub Port: DWORD, + pub __bindgen_anon_1: _DEVICE_LOCATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_LOCATION__bindgen_ty_1 { + pub __bindgen_anon_1: _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1 { + pub Channel: DWORD, + pub Device: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Channel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Channel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Device) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Device) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2 { + pub Target: DWORD, + pub Lun: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Target) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Lun) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_DEVICE_LOCATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_LOCATION__bindgen_ty_1)) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_LOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_LOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Socket) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Socket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Adapter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Adapter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Port) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Port) + ) + ); +} +pub type DEVICE_LOCATION = _DEVICE_LOCATION; +pub type PDEVICE_LOCATION = *mut _DEVICE_LOCATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_DEVICE_LOCATION_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Location: DEVICE_LOCATION, + pub StringOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_LOCATION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_LOCATION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>(), + 36usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Location) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Location) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(StringOffset) + ) + ); +} +pub type STORAGE_DEVICE_LOCATION_DESCRIPTOR = _STORAGE_DEVICE_LOCATION_DESCRIPTOR; +pub type PSTORAGE_DEVICE_LOCATION_DESCRIPTOR = *mut _STORAGE_DEVICE_LOCATION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMA_PROPERTY { + pub Version: DWORD, + pub Size: DWORD, + pub NumaNode: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMA_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMA_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMA_PROPERTY>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMA_PROPERTY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(NumaNode) + ) + ); +} +pub type STORAGE_DEVICE_NUMA_PROPERTY = _STORAGE_DEVICE_NUMA_PROPERTY; +pub type PSTORAGE_DEVICE_NUMA_PROPERTY = *mut _STORAGE_DEVICE_NUMA_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT { + pub Version: DWORD, + pub Size: DWORD, + pub UnsafeShutdownCount: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnsafeShutdownCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(UnsafeShutdownCount) + ) + ); +} +pub type STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT = _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT; +pub type PSTORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT = *mut _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_INFO { + pub ValidFields: DWORD, + pub GroupId: DWORD, + pub Flags: _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1, + pub LifePercentage: DWORD, + pub BytesReadCount: [BYTE; 16usize], + pub ByteWriteCount: [BYTE; 16usize], +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1) + ) + ); +} +impl _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1 { + #[inline] + pub fn Shared(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Shared(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Shared: DWORD, Reserved: DWORD) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Shared: u32 = unsafe { ::std::mem::transmute(Shared) }; + Shared as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_ENDURANCE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_HW_ENDURANCE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_ENDURANCE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValidFields) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(ValidFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(GroupId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LifePercentage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(LifePercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesReadCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(BytesReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteWriteCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(ByteWriteCount) + ) + ); +} +pub type STORAGE_HW_ENDURANCE_INFO = _STORAGE_HW_ENDURANCE_INFO; +pub type PSTORAGE_HW_ENDURANCE_INFO = *mut _STORAGE_HW_ENDURANCE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub EnduranceInfo: STORAGE_HW_ENDURANCE_INFO, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>(), + 56usize, + concat!( + "Size of: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnduranceInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(EnduranceInfo) + ) + ); +} +pub type STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; +pub type PSTORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = *mut _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_LED_STATE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub State: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_LED_STATE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_LED_STATE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_LED_STATE_DESCRIPTOR>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_LED_STATE_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_LED_STATE_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_LED_STATE_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LED_STATE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LED_STATE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LED_STATE_DESCRIPTOR), + "::", + stringify!(State) + ) + ); +} +pub type STORAGE_DEVICE_LED_STATE_DESCRIPTOR = _STORAGE_DEVICE_LED_STATE_DESCRIPTOR; +pub type PSTORAGE_DEVICE_LED_STATE_DESCRIPTOR = *mut _STORAGE_DEVICE_LED_STATE_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY { + pub Version: DWORD, + pub Size: DWORD, + pub SupportsSelfEncryption: BOOLEAN, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SupportsSelfEncryption) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY), + "::", + stringify!(SupportsSelfEncryption) + ) + ); +} +pub type STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY = _STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY; +pub type PSTORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY = *mut _STORAGE_DEVICE_SELF_ENCRYPTION_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_FRU_ID_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub IdentifierSize: DWORD, + pub Identifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_FRU_ID_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_FRU_ID_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_FRU_ID_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_FRU_ID_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_FRU_ID_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_FRU_ID_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FRU_ID_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FRU_ID_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FRU_ID_DESCRIPTOR), + "::", + stringify!(IdentifierSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FRU_ID_DESCRIPTOR), + "::", + stringify!(Identifier) + ) + ); +} +pub type STORAGE_FRU_ID_DESCRIPTOR = _STORAGE_FRU_ID_DESCRIPTOR; +pub type PSTORAGE_FRU_ID_DESCRIPTOR = *mut _STORAGE_FRU_ID_DESCRIPTOR; +pub type DEVICE_DATA_MANAGEMENT_SET_ACTION = DWORD; +pub type DEVICE_DSM_ACTION = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_RANGE { + pub StartingOffset: LONGLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_RANGE), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type DEVICE_DATA_SET_RANGE = _DEVICE_DATA_SET_RANGE; +pub type PDEVICE_DATA_SET_RANGE = *mut _DEVICE_DATA_SET_RANGE; +pub type DEVICE_DSM_RANGE = _DEVICE_DATA_SET_RANGE; +pub type PDEVICE_DSM_RANGE = *mut _DEVICE_DATA_SET_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES { + pub Size: DWORD, + pub Action: DEVICE_DSM_ACTION, + pub Flags: DWORD, + pub ParameterBlockOffset: DWORD, + pub ParameterBlockLength: DWORD, + pub DataSetRangesOffset: DWORD, + pub DataSetRangesLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MANAGE_DATA_SET_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(ParameterBlockOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(ParameterBlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSetRangesOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(DataSetRangesOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSetRangesLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(DataSetRangesLength) + ) + ); +} +pub type DEVICE_MANAGE_DATA_SET_ATTRIBUTES = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type PDEVICE_MANAGE_DATA_SET_ATTRIBUTES = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type DEVICE_DSM_INPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type PDEVICE_DSM_INPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT { + pub Size: DWORD, + pub Action: DEVICE_DSM_ACTION, + pub Flags: DWORD, + pub OperationStatus: DWORD, + pub ExtendedError: DWORD, + pub TargetDetailedError: DWORD, + pub ReservedStatus: DWORD, + pub OutputBlockOffset: DWORD, + pub OutputBlockLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>(), + 36usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OperationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedError) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(ExtendedError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetDetailedError) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(TargetDetailedError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(ReservedStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OutputBlockOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OutputBlockLength) + ) + ); +} +pub type DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type DEVICE_DSM_OUTPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type PDEVICE_DSM_OUTPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_DEFINITION { + pub Action: DEVICE_DSM_ACTION, + pub SingleRange: BOOLEAN, + pub ParameterBlockAlignment: DWORD, + pub ParameterBlockLength: DWORD, + pub HasOutput: BOOLEAN, + pub OutputBlockAlignment: DWORD, + pub OutputBlockLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_DEFINITION>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SingleRange) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(SingleRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockAlignment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(ParameterBlockAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(ParameterBlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(HasOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockAlignment) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(OutputBlockAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(OutputBlockLength) + ) + ); +} +pub type DEVICE_DSM_DEFINITION = _DEVICE_DSM_DEFINITION; +pub type PDEVICE_DSM_DEFINITION = *mut _DEVICE_DSM_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_NOTIFICATION_PARAMETERS { + pub Size: DWORD, + pub Flags: DWORD, + pub NumFileTypeIDs: DWORD, + pub FileTypeID: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_NOTIFICATION_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_NOTIFICATION_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumFileTypeIDs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(NumFileTypeIDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTypeID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(FileTypeID) + ) + ); +} +pub type DEVICE_DSM_NOTIFICATION_PARAMETERS = _DEVICE_DSM_NOTIFICATION_PARAMETERS; +pub type PDEVICE_DSM_NOTIFICATION_PARAMETERS = *mut _DEVICE_DSM_NOTIFICATION_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OFFLOAD_TOKEN { + pub TokenType: [BYTE; 4usize], + pub Reserved: [BYTE; 2usize], + pub TokenIdLength: [BYTE; 2usize], + pub __bindgen_anon_1: _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1 { + pub StorageOffloadZeroDataToken: _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1, + pub Token: [BYTE; 504usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1 { + pub Reserved2: [BYTE; 504usize], +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1>(), + 504usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved2) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>(), + 504usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageOffloadZeroDataToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), + "::", + stringify!(StorageOffloadZeroDataToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), + "::", + stringify!(Token) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN>(), + 512usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_TOKEN)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_TOKEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenIdLength) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(TokenIdLength) + ) + ); +} +pub type STORAGE_OFFLOAD_TOKEN = _STORAGE_OFFLOAD_TOKEN; +pub type PSTORAGE_OFFLOAD_TOKEN = *mut _STORAGE_OFFLOAD_TOKEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_OFFLOAD_READ_PARAMETERS { + pub Flags: DWORD, + pub TimeToLive: DWORD, + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_OFFLOAD_READ_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeToLive) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(TimeToLive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_OFFLOAD_READ_PARAMETERS = _DEVICE_DSM_OFFLOAD_READ_PARAMETERS; +pub type PDEVICE_DSM_OFFLOAD_READ_PARAMETERS = *mut _DEVICE_DSM_OFFLOAD_READ_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OFFLOAD_READ_OUTPUT { + pub OffloadReadFlags: DWORD, + pub Reserved: DWORD, + pub LengthProtected: DWORDLONG, + pub TokenLength: DWORD, + pub Token: STORAGE_OFFLOAD_TOKEN, +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_READ_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_READ_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_READ_OUTPUT>(), + 536usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_READ_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffloadReadFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(OffloadReadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthProtected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(LengthProtected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(TokenLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Token) + ) + ); +} +pub type STORAGE_OFFLOAD_READ_OUTPUT = _STORAGE_OFFLOAD_READ_OUTPUT; +pub type PSTORAGE_OFFLOAD_READ_OUTPUT = *mut _STORAGE_OFFLOAD_READ_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS { + pub Flags: DWORD, + pub Reserved: DWORD, + pub TokenOffset: DWORDLONG, + pub Token: STORAGE_OFFLOAD_TOKEN, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>(), + 528usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(TokenOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Token) + ) + ); +} +pub type DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS = _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS; +pub type PDEVICE_DSM_OFFLOAD_WRITE_PARAMETERS = *mut _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OFFLOAD_WRITE_OUTPUT { + pub OffloadWriteFlags: DWORD, + pub Reserved: DWORD, + pub LengthCopied: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_WRITE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_WRITE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_WRITE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_WRITE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffloadWriteFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(OffloadWriteFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthCopied) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(LengthCopied) + ) + ); +} +pub type STORAGE_OFFLOAD_WRITE_OUTPUT = _STORAGE_OFFLOAD_WRITE_OUTPUT; +pub type PSTORAGE_OFFLOAD_WRITE_OUTPUT = *mut _STORAGE_OFFLOAD_WRITE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LBP_STATE_PARAMETERS { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub OutputVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LBP_STATE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>(), + 16usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(OutputVersion) + ) + ); +} +pub type DEVICE_DATA_SET_LBP_STATE_PARAMETERS = _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type PDEVICE_DATA_SET_LBP_STATE_PARAMETERS = *mut _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type DEVICE_DSM_ALLOCATION_PARAMETERS = _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type PDEVICE_DSM_ALLOCATION_PARAMETERS = *mut _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LB_PROVISIONING_STATE { + pub Size: DWORD, + pub Version: DWORD, + pub SlabSizeInBytes: DWORDLONG, + pub SlabOffsetDeltaInBytes: DWORD, + pub SlabAllocationBitMapBitCount: DWORD, + pub SlabAllocationBitMapLength: DWORD, + pub SlabAllocationBitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LB_PROVISIONING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LB_PROVISIONING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabOffsetDeltaInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabOffsetDeltaInBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapBitCount) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMapBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMap) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMap) + ) + ); +} +pub type DEVICE_DATA_SET_LB_PROVISIONING_STATE = _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type PDEVICE_DATA_SET_LB_PROVISIONING_STATE = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type DEVICE_DSM_ALLOCATION_OUTPUT = _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type PDEVICE_DSM_ALLOCATION_OUTPUT = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 { + pub Size: DWORD, + pub Version: DWORD, + pub SlabSizeInBytes: DWORDLONG, + pub SlabOffsetDeltaInBytes: DWORDLONG, + pub SlabAllocationBitMapBitCount: DWORD, + pub SlabAllocationBitMapLength: DWORD, + pub SlabAllocationBitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>(), + 40usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabOffsetDeltaInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabOffsetDeltaInBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapBitCount) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMapBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMap) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMap) + ) + ); +} +pub type DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 = _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type PDEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type DEVICE_DSM_ALLOCATION_OUTPUT2 = _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type PDEVICE_DSM_ALLOCATION_OUTPUT2 = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_REPAIR_PARAMETERS { + pub NumberOfRepairCopies: DWORD, + pub SourceCopy: DWORD, + pub RepairCopies: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_REPAIR_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_REPAIR_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRepairCopies) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(NumberOfRepairCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceCopy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(SourceCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RepairCopies) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(RepairCopies) + ) + ); +} +pub type DEVICE_DATA_SET_REPAIR_PARAMETERS = _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type PDEVICE_DATA_SET_REPAIR_PARAMETERS = *mut _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type DEVICE_DSM_REPAIR_PARAMETERS = _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type PDEVICE_DSM_REPAIR_PARAMETERS = *mut _DEVICE_DATA_SET_REPAIR_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_REPAIR_OUTPUT { + pub ParityExtent: DEVICE_DSM_RANGE, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_REPAIR_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_REPAIR_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_REPAIR_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_REPAIR_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT), + "::", + stringify!(ParityExtent) + ) + ); +} +pub type DEVICE_DATA_SET_REPAIR_OUTPUT = _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type PDEVICE_DATA_SET_REPAIR_OUTPUT = *mut _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type DEVICE_DSM_REPAIR_OUTPUT = _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type PDEVICE_DSM_REPAIR_OUTPUT = *mut _DEVICE_DATA_SET_REPAIR_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_SCRUB_OUTPUT { + pub BytesProcessed: DWORDLONG, + pub BytesRepaired: DWORDLONG, + pub BytesFailed: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_SCRUB_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_SCRUB_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_SCRUB_OUTPUT>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_SCRUB_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRepaired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesFailed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesFailed) + ) + ); +} +pub type DEVICE_DATA_SET_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type PDEVICE_DATA_SET_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type DEVICE_DSM_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type PDEVICE_DSM_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_SCRUB_EX_OUTPUT { + pub BytesProcessed: DWORDLONG, + pub BytesRepaired: DWORDLONG, + pub BytesFailed: DWORDLONG, + pub ParityExtent: DEVICE_DSM_RANGE, + pub BytesScrubbed: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_SCRUB_EX_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), + 48usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRepaired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesFailed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesFailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(ParityExtent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesScrubbed) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesScrubbed) + ) + ); +} +pub type DEVICE_DATA_SET_SCRUB_EX_OUTPUT = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type PDEVICE_DATA_SET_SCRUB_EX_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type DEVICE_DSM_SCRUB_OUTPUT2 = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type PDEVICE_DSM_SCRUB_OUTPUT2 = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_TIERING_QUERY_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NumberOfTierIds: DWORD, + pub TierIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_TIERING_QUERY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_TIERING_QUERY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_TIERING_QUERY_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_TIERING_QUERY_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTierIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(NumberOfTierIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierIds) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(TierIds) + ) + ); +} +pub type DEVICE_DSM_TIERING_QUERY_INPUT = _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type PDEVICE_DSM_TIERING_QUERY_INPUT = *mut _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type DEVICE_DSM_TIERING_QUERY_PARAMETERS = _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type PDEVICE_DSM_TIERING_QUERY_PARAMETERS = *mut _DEVICE_DSM_TIERING_QUERY_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TIER_REGION { + pub TierId: GUID, + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_TIER_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TIER_REGION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TIER_REGION>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_TIER_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TIER_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_TIER_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(TierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(Length) + ) + ); +} +pub type STORAGE_TIER_REGION = _STORAGE_TIER_REGION; +pub type PSTORAGE_TIER_REGION = *mut _STORAGE_TIER_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_TIERING_QUERY_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, + pub Alignment: DWORDLONG, + pub TotalNumberOfRegions: DWORD, + pub NumberOfRegionsReturned: DWORD, + pub Regions: [STORAGE_TIER_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_TIERING_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_TIERING_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRegions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(TotalNumberOfRegions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRegionsReturned) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(NumberOfRegionsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Regions) + ) + ); +} +pub type DEVICE_DSM_TIERING_QUERY_OUTPUT = _DEVICE_DSM_TIERING_QUERY_OUTPUT; +pub type PDEVICE_DSM_TIERING_QUERY_OUTPUT = *mut _DEVICE_DSM_TIERING_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS { + pub Size: DWORD, + pub TargetPriority: BYTE, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetPriority) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(TargetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS = + _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS; +pub type PDEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS = + *mut _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT { + pub TopologyRangeBytes: DWORDLONG, + pub TopologyId: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>(), + 24usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopologyRangeBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT), + "::", + stringify!(TopologyRangeBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopologyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT), + "::", + stringify!(TopologyId) + ) + ); +} +pub type DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT = _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type PDEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT = *mut _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type DEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT = _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type PDEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT = *mut _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_STORAGE_ADDRESS_RANGE { + pub StartAddress: LONGLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_ADDRESS_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_ADDRESS_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_ADDRESS_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_STORAGE_ADDRESS_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_ADDRESS_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_STORAGE_ADDRESS_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_ADDRESS_RANGE), + "::", + stringify!(StartAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_ADDRESS_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type DEVICE_STORAGE_ADDRESS_RANGE = _DEVICE_STORAGE_ADDRESS_RANGE; +pub type PDEVICE_STORAGE_ADDRESS_RANGE = *mut _DEVICE_STORAGE_ADDRESS_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT { + pub Version: DWORD, + pub Flags: DWORD, + pub TotalNumberOfRanges: DWORD, + pub NumberOfRangesReturned: DWORD, + pub Ranges: [DEVICE_STORAGE_ADDRESS_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(TotalNumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRangesReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(NumberOfRangesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Ranges) + ) + ); +} +pub type DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT = _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT; +pub type PDEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT = *mut _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_REPORT_ZONES_PARAMETERS { + pub Size: DWORD, + pub ReportOption: BYTE, + pub Partial: BYTE, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_REPORT_ZONES_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_REPORT_ZONES_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>(), + 8usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportOption) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(ReportOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partial) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Partial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_REPORT_ZONES_PARAMETERS = _DEVICE_DSM_REPORT_ZONES_PARAMETERS; +pub type PDEVICE_DSM_REPORT_ZONES_PARAMETERS = *mut _DEVICE_DSM_REPORT_ZONES_PARAMETERS; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeAndLengthMayDifferent: + _STORAGE_ZONES_ATTRIBUTES = 0; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeSameLengthSame: _STORAGE_ZONES_ATTRIBUTES = 1; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeSameLastZoneLengthDifferent: + _STORAGE_ZONES_ATTRIBUTES = 2; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeMayDifferentLengthSame: + _STORAGE_ZONES_ATTRIBUTES = 3; +pub type _STORAGE_ZONES_ATTRIBUTES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONES_ATTRIBUTES as STORAGE_ZONES_ATTRIBUTES; +pub type PSTORAGE_ZONES_ATTRIBUTES = *mut _STORAGE_ZONES_ATTRIBUTES; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionConventional: _STORAGE_ZONE_CONDITION = 0; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionEmpty: _STORAGE_ZONE_CONDITION = 1; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionImplicitlyOpened: _STORAGE_ZONE_CONDITION = 2; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionExplicitlyOpened: _STORAGE_ZONE_CONDITION = 3; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionClosed: _STORAGE_ZONE_CONDITION = 4; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionReadOnly: _STORAGE_ZONE_CONDITION = 13; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionFull: _STORAGE_ZONE_CONDITION = 14; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionOffline: _STORAGE_ZONE_CONDITION = 15; +pub type _STORAGE_ZONE_CONDITION = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONE_CONDITION as STORAGE_ZONE_CONDITION; +pub type PSTORAGE_ZONE_CONDITION = *mut _STORAGE_ZONE_CONDITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONE_DESCRIPTOR { + pub Size: DWORD, + pub ZoneType: STORAGE_ZONE_TYPES, + pub ZoneCondition: STORAGE_ZONE_CONDITION, + pub ResetWritePointerRecommend: BOOLEAN, + pub Reserved0: [BYTE; 3usize], + pub ZoneSize: DWORDLONG, + pub WritePointerOffset: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONE_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_ZONE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONE_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_ZONE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCondition) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneCondition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetWritePointerRecommend) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ResetWritePointerRecommend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WritePointerOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(WritePointerOffset) + ) + ); +} +pub type STORAGE_ZONE_DESCRIPTOR = _STORAGE_ZONE_DESCRIPTOR; +pub type PSTORAGE_ZONE_DESCRIPTOR = *mut _STORAGE_ZONE_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_REPORT_ZONES_DATA { + pub Size: DWORD, + pub ZoneCount: DWORD, + pub Attributes: STORAGE_ZONES_ATTRIBUTES, + pub Reserved0: DWORD, + pub ZoneDescriptors: [STORAGE_ZONE_DESCRIPTOR; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_REPORT_ZONES_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_REPORT_ZONES_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_REPORT_ZONES_DATA>(), + 48usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_REPORT_ZONES_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneDescriptors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(ZoneDescriptors) + ) + ); +} +pub type DEVICE_DSM_REPORT_ZONES_DATA = _DEVICE_DSM_REPORT_ZONES_DATA; +pub type PDEVICE_DSM_REPORT_ZONES_DATA = *mut _DEVICE_DSM_REPORT_ZONES_DATA; +pub type DEVICE_DSM_REPORT_ZONES_OUTPUT = _DEVICE_DSM_REPORT_ZONES_DATA; +pub type PDEVICE_DSM_REPORT_ZONES_OUTPUT = *mut _DEVICE_DSM_REPORT_ZONES_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_STORAGE_RANGE_ATTRIBUTES { + pub LengthInBytes: DWORDLONG, + pub __bindgen_anon_1: _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1, + pub Reserved: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1 { + pub AllFlags: DWORD, + pub __bindgen_anon_1: _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn IsRangeBad(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsRangeBad(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(IsRangeBad: DWORD) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let IsRangeBad: u32 = unsafe { ::std::mem::transmute(IsRangeBad) }; + IsRangeBad as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1), + "::", + stringify!(AllFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_RANGE_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES), + "::", + stringify!(LengthInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_STORAGE_RANGE_ATTRIBUTES = _DEVICE_STORAGE_RANGE_ATTRIBUTES; +pub type PDEVICE_STORAGE_RANGE_ATTRIBUTES = *mut _DEVICE_STORAGE_RANGE_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_DSM_RANGE_ERROR_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub TotalNumberOfRanges: DWORD, + pub NumberOfRangesReturned: DWORD, + pub Ranges: [DEVICE_STORAGE_RANGE_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_RANGE_ERROR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_RANGE_ERROR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_RANGE_ERROR_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_RANGE_ERROR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(TotalNumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRangesReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(NumberOfRangesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Ranges) + ) + ); +} +pub type DEVICE_DSM_RANGE_ERROR_INFO = _DEVICE_DSM_RANGE_ERROR_INFO; +pub type PDEVICE_DSM_RANGE_ERROR_INFO = *mut _DEVICE_DSM_RANGE_ERROR_INFO; +pub type DEVICE_DSM_RANGE_ERROR_OUTPUT = _DEVICE_DSM_RANGE_ERROR_INFO; +pub type PDEVICE_DSM_RANGE_ERROR_OUTPUT = *mut _DEVICE_DSM_RANGE_ERROR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_LOST_QUERY_PARAMETERS { + pub Version: DWORD, + pub Granularity: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_LOST_QUERY_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_LOST_QUERY_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS), + "::", + stringify!(Granularity) + ) + ); +} +pub type DEVICE_DSM_LOST_QUERY_PARAMETERS = _DEVICE_DSM_LOST_QUERY_PARAMETERS; +pub type PDEVICE_DSM_LOST_QUERY_PARAMETERS = *mut _DEVICE_DSM_LOST_QUERY_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_LOST_QUERY_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Alignment: DWORDLONG, + pub NumberOfBits: DWORD, + pub BitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_LOST_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_LOST_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_LOST_QUERY_OUTPUT>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_LOST_QUERY_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(NumberOfBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitMap) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(BitMap) + ) + ); +} +pub type DEVICE_DSM_LOST_QUERY_OUTPUT = _DEVICE_DSM_LOST_QUERY_OUTPUT; +pub type PDEVICE_DSM_LOST_QUERY_OUTPUT = *mut _DEVICE_DSM_LOST_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_FREE_SPACE_OUTPUT { + pub Version: DWORD, + pub FreeSpace: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_FREE_SPACE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_FREE_SPACE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_FREE_SPACE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_FREE_SPACE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpace) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT), + "::", + stringify!(FreeSpace) + ) + ); +} +pub type DEVICE_DSM_FREE_SPACE_OUTPUT = _DEVICE_DSM_FREE_SPACE_OUTPUT; +pub type PDEVICE_DSM_FREE_SPACE_OUTPUT = *mut _DEVICE_DSM_FREE_SPACE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_CONVERSION_OUTPUT { + pub Version: DWORD, + pub Source: GUID, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_CONVERSION_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_CONVERSION_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_CONVERSION_OUTPUT>(), + 20usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_CONVERSION_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_CONVERSION_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_CONVERSION_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_CONVERSION_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_CONVERSION_OUTPUT), + "::", + stringify!(Source) + ) + ); +} +pub type DEVICE_DSM_CONVERSION_OUTPUT = _DEVICE_DSM_CONVERSION_OUTPUT; +pub type PDEVICE_DSM_CONVERSION_OUTPUT = *mut _DEVICE_DSM_CONVERSION_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_GET_BC_PROPERTIES_OUTPUT { + pub MaximumRequestsPerPeriod: DWORD, + pub MinimumPeriod: DWORD, + pub MaximumRequestSize: DWORDLONG, + pub EstimatedTimePerRequest: DWORD, + pub NumOutStandingRequests: DWORD, + pub RequestSize: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_GET_BC_PROPERTIES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_GET_BC_PROPERTIES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumRequestsPerPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MaximumRequestsPerPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MinimumPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumRequestSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MaximumRequestSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstimatedTimePerRequest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(EstimatedTimePerRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOutStandingRequests) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(NumOutStandingRequests) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(RequestSize) + ) + ); +} +pub type STORAGE_GET_BC_PROPERTIES_OUTPUT = _STORAGE_GET_BC_PROPERTIES_OUTPUT; +pub type PSTORAGE_GET_BC_PROPERTIES_OUTPUT = *mut _STORAGE_GET_BC_PROPERTIES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ALLOCATE_BC_STREAM_INPUT { + pub Version: DWORD, + pub RequestsPerPeriod: DWORD, + pub Period: DWORD, + pub RetryFailures: BOOLEAN, + pub Discardable: BOOLEAN, + pub Reserved1: [BOOLEAN; 2usize], + pub AccessType: DWORD, + pub AccessMode: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ALLOCATE_BC_STREAM_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ALLOCATE_BC_STREAM_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestsPerPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(RequestsPerPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Period) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Period) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryFailures) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(RetryFailures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Discardable) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Discardable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(AccessType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(AccessMode) + ) + ); +} +pub type STORAGE_ALLOCATE_BC_STREAM_INPUT = _STORAGE_ALLOCATE_BC_STREAM_INPUT; +pub type PSTORAGE_ALLOCATE_BC_STREAM_INPUT = *mut _STORAGE_ALLOCATE_BC_STREAM_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ALLOCATE_BC_STREAM_OUTPUT { + pub RequestSize: DWORDLONG, + pub NumOutStandingRequests: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ALLOCATE_BC_STREAM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT), + "::", + stringify!(RequestSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOutStandingRequests) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT), + "::", + stringify!(NumOutStandingRequests) + ) + ); +} +pub type STORAGE_ALLOCATE_BC_STREAM_OUTPUT = _STORAGE_ALLOCATE_BC_STREAM_OUTPUT; +pub type PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT = *mut _STORAGE_ALLOCATE_BC_STREAM_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PRIORITY_HINT_SUPPORT { + pub SupportFlags: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_PRIORITY_HINT_SUPPORT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PRIORITY_HINT_SUPPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PRIORITY_HINT_SUPPORT>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_PRIORITY_HINT_SUPPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PRIORITY_HINT_SUPPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PRIORITY_HINT_SUPPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SupportFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PRIORITY_HINT_SUPPORT), + "::", + stringify!(SupportFlags) + ) + ); +} +pub type STORAGE_PRIORITY_HINT_SUPPORT = _STORAGE_PRIORITY_HINT_SUPPORT; +pub type PSTORAGE_PRIORITY_HINT_SUPPORT = *mut _STORAGE_PRIORITY_HINT_SUPPORT; +pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelDefault: _STORAGE_DIAGNOSTIC_LEVEL = 0; +pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelMax: _STORAGE_DIAGNOSTIC_LEVEL = 1; +pub type _STORAGE_DIAGNOSTIC_LEVEL = ::std::os::raw::c_int; +pub use self::_STORAGE_DIAGNOSTIC_LEVEL as STORAGE_DIAGNOSTIC_LEVEL; +pub type PSTORAGE_DIAGNOSTIC_LEVEL = *mut _STORAGE_DIAGNOSTIC_LEVEL; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeUndefined: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 0; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypePort: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 1; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMiniport: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 2; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeHbaFirmware: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 3; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMax: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 4; +pub type _STORAGE_DIAGNOSTIC_TARGET_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_DIAGNOSTIC_TARGET_TYPE as STORAGE_DIAGNOSTIC_TARGET_TYPE; +pub type PSTORAGE_DIAGNOSTIC_TARGET_TYPE = *mut _STORAGE_DIAGNOSTIC_TARGET_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DIAGNOSTIC_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub TargetType: STORAGE_DIAGNOSTIC_TARGET_TYPE, + pub Level: STORAGE_DIAGNOSTIC_LEVEL, +} +#[test] +fn bindgen_test_layout__STORAGE_DIAGNOSTIC_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DIAGNOSTIC_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DIAGNOSTIC_REQUEST>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DIAGNOSTIC_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(TargetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Level) + ) + ); +} +pub type STORAGE_DIAGNOSTIC_REQUEST = _STORAGE_DIAGNOSTIC_REQUEST; +pub type PSTORAGE_DIAGNOSTIC_REQUEST = *mut _STORAGE_DIAGNOSTIC_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DIAGNOSTIC_DATA { + pub Version: DWORD, + pub Size: DWORD, + pub ProviderId: GUID, + pub BufferSize: DWORD, + pub Reserved: DWORD, + pub DiagnosticDataBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DIAGNOSTIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DIAGNOSTIC_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DIAGNOSTIC_DATA>(), + 36usize, + concat!("Size of: ", stringify!(_STORAGE_DIAGNOSTIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DIAGNOSTIC_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DIAGNOSTIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(ProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiagnosticDataBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(DiagnosticDataBuffer) + ) + ); +} +pub type STORAGE_DIAGNOSTIC_DATA = _STORAGE_DIAGNOSTIC_DATA; +pub type PSTORAGE_DIAGNOSTIC_DATA = *mut _STORAGE_DIAGNOSTIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub StartingElement: DWORD, + pub Filter: BYTE, + pub ReportType: BYTE, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingElement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(StartingElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Filter) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Filter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportType) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(ReportType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Reserved) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS_REQUEST = _PHYSICAL_ELEMENT_STATUS_REQUEST; +pub type PPHYSICAL_ELEMENT_STATUS_REQUEST = *mut _PHYSICAL_ELEMENT_STATUS_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub ElementIdentifier: DWORD, + pub PhysicalElementType: BYTE, + pub PhysicalElementHealth: BYTE, + pub Reserved1: [BYTE; 2usize], + pub AssociatedCapacity: DWORDLONG, + pub Reserved2: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(ElementIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalElementType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(PhysicalElementType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalElementHealth) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(PhysicalElementHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssociatedCapacity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(AssociatedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Reserved2) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS_DESCRIPTOR = _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; +pub type PPHYSICAL_ELEMENT_STATUS_DESCRIPTOR = *mut _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub DescriptorCount: DWORD, + pub ReturnedDescriptorCount: DWORD, + pub ElementIdentifierBeingDepoped: DWORD, + pub Reserved: DWORD, + pub Descriptors: [PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; 1usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS>(), + 64usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_PHYSICAL_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptorCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(DescriptorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnedDescriptorCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(ReturnedDescriptorCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ElementIdentifierBeingDepoped) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(ElementIdentifierBeingDepoped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptors) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Descriptors) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS = _PHYSICAL_ELEMENT_STATUS; +pub type PPHYSICAL_ELEMENT_STATUS = *mut _PHYSICAL_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub RequestCapacity: DWORDLONG, + pub ElementIdentifier: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__REMOVE_ELEMENT_AND_TRUNCATE_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>(), + 24usize, + concat!( + "Size of: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestCapacity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(RequestCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementIdentifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(ElementIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Reserved) + ) + ); +} +pub type REMOVE_ELEMENT_AND_TRUNCATE_REQUEST = _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST; +pub type PREMOVE_ELEMENT_AND_TRUNCATE_REQUEST = *mut _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceInternalStatusDataRequestTypeUndefined: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 0; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceCurrentInternalStatusDataHeader: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 1; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceCurrentInternalStatusData: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 2; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceSavedInternalStatusDataHeader: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 3; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceSavedInternalStatusData: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 4; +pub type _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE as DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE; +pub type PDEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = *mut _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSetUndefined: + _DEVICE_INTERNAL_STATUS_DATA_SET = 0; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet1: _DEVICE_INTERNAL_STATUS_DATA_SET = + 1; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet2: _DEVICE_INTERNAL_STATUS_DATA_SET = + 2; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet3: _DEVICE_INTERNAL_STATUS_DATA_SET = + 3; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet4: _DEVICE_INTERNAL_STATUS_DATA_SET = + 4; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSetMax: + _DEVICE_INTERNAL_STATUS_DATA_SET = 5; +pub type _DEVICE_INTERNAL_STATUS_DATA_SET = ::std::os::raw::c_int; +pub use self::_DEVICE_INTERNAL_STATUS_DATA_SET as DEVICE_INTERNAL_STATUS_DATA_SET; +pub type PDEVICE_INTERNAL_STATUS_DATA_SET = *mut _DEVICE_INTERNAL_STATUS_DATA_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub RequestDataType: DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE, + pub RequestDataSet: DEVICE_INTERNAL_STATUS_DATA_SET, +} +#[test] +fn bindgen_test_layout__GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST>(), + 16usize, + concat!( + "Size of: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestDataType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(RequestDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestDataSet) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(RequestDataSet) + ) + ); +} +pub type GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST = _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST; +pub type PGET_DEVICE_INTERNAL_STATUS_DATA_REQUEST = *mut _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_INTERNAL_STATUS_DATA { + pub Version: DWORD, + pub Size: DWORD, + pub T10VendorId: DWORDLONG, + pub DataSet1Length: DWORD, + pub DataSet2Length: DWORD, + pub DataSet3Length: DWORD, + pub DataSet4Length: DWORD, + pub StatusDataVersion: BYTE, + pub Reserved: [BYTE; 3usize], + pub ReasonIdentifier: [BYTE; 128usize], + pub StatusDataLength: DWORD, + pub StatusData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_INTERNAL_STATUS_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_INTERNAL_STATUS_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_INTERNAL_STATUS_DATA>(), + 176usize, + concat!("Size of: ", stringify!(_DEVICE_INTERNAL_STATUS_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_INTERNAL_STATUS_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_INTERNAL_STATUS_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).T10VendorId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(T10VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet1Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet1Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet2Length) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet2Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet3Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet3Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet4Length) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet4Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusDataVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusDataVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonIdentifier) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(ReasonIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusDataLength) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusData) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusData) + ) + ); +} +pub type DEVICE_INTERNAL_STATUS_DATA = _DEVICE_INTERNAL_STATUS_DATA; +pub type PDEVICE_INTERNAL_STATUS_DATA = *mut _DEVICE_INTERNAL_STATUS_DATA; +pub const _STORAGE_SANITIZE_METHOD_StorageSanitizeMethodDefault: _STORAGE_SANITIZE_METHOD = 0; +pub const _STORAGE_SANITIZE_METHOD_StorageSanitizeMethodBlockErase: _STORAGE_SANITIZE_METHOD = 1; +pub const _STORAGE_SANITIZE_METHOD_StorageSanitizeMethodCryptoErase: _STORAGE_SANITIZE_METHOD = 2; +pub type _STORAGE_SANITIZE_METHOD = ::std::os::raw::c_int; +pub use self::_STORAGE_SANITIZE_METHOD as STORAGE_SANITIZE_METHOD; +pub type PSTORAGE_SANITIZE_METHOD = *mut _STORAGE_SANITIZE_METHOD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_REINITIALIZE_MEDIA { + pub Version: DWORD, + pub Size: DWORD, + pub TimeoutInSeconds: DWORD, + pub SanitizeOption: _STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1) + ) + ); +} +impl _STORAGE_REINITIALIZE_MEDIA__bindgen_ty_1 { + #[inline] + pub fn SanitizeMethod(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) } + } + #[inline] + pub fn set_SanitizeMethod(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub fn DisallowUnrestrictedSanitizeExit(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisallowUnrestrictedSanitizeExit(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SanitizeMethod: DWORD, + DisallowUnrestrictedSanitizeExit: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let SanitizeMethod: u32 = unsafe { ::std::mem::transmute(SanitizeMethod) }; + SanitizeMethod as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let DisallowUnrestrictedSanitizeExit: u32 = + unsafe { ::std::mem::transmute(DisallowUnrestrictedSanitizeExit) }; + DisallowUnrestrictedSanitizeExit as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__STORAGE_REINITIALIZE_MEDIA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_REINITIALIZE_MEDIA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_REINITIALIZE_MEDIA>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_REINITIALIZE_MEDIA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_REINITIALIZE_MEDIA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_REINITIALIZE_MEDIA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_REINITIALIZE_MEDIA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_REINITIALIZE_MEDIA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeoutInSeconds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_REINITIALIZE_MEDIA), + "::", + stringify!(TimeoutInSeconds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SanitizeOption) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_REINITIALIZE_MEDIA), + "::", + stringify!(SanitizeOption) + ) + ); +} +pub type STORAGE_REINITIALIZE_MEDIA = _STORAGE_REINITIALIZE_MEDIA; +pub type PSTORAGE_REINITIALIZE_MEDIA = *mut _STORAGE_REINITIALIZE_MEDIA; +#[repr(C)] +#[derive(Debug)] +pub struct _STORAGE_MEDIA_SERIAL_NUMBER_DATA { + pub Reserved: WORD, + pub SerialNumberLength: WORD, + pub SerialNumber: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__STORAGE_MEDIA_SERIAL_NUMBER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MEDIA_SERIAL_NUMBER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(SerialNumberLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type STORAGE_MEDIA_SERIAL_NUMBER_DATA = _STORAGE_MEDIA_SERIAL_NUMBER_DATA; +pub type PSTORAGE_MEDIA_SERIAL_NUMBER_DATA = *mut _STORAGE_MEDIA_SERIAL_NUMBER_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_READ_CAPACITY { + pub Version: DWORD, + pub Size: DWORD, + pub BlockLength: DWORD, + pub NumberOfBlocks: LARGE_INTEGER, + pub DiskLength: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__STORAGE_READ_CAPACITY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_READ_CAPACITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_READ_CAPACITY>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_READ_CAPACITY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_READ_CAPACITY>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_READ_CAPACITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(BlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBlocks) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(NumberOfBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(DiskLength) + ) + ); +} +pub type STORAGE_READ_CAPACITY = _STORAGE_READ_CAPACITY; +pub type PSTORAGE_READ_CAPACITY = *mut _STORAGE_READ_CAPACITY; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeUnknown: _WRITE_CACHE_TYPE = 0; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeNone: _WRITE_CACHE_TYPE = 1; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeWriteBack: _WRITE_CACHE_TYPE = 2; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeWriteThrough: _WRITE_CACHE_TYPE = 3; +pub type _WRITE_CACHE_TYPE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_TYPE as WRITE_CACHE_TYPE; +pub const _WRITE_CACHE_ENABLE_WriteCacheEnableUnknown: _WRITE_CACHE_ENABLE = 0; +pub const _WRITE_CACHE_ENABLE_WriteCacheDisabled: _WRITE_CACHE_ENABLE = 1; +pub const _WRITE_CACHE_ENABLE_WriteCacheEnabled: _WRITE_CACHE_ENABLE = 2; +pub type _WRITE_CACHE_ENABLE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_ENABLE as WRITE_CACHE_ENABLE; +pub const _WRITE_CACHE_CHANGE_WriteCacheChangeUnknown: _WRITE_CACHE_CHANGE = 0; +pub const _WRITE_CACHE_CHANGE_WriteCacheNotChangeable: _WRITE_CACHE_CHANGE = 1; +pub const _WRITE_CACHE_CHANGE_WriteCacheChangeable: _WRITE_CACHE_CHANGE = 2; +pub type _WRITE_CACHE_CHANGE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_CHANGE as WRITE_CACHE_CHANGE; +pub const _WRITE_THROUGH_WriteThroughUnknown: _WRITE_THROUGH = 0; +pub const _WRITE_THROUGH_WriteThroughNotSupported: _WRITE_THROUGH = 1; +pub const _WRITE_THROUGH_WriteThroughSupported: _WRITE_THROUGH = 2; +pub type _WRITE_THROUGH = ::std::os::raw::c_int; +pub use self::_WRITE_THROUGH as WRITE_THROUGH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_WRITE_CACHE_PROPERTY { + pub Version: DWORD, + pub Size: DWORD, + pub WriteCacheType: WRITE_CACHE_TYPE, + pub WriteCacheEnabled: WRITE_CACHE_ENABLE, + pub WriteCacheChangeable: WRITE_CACHE_CHANGE, + pub WriteThroughSupported: WRITE_THROUGH, + pub FlushCacheSupported: BOOLEAN, + pub UserDefinedPowerProtection: BOOLEAN, + pub NVCacheEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__STORAGE_WRITE_CACHE_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_WRITE_CACHE_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_WRITE_CACHE_PROPERTY>(), + 28usize, + concat!("Size of: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_WRITE_CACHE_PROPERTY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnabled) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheChangeable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheChangeable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteThroughSupported) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteThroughSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlushCacheSupported) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(FlushCacheSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDefinedPowerProtection) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(UserDefinedPowerProtection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NVCacheEnabled) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(NVCacheEnabled) + ) + ); +} +pub type STORAGE_WRITE_CACHE_PROPERTY = _STORAGE_WRITE_CACHE_PROPERTY; +pub type PSTORAGE_WRITE_CACHE_PROPERTY = *mut _STORAGE_WRITE_CACHE_PROPERTY; +#[repr(C)] +pub struct _PERSISTENT_RESERVE_COMMAND { + pub Version: DWORD, + pub Size: DWORD, + pub __bindgen_anon_1: _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1, +} +#[repr(C)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1 { + pub PR_IN: __BindgenUnionField<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>, + pub PR_OUT: __BindgenUnionField<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>, + pub bindgen_union_field: [u16; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub AllocationLength: WORD, +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllocationLength) + ) + ); +} +impl _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn ServiceAction(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u8) } + } + #[inline] + pub fn set_ServiceAction(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ServiceAction: BYTE, + Reserved1: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let ServiceAction: u8 = unsafe { ::std::mem::transmute(ServiceAction) }; + ServiceAction as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved1: u8 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub ParameterList: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterList) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ParameterList) + ) + ); +} +impl _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn ServiceAction(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u8) } + } + #[inline] + pub fn set_ServiceAction(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) } + } + #[inline] + pub fn set_Type(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 4u8, val as u64) + } + } + #[inline] + pub fn Scope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) } + } + #[inline] + pub fn set_Scope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ServiceAction: BYTE, + Reserved1: BYTE, + Type: BYTE, + Scope: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let ServiceAction: u8 = unsafe { ::std::mem::transmute(ServiceAction) }; + ServiceAction as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved1: u8 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 4u8, { + let Type: u8 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(12usize, 4u8, { + let Scope: u8 = unsafe { ::std::mem::transmute(Scope) }; + Scope as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PR_IN) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1), + "::", + stringify!(PR_IN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PR_OUT) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1), + "::", + stringify!(PR_OUT) + ) + ); +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND>(), + 12usize, + concat!("Size of: ", stringify!(_PERSISTENT_RESERVE_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND>(), + 4usize, + concat!("Alignment of ", stringify!(_PERSISTENT_RESERVE_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND), + "::", + stringify!(Size) + ) + ); +} +pub type PERSISTENT_RESERVE_COMMAND = _PERSISTENT_RESERVE_COMMAND; +pub type PPERSISTENT_RESERVE_COMMAND = *mut _PERSISTENT_RESERVE_COMMAND; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionBugCheck: _DEVICEDUMP_COLLECTION_TYPE = 1; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionApplicationRequested: + _DEVICEDUMP_COLLECTION_TYPE = 2; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionDeviceRequested: _DEVICEDUMP_COLLECTION_TYPE = 3; +pub type _DEVICEDUMP_COLLECTION_TYPE = ::std::os::raw::c_int; +pub use self::_DEVICEDUMP_COLLECTION_TYPE as DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE; +pub type PDEVICEDUMP_COLLECTION_TYPE = *mut _DEVICEDUMP_COLLECTION_TYPE; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_SUBSECTION_POINTER { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub dwOffset: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_SUBSECTION_POINTER() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_SUBSECTION_POINTER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_SUBSECTION_POINTER>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_SUBSECTION_POINTER>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwOffset) + ) + ); +} +pub type DEVICEDUMP_SUBSECTION_POINTER = _DEVICEDUMP_SUBSECTION_POINTER; +pub type PDEVICEDUMP_SUBSECTION_POINTER = *mut _DEVICEDUMP_SUBSECTION_POINTER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STRUCTURE_VERSION { + pub dwSignature: DWORD, + pub dwVersion: DWORD, + pub dwSize: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STRUCTURE_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STRUCTURE_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STRUCTURE_VERSION>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STRUCTURE_VERSION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwSize) + ) + ); +} +pub type DEVICEDUMP_STRUCTURE_VERSION = _DEVICEDUMP_STRUCTURE_VERSION; +pub type PDEVICEDUMP_STRUCTURE_VERSION = *mut _DEVICEDUMP_STRUCTURE_VERSION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_SECTION_HEADER { + pub guidDeviceDataId: GUID, + pub sOrganizationID: [BYTE; 16usize], + pub dwFirmwareRevision: DWORD, + pub sModelNumber: [BYTE; 32usize], + pub szDeviceManufacturingID: [BYTE; 32usize], + pub dwFlags: DWORD, + pub bRestrictedPrivateDataVersion: DWORD, + pub dwFirmwareIssueId: DWORD, + pub szIssueDescriptionString: [BYTE; 132usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_SECTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_SECTION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_SECTION_HEADER>(), + 244usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_SECTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_SECTION_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_SECTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidDeviceDataId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(guidDeviceDataId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sOrganizationID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(sOrganizationID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirmwareRevision) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sModelNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(sModelNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDeviceManufacturingID) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(szDeviceManufacturingID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).bRestrictedPrivateDataVersion) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(bRestrictedPrivateDataVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirmwareIssueId) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFirmwareIssueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szIssueDescriptionString) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(szIssueDescriptionString) + ) + ); +} +pub type DEVICEDUMP_SECTION_HEADER = _DEVICEDUMP_SECTION_HEADER; +pub type PDEVICEDUMP_SECTION_HEADER = *mut _DEVICEDUMP_SECTION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _GP_LOG_PAGE_DESCRIPTOR { + pub LogAddress: WORD, + pub LogSectors: WORD, +} +#[test] +fn bindgen_test_layout__GP_LOG_PAGE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_GP_LOG_PAGE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GP_LOG_PAGE_DESCRIPTOR>(), + 4usize, + concat!("Size of: ", stringify!(_GP_LOG_PAGE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_GP_LOG_PAGE_DESCRIPTOR>(), + 1usize, + concat!("Alignment of ", stringify!(_GP_LOG_PAGE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GP_LOG_PAGE_DESCRIPTOR), + "::", + stringify!(LogAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogSectors) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GP_LOG_PAGE_DESCRIPTOR), + "::", + stringify!(LogSectors) + ) + ); +} +pub type GP_LOG_PAGE_DESCRIPTOR = _GP_LOG_PAGE_DESCRIPTOR; +pub type PGP_LOG_PAGE_DESCRIPTOR = *mut _GP_LOG_PAGE_DESCRIPTOR; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_PUBLIC_SUBSECTION { + pub dwFlags: DWORD, + pub GPLogTable: [GP_LOG_PAGE_DESCRIPTOR; 16usize], + pub szDescription: [CHAR; 16usize], + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_PUBLIC_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_PUBLIC_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_PUBLIC_SUBSECTION>(), + 85usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_PUBLIC_SUBSECTION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPLogTable) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(GPLogTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_PUBLIC_SUBSECTION = _DEVICEDUMP_PUBLIC_SUBSECTION; +pub type PDEVICEDUMP_PUBLIC_SUBSECTION = *mut _DEVICEDUMP_PUBLIC_SUBSECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_RESTRICTED_SUBSECTION { + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_RESTRICTED_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_RESTRICTED_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_RESTRICTED_SUBSECTION>(), + 1usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_RESTRICTED_SUBSECTION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_RESTRICTED_SUBSECTION = _DEVICEDUMP_RESTRICTED_SUBSECTION; +pub type PDEVICEDUMP_RESTRICTED_SUBSECTION = *mut _DEVICEDUMP_RESTRICTED_SUBSECTION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_PRIVATE_SUBSECTION { + pub dwFlags: DWORD, + pub GPLogId: GP_LOG_PAGE_DESCRIPTOR, + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_PRIVATE_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_PRIVATE_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_PRIVATE_SUBSECTION>(), + 9usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_PRIVATE_SUBSECTION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPLogId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(GPLogId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_PRIVATE_SUBSECTION = _DEVICEDUMP_PRIVATE_SUBSECTION; +pub type PDEVICEDUMP_PRIVATE_SUBSECTION = *mut _DEVICEDUMP_PRIVATE_SUBSECTION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGEDEVICE_DATA { + pub Descriptor: DEVICEDUMP_STRUCTURE_VERSION, + pub SectionHeader: DEVICEDUMP_SECTION_HEADER, + pub dwBufferSize: DWORD, + pub dwReasonForCollection: DWORD, + pub PublicData: DEVICEDUMP_SUBSECTION_POINTER, + pub RestrictedData: DEVICEDUMP_SUBSECTION_POINTER, + pub PrivateData: DEVICEDUMP_SUBSECTION_POINTER, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGEDEVICE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGEDEVICE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGEDEVICE_DATA>(), + 300usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGEDEVICE_DATA>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(Descriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionHeader) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(SectionHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSize) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(dwBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReasonForCollection) as usize - ptr as usize }, + 260usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(dwReasonForCollection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(PublicData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedData) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(RestrictedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateData) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(PrivateData) + ) + ); +} +pub type DEVICEDUMP_STORAGEDEVICE_DATA = _DEVICEDUMP_STORAGEDEVICE_DATA; +pub type PDEVICEDUMP_STORAGEDEVICE_DATA = *mut _DEVICEDUMP_STORAGEDEVICE_DATA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD { + pub Cdb: [BYTE; 16usize], + pub Command: [BYTE; 16usize], + pub StartTime: DWORDLONG, + pub EndTime: DWORDLONG, + pub OperationStatus: DWORD, + pub OperationError: DWORD, + pub StackSpecific: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1 { + pub ExternalStack: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + pub AtaPort: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + pub StorPort: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1 { + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2 { + pub dwAtaPortSpecific: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAtaPortSpecific) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwAtaPortSpecific) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3 { + pub SrbTag: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrbTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(SrbTag) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExternalStack) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(ExternalStack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AtaPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(AtaPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(StorPort) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>(), + 60usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cdb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(Cdb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Command) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(Command) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(OperationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationError) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(OperationError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackSpecific) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(StackSpecific) + ) + ); +} +pub type DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD = _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; +pub type PDEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD = + *mut _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP { + pub Descriptor: DEVICEDUMP_STRUCTURE_VERSION, + pub dwReasonForCollection: DWORD, + pub cDriverName: [BYTE; 16usize], + pub uiNumRecords: DWORD, + pub RecordArray: [DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>(), + 96usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(Descriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReasonForCollection) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(dwReasonForCollection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDriverName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(cDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiNumRecords) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(uiNumRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordArray) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(RecordArray) + ) + ); +} +pub type DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP = _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP; +pub type PDEVICEDUMP_STORAGESTACK_PUBLIC_DUMP = *mut _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDLE_POWER { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub D3IdleTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_IDLE_POWER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDLE_POWER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDLE_POWER>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_IDLE_POWER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDLE_POWER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDLE_POWER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3IdleTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(D3IdleTimeout) + ) + ); +} +impl _STORAGE_IDLE_POWER { + #[inline] + pub fn WakeCapableHint(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_WakeCapableHint(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn D3ColdSupported(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_D3ColdSupported(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + WakeCapableHint: DWORD, + D3ColdSupported: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let WakeCapableHint: u32 = unsafe { ::std::mem::transmute(WakeCapableHint) }; + WakeCapableHint as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let D3ColdSupported: u32 = unsafe { ::std::mem::transmute(D3ColdSupported) }; + D3ColdSupported as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_IDLE_POWER = _STORAGE_IDLE_POWER; +pub type PSTORAGE_IDLE_POWER = *mut _STORAGE_IDLE_POWER; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupUnknown: _STORAGE_POWERUP_REASON_TYPE = 0; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupIO: _STORAGE_POWERUP_REASON_TYPE = 1; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupDeviceAttention: _STORAGE_POWERUP_REASON_TYPE = + 2; +pub type _STORAGE_POWERUP_REASON_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_POWERUP_REASON_TYPE as STORAGE_POWERUP_REASON_TYPE; +pub type PSTORAGE_POWERUP_REASON_TYPE = *mut _STORAGE_POWERUP_REASON_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDLE_POWERUP_REASON { + pub Version: DWORD, + pub Size: DWORD, + pub PowerupReason: STORAGE_POWERUP_REASON_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_IDLE_POWERUP_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDLE_POWERUP_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDLE_POWERUP_REASON>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_IDLE_POWERUP_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDLE_POWERUP_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDLE_POWERUP_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerupReason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(PowerupReason) + ) + ); +} +pub type STORAGE_IDLE_POWERUP_REASON = _STORAGE_IDLE_POWERUP_REASON; +pub type PSTORAGE_IDLE_POWERUP_REASON = *mut _STORAGE_IDLE_POWERUP_REASON; +pub const _STORAGE_DEVICE_POWER_CAP_UNITS_StorageDevicePowerCapUnitsPercent: + _STORAGE_DEVICE_POWER_CAP_UNITS = 0; +pub const _STORAGE_DEVICE_POWER_CAP_UNITS_StorageDevicePowerCapUnitsMilliwatts: + _STORAGE_DEVICE_POWER_CAP_UNITS = 1; +pub type _STORAGE_DEVICE_POWER_CAP_UNITS = ::std::os::raw::c_int; +pub use self::_STORAGE_DEVICE_POWER_CAP_UNITS as STORAGE_DEVICE_POWER_CAP_UNITS; +pub type PSTORAGE_DEVICE_POWER_CAP_UNITS = *mut _STORAGE_DEVICE_POWER_CAP_UNITS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_POWER_CAP { + pub Version: DWORD, + pub Size: DWORD, + pub Units: STORAGE_DEVICE_POWER_CAP_UNITS, + pub MaxPower: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_POWER_CAP() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_POWER_CAP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_POWER_CAP>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_POWER_CAP)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_POWER_CAP>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_POWER_CAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Units) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Units) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPower) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(MaxPower) + ) + ); +} +pub type STORAGE_DEVICE_POWER_CAP = _STORAGE_DEVICE_POWER_CAP; +pub type PSTORAGE_DEVICE_POWER_CAP = *mut _STORAGE_DEVICE_POWER_CAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_RPMB_DATA_FRAME { + pub Stuff: [BYTE; 196usize], + pub KeyOrMAC: [BYTE; 32usize], + pub Data: [BYTE; 256usize], + pub Nonce: [BYTE; 16usize], + pub WriteCounter: [BYTE; 4usize], + pub Address: [BYTE; 2usize], + pub BlockCount: [BYTE; 2usize], + pub OperationResult: [BYTE; 2usize], + pub RequestOrResponseType: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__STORAGE_RPMB_DATA_FRAME() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_RPMB_DATA_FRAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_RPMB_DATA_FRAME>(), + 512usize, + concat!("Size of: ", stringify!(_STORAGE_RPMB_DATA_FRAME)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_RPMB_DATA_FRAME>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_RPMB_DATA_FRAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stuff) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Stuff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyOrMAC) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(KeyOrMAC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 228usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 484usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCounter) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(WriteCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Address) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Address) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockCount) as usize - ptr as usize }, + 506usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(BlockCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationResult) as usize - ptr as usize }, + 508usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(OperationResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestOrResponseType) as usize - ptr as usize }, + 510usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(RequestOrResponseType) + ) + ); +} +pub type STORAGE_RPMB_DATA_FRAME = _STORAGE_RPMB_DATA_FRAME; +pub type PSTORAGE_RPMB_DATA_FRAME = *mut _STORAGE_RPMB_DATA_FRAME; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbProgramAuthKey: _STORAGE_RPMB_COMMAND_TYPE = 1; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbQueryWriteCounter: _STORAGE_RPMB_COMMAND_TYPE = 2; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedWrite: _STORAGE_RPMB_COMMAND_TYPE = 3; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedRead: _STORAGE_RPMB_COMMAND_TYPE = 4; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbReadResultRequest: _STORAGE_RPMB_COMMAND_TYPE = 5; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedDeviceConfigWrite: + _STORAGE_RPMB_COMMAND_TYPE = 6; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedDeviceConfigRead: + _STORAGE_RPMB_COMMAND_TYPE = 7; +pub type _STORAGE_RPMB_COMMAND_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_RPMB_COMMAND_TYPE as STORAGE_RPMB_COMMAND_TYPE; +pub type PSTORAGE_RPMB_COMMAND_TYPE = *mut _STORAGE_RPMB_COMMAND_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_EVENT_NOTIFICATION { + pub Version: DWORD, + pub Size: DWORD, + pub Events: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_EVENT_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_EVENT_NOTIFICATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_EVENT_NOTIFICATION>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_EVENT_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_EVENT_NOTIFICATION>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_EVENT_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Events) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Events) + ) + ); +} +pub type STORAGE_EVENT_NOTIFICATION = _STORAGE_EVENT_NOTIFICATION; +pub type PSTORAGE_EVENT_NOTIFICATION = *mut _STORAGE_EVENT_NOTIFICATION; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeUnknown: _STORAGE_COUNTER_TYPE = 0; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeTemperatureCelsius: _STORAGE_COUNTER_TYPE = 1; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeTemperatureCelsiusMax: _STORAGE_COUNTER_TYPE = 2; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsTotal: _STORAGE_COUNTER_TYPE = 3; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsCorrected: _STORAGE_COUNTER_TYPE = 4; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsUncorrected: _STORAGE_COUNTER_TYPE = 5; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsTotal: _STORAGE_COUNTER_TYPE = 6; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsCorrected: _STORAGE_COUNTER_TYPE = 7; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsUncorrected: _STORAGE_COUNTER_TYPE = 8; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeManufactureDate: _STORAGE_COUNTER_TYPE = 9; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeStartStopCycleCount: _STORAGE_COUNTER_TYPE = 10; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeStartStopCycleCountMax: _STORAGE_COUNTER_TYPE = + 11; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeLoadUnloadCycleCount: _STORAGE_COUNTER_TYPE = 12; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeLoadUnloadCycleCountMax: _STORAGE_COUNTER_TYPE = + 13; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentage: _STORAGE_COUNTER_TYPE = 14; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentageWarning: _STORAGE_COUNTER_TYPE = 15; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentageMax: _STORAGE_COUNTER_TYPE = 16; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypePowerOnHours: _STORAGE_COUNTER_TYPE = 17; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadLatency100NSMax: _STORAGE_COUNTER_TYPE = 18; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteLatency100NSMax: _STORAGE_COUNTER_TYPE = 19; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeFlushLatency100NSMax: _STORAGE_COUNTER_TYPE = 20; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeMax: _STORAGE_COUNTER_TYPE = 21; +pub type _STORAGE_COUNTER_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_COUNTER_TYPE as STORAGE_COUNTER_TYPE; +pub type PSTORAGE_COUNTER_TYPE = *mut _STORAGE_COUNTER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_COUNTER { + pub Type: STORAGE_COUNTER_TYPE, + pub Value: _STORAGE_COUNTER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_COUNTER__bindgen_ty_1 { + pub ManufactureDate: _STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1, + pub AsUlonglong: DWORDLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1 { + pub Week: DWORD, + pub Year: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Week) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Week) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Year) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Year) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufactureDate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1), + "::", + stringify!(ManufactureDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlonglong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1), + "::", + stringify!(AsUlonglong) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER), + "::", + stringify!(Value) + ) + ); +} +pub type STORAGE_COUNTER = _STORAGE_COUNTER; +pub type PSTORAGE_COUNTER = *mut _STORAGE_COUNTER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_COUNTERS { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfCounters: DWORD, + pub Counters: [STORAGE_COUNTER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTERS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTERS>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfCounters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(NumberOfCounters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Counters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Counters) + ) + ); +} +pub type STORAGE_COUNTERS = _STORAGE_COUNTERS; +pub type PSTORAGE_COUNTERS = *mut _STORAGE_COUNTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_INFO_QUERY { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_INFO_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_INFO_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_INFO_QUERY>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_INFO_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_INFO_QUERY = _STORAGE_HW_FIRMWARE_INFO_QUERY; +pub type PSTORAGE_HW_FIRMWARE_INFO_QUERY = *mut _STORAGE_HW_FIRMWARE_INFO_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_SLOT_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SlotNumber: BYTE, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 6usize], + pub Revision: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_SLOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_SLOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_SLOT_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_SLOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Revision) + ) + ); +} +impl _STORAGE_HW_FIRMWARE_SLOT_INFO { + #[inline] + pub fn ReadOnly(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ReadOnly(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(ReadOnly: BYTE, Reserved0: BYTE) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ReadOnly: u8 = unsafe { ::std::mem::transmute(ReadOnly) }; + ReadOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_HW_FIRMWARE_SLOT_INFO = _STORAGE_HW_FIRMWARE_SLOT_INFO; +pub type PSTORAGE_HW_FIRMWARE_SLOT_INFO = *mut _STORAGE_HW_FIRMWARE_SLOT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub SlotCount: BYTE, + pub ActiveSlot: BYTE, + pub PendingActivateSlot: BYTE, + pub FirmwareShared: BOOLEAN, + pub Reserved: [BYTE; 3usize], + pub ImagePayloadAlignment: DWORD, + pub ImagePayloadMaxSize: DWORD, + pub Slot: [STORAGE_HW_FIRMWARE_SLOT_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotCount) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(SlotCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveSlot) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendingActivateSlot) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(PendingActivateSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareShared) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(FirmwareShared) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImagePayloadAlignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ImagePayloadAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImagePayloadMaxSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ImagePayloadMaxSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Slot) + ) + ); +} +impl _STORAGE_HW_FIRMWARE_INFO { + #[inline] + pub fn SupportUpgrade(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_SupportUpgrade(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SupportUpgrade: BYTE, + Reserved0: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let SupportUpgrade: u8 = unsafe { ::std::mem::transmute(SupportUpgrade) }; + SupportUpgrade as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_HW_FIRMWARE_INFO = _STORAGE_HW_FIRMWARE_INFO; +pub type PSTORAGE_HW_FIRMWARE_INFO = *mut _STORAGE_HW_FIRMWARE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_DOWNLOAD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORDLONG, + pub BufferSize: DWORDLONG, + pub ImageBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_DOWNLOAD() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_DOWNLOAD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(ImageBuffer) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_DOWNLOAD = _STORAGE_HW_FIRMWARE_DOWNLOAD; +pub type PSTORAGE_HW_FIRMWARE_DOWNLOAD = *mut _STORAGE_HW_FIRMWARE_DOWNLOAD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_DOWNLOAD_V2 { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORDLONG, + pub BufferSize: DWORDLONG, + pub ImageSize: DWORD, + pub Reserved2: DWORD, + pub ImageBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_DOWNLOAD_V2() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(ImageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(ImageBuffer) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_DOWNLOAD_V2 = _STORAGE_HW_FIRMWARE_DOWNLOAD_V2; +pub type PSTORAGE_HW_FIRMWARE_DOWNLOAD_V2 = *mut _STORAGE_HW_FIRMWARE_DOWNLOAD_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_ACTIVATE { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved0: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_ACTIVATE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_ACTIVATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_ACTIVATE>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_ACTIVATE>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Reserved0) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_ACTIVATE = _STORAGE_HW_FIRMWARE_ACTIVATE; +pub type PSTORAGE_HW_FIRMWARE_ACTIVATE = *mut _STORAGE_HW_FIRMWARE_ACTIVATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_COMMAND { + pub Version: DWORD, + pub Length: DWORD, + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub Flags: DWORD, + pub ReturnStatus: DWORD, + pub ErrorCode: DWORD, + pub CommandLength: DWORD, + pub ErrorInfoLength: DWORD, + pub DataToDeviceTransferLength: DWORD, + pub DataFromDeviceTransferLength: DWORD, + pub TimeOutValue: DWORD, + pub ErrorInfoOffset: DWORD, + pub DataToDeviceBufferOffset: DWORD, + pub DataFromDeviceBufferOffset: DWORD, + pub CommandSpecific: DWORD, + pub Reserved0: DWORD, + pub FixedProtocolReturnData: DWORD, + pub Reserved1: [DWORD; 3usize], + pub Command: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_COMMAND> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_COMMAND>(), + 84usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_COMMAND>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROTOCOL_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ReturnStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(CommandLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorInfoLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataToDeviceTransferLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataToDeviceTransferLength) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataFromDeviceTransferLength) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataFromDeviceTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeOutValue) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(TimeOutValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorInfoOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataToDeviceBufferOffset) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataToDeviceBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataFromDeviceBufferOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataFromDeviceBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandSpecific) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(CommandSpecific) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Command) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Command) + ) + ); +} +pub type STORAGE_PROTOCOL_COMMAND = _STORAGE_PROTOCOL_COMMAND; +pub type PSTORAGE_PROTOCOL_COMMAND = *mut _STORAGE_PROTOCOL_COMMAND; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_ClearAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 0; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_SetAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 1; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_ResetAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 2; +pub type _STORAGE_ATTRIBUTE_MGMT_ACTION = ::std::os::raw::c_int; +pub use self::_STORAGE_ATTRIBUTE_MGMT_ACTION as STORAGE_ATTRIBUTE_MGMT_ACTION; +pub type PSTORAGE_ATTRIBUTE_MGMT_ACTION = *mut _STORAGE_ATTRIBUTE_MGMT_ACTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ATTRIBUTE_MGMT { + pub Version: DWORD, + pub Size: DWORD, + pub Action: STORAGE_ATTRIBUTE_MGMT_ACTION, + pub Attribute: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ATTRIBUTE_MGMT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ATTRIBUTE_MGMT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ATTRIBUTE_MGMT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ATTRIBUTE_MGMT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ATTRIBUTE_MGMT>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ATTRIBUTE_MGMT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Attribute) + ) + ); +} +pub type STORAGE_ATTRIBUTE_MGMT = _STORAGE_ATTRIBUTE_MGMT; +pub type PSTORAGE_ATTRIBUTE_MGMT = *mut _STORAGE_ATTRIBUTE_MGMT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_HEALTH_NOTIFICATION_DATA { + pub DeviceGuid: GUID, +} +#[test] +fn bindgen_test_layout__SCM_PD_HEALTH_NOTIFICATION_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_HEALTH_NOTIFICATION_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_HEALTH_NOTIFICATION_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_HEALTH_NOTIFICATION_DATA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA), + "::", + stringify!(DeviceGuid) + ) + ); +} +pub type SCM_PD_HEALTH_NOTIFICATION_DATA = _SCM_PD_HEALTH_NOTIFICATION_DATA; +pub type PSCM_PD_HEALTH_NOTIFICATION_DATA = *mut _SCM_PD_HEALTH_NOTIFICATION_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LOGICAL_DEVICE_INSTANCE { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub SymbolicLink: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SCM_LOGICAL_DEVICE_INSTANCE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LOGICAL_DEVICE_INSTANCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LOGICAL_DEVICE_INSTANCE>(), + 536usize, + concat!("Size of: ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LOGICAL_DEVICE_INSTANCE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolicLink) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(SymbolicLink) + ) + ); +} +pub type SCM_LOGICAL_DEVICE_INSTANCE = _SCM_LOGICAL_DEVICE_INSTANCE; +pub type PSCM_LOGICAL_DEVICE_INSTANCE = *mut _SCM_LOGICAL_DEVICE_INSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LOGICAL_DEVICES { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceCount: DWORD, + pub Devices: [SCM_LOGICAL_DEVICE_INSTANCE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_LOGICAL_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LOGICAL_DEVICES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LOGICAL_DEVICES>(), + 548usize, + concat!("Size of: ", stringify!(_SCM_LOGICAL_DEVICES)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LOGICAL_DEVICES>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LOGICAL_DEVICES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Devices) + ) + ); +} +pub type SCM_LOGICAL_DEVICES = _SCM_LOGICAL_DEVICES; +pub type PSCM_LOGICAL_DEVICES = *mut _SCM_LOGICAL_DEVICES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PHYSICAL_DEVICE_INSTANCE { + pub Version: DWORD, + pub Size: DWORD, + pub NfitHandle: DWORD, + pub SymbolicLink: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SCM_PHYSICAL_DEVICE_INSTANCE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PHYSICAL_DEVICE_INSTANCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PHYSICAL_DEVICE_INSTANCE>(), + 524usize, + concat!("Size of: ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PHYSICAL_DEVICE_INSTANCE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NfitHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(NfitHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolicLink) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(SymbolicLink) + ) + ); +} +pub type SCM_PHYSICAL_DEVICE_INSTANCE = _SCM_PHYSICAL_DEVICE_INSTANCE; +pub type PSCM_PHYSICAL_DEVICE_INSTANCE = *mut _SCM_PHYSICAL_DEVICE_INSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PHYSICAL_DEVICES { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceCount: DWORD, + pub Devices: [SCM_PHYSICAL_DEVICE_INSTANCE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PHYSICAL_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PHYSICAL_DEVICES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PHYSICAL_DEVICES>(), + 536usize, + concat!("Size of: ", stringify!(_SCM_PHYSICAL_DEVICES)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PHYSICAL_DEVICES>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PHYSICAL_DEVICES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Devices) + ) + ); +} +pub type SCM_PHYSICAL_DEVICES = _SCM_PHYSICAL_DEVICES; +pub type PSCM_PHYSICAL_DEVICES = *mut _SCM_PHYSICAL_DEVICES; +pub const _SCM_REGION_FLAG_ScmRegionFlagNone: _SCM_REGION_FLAG = 0; +pub const _SCM_REGION_FLAG_ScmRegionFlagLabel: _SCM_REGION_FLAG = 1; +pub type _SCM_REGION_FLAG = ::std::os::raw::c_int; +pub use self::_SCM_REGION_FLAG as SCM_REGION_FLAG; +pub type PSCM_REGION_FLAG = *mut _SCM_REGION_FLAG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_REGION { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NfitHandle: DWORD, + pub LogicalDeviceGuid: GUID, + pub AddressRangeType: GUID, + pub AssociatedId: DWORD, + pub Length: DWORD64, + pub StartingDPA: DWORD64, + pub BaseSPA: DWORD64, + pub SPAOffset: DWORD64, + pub RegionOffset: DWORD64, +} +#[test] +fn bindgen_test_layout__SCM_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_REGION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_REGION>(), + 96usize, + concat!("Size of: ", stringify!(_SCM_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NfitHandle) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(NfitHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalDeviceGuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(LogicalDeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressRangeType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(AddressRangeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssociatedId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(AssociatedId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingDPA) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(StartingDPA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseSPA) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(BaseSPA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SPAOffset) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(SPAOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionOffset) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(RegionOffset) + ) + ); +} +pub type SCM_REGION = _SCM_REGION; +pub type PSCM_REGION = *mut _SCM_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_REGIONS { + pub Version: DWORD, + pub Size: DWORD, + pub RegionCount: DWORD, + pub Regions: [SCM_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_REGIONS() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_REGIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_REGIONS>(), + 112usize, + concat!("Size of: ", stringify!(_SCM_REGIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_REGIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_REGIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(RegionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Regions) + ) + ); +} +pub type SCM_REGIONS = _SCM_REGIONS; +pub type PSCM_REGIONS = *mut _SCM_REGIONS; +pub const _SCM_BUS_QUERY_TYPE_ScmBusQuery_Descriptor: _SCM_BUS_QUERY_TYPE = 0; +pub const _SCM_BUS_QUERY_TYPE_ScmBusQuery_IsSupported: _SCM_BUS_QUERY_TYPE = 1; +pub const _SCM_BUS_QUERY_TYPE_ScmBusQuery_Max: _SCM_BUS_QUERY_TYPE = 2; +pub type _SCM_BUS_QUERY_TYPE = ::std::os::raw::c_int; +pub use self::_SCM_BUS_QUERY_TYPE as SCM_BUS_QUERY_TYPE; +pub type PSCM_BUS_QUERY_TYPE = *mut _SCM_BUS_QUERY_TYPE; +pub const _SCM_BUS_SET_TYPE_ScmBusSet_Descriptor: _SCM_BUS_SET_TYPE = 0; +pub const _SCM_BUS_SET_TYPE_ScmBusSet_IsSupported: _SCM_BUS_SET_TYPE = 1; +pub const _SCM_BUS_SET_TYPE_ScmBusSet_Max: _SCM_BUS_SET_TYPE = 2; +pub type _SCM_BUS_SET_TYPE = ::std::os::raw::c_int; +pub use self::_SCM_BUS_SET_TYPE as SCM_BUS_SET_TYPE; +pub type PSCM_BUS_SET_TYPE = *mut _SCM_BUS_SET_TYPE; +pub const _SCM_BUS_PROPERTY_ID_ScmBusProperty_RuntimeFwActivationInfo: _SCM_BUS_PROPERTY_ID = 0; +pub const _SCM_BUS_PROPERTY_ID_ScmBusProperty_DedicatedMemoryInfo: _SCM_BUS_PROPERTY_ID = 1; +pub const _SCM_BUS_PROPERTY_ID_ScmBusProperty_DedicatedMemoryState: _SCM_BUS_PROPERTY_ID = 2; +pub const _SCM_BUS_PROPERTY_ID_ScmBusProperty_Max: _SCM_BUS_PROPERTY_ID = 3; +pub type _SCM_BUS_PROPERTY_ID = ::std::os::raw::c_int; +pub use self::_SCM_BUS_PROPERTY_ID as SCM_BUS_PROPERTY_ID; +pub type PSCM_BUS_PROPERTY_ID = *mut _SCM_BUS_PROPERTY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_PROPERTY_QUERY { + pub Version: DWORD, + pub Size: DWORD, + pub PropertyId: SCM_BUS_PROPERTY_ID, + pub QueryType: SCM_BUS_QUERY_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_BUS_PROPERTY_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_PROPERTY_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_PROPERTY_QUERY>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_BUS_PROPERTY_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_PROPERTY_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_BUS_PROPERTY_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_QUERY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_QUERY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_QUERY), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_QUERY), + "::", + stringify!(QueryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_QUERY), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type SCM_BUS_PROPERTY_QUERY = _SCM_BUS_PROPERTY_QUERY; +pub type PSCM_BUS_PROPERTY_QUERY = *mut _SCM_BUS_PROPERTY_QUERY; +pub const _SCM_BUS_FIRMWARE_ACTIVATION_STATE_ScmBusFirmwareActivationState_Idle: + _SCM_BUS_FIRMWARE_ACTIVATION_STATE = 0; +pub const _SCM_BUS_FIRMWARE_ACTIVATION_STATE_ScmBusFirmwareActivationState_Armed: + _SCM_BUS_FIRMWARE_ACTIVATION_STATE = 1; +pub const _SCM_BUS_FIRMWARE_ACTIVATION_STATE_ScmBusFirmwareActivationState_Busy: + _SCM_BUS_FIRMWARE_ACTIVATION_STATE = 2; +pub type _SCM_BUS_FIRMWARE_ACTIVATION_STATE = ::std::os::raw::c_int; +pub use self::_SCM_BUS_FIRMWARE_ACTIVATION_STATE as SCM_BUS_FIRMWARE_ACTIVATION_STATE; +pub type PSCM_BUS_FIRMWARE_ACTIVATION_STATE = *mut _SCM_BUS_FIRMWARE_ACTIVATION_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub RuntimeFwActivationSupported: BOOLEAN, + pub FirmwareActivationState: SCM_BUS_FIRMWARE_ACTIVATION_STATE, + pub FirmwareActivationCapability: _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1, + pub EstimatedFirmwareActivationTimeInUSecs: DWORDLONG, + pub EstimatedProcessorAccessQuiesceTimeInUSecs: DWORDLONG, + pub EstimatedIOAccessQuiesceTimeInUSecs: DWORDLONG, + pub PlatformSupportedMaxIOAccessQuiesceTimeInUSecs: DWORDLONG, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1) + ) + ); +} +impl _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO__bindgen_ty_1 { + #[inline] + pub fn FwManagedIoQuiesceFwActivationSupported(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_FwManagedIoQuiesceFwActivationSupported(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn OsManagedIoQuiesceFwActivationSupported(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_OsManagedIoQuiesceFwActivationSupported(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn WarmResetBasedFwActivationSupported(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_WarmResetBasedFwActivationSupported(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + FwManagedIoQuiesceFwActivationSupported: DWORD, + OsManagedIoQuiesceFwActivationSupported: DWORD, + WarmResetBasedFwActivationSupported: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let FwManagedIoQuiesceFwActivationSupported: u32 = + unsafe { ::std::mem::transmute(FwManagedIoQuiesceFwActivationSupported) }; + FwManagedIoQuiesceFwActivationSupported as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let OsManagedIoQuiesceFwActivationSupported: u32 = + unsafe { ::std::mem::transmute(OsManagedIoQuiesceFwActivationSupported) }; + OsManagedIoQuiesceFwActivationSupported as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let WarmResetBasedFwActivationSupported: u32 = + unsafe { ::std::mem::transmute(WarmResetBasedFwActivationSupported) }; + WarmResetBasedFwActivationSupported as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SCM_BUS_RUNTIME_FW_ACTIVATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RuntimeFwActivationSupported) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(RuntimeFwActivationSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareActivationState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(FirmwareActivationState) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FirmwareActivationCapability) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(FirmwareActivationCapability) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EstimatedFirmwareActivationTimeInUSecs) as usize + - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(EstimatedFirmwareActivationTimeInUSecs) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EstimatedProcessorAccessQuiesceTimeInUSecs) as usize + - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(EstimatedProcessorAccessQuiesceTimeInUSecs) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EstimatedIOAccessQuiesceTimeInUSecs) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(EstimatedIOAccessQuiesceTimeInUSecs) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PlatformSupportedMaxIOAccessQuiesceTimeInUSecs) as usize + - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(PlatformSupportedMaxIOAccessQuiesceTimeInUSecs) + ) + ); +} +pub type SCM_BUS_RUNTIME_FW_ACTIVATION_INFO = _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO; +pub type PSCM_BUS_RUNTIME_FW_ACTIVATION_INFO = *mut _SCM_BUS_RUNTIME_FW_ACTIVATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO { + pub DeviceGuid: GUID, + pub DeviceNumber: DWORD, + pub Flags: _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1, + pub DeviceSize: DWORDLONG, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1) + ) + ); +} +impl _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO__bindgen_ty_1 { + #[inline] + pub fn ForcedByRegistry(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_ForcedByRegistry(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Initialized(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_Initialized(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ForcedByRegistry: DWORD, + Initialized: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ForcedByRegistry: u32 = unsafe { ::std::mem::transmute(ForcedByRegistry) }; + ForcedByRegistry as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Initialized: u32 = unsafe { ::std::mem::transmute(Initialized) }; + Initialized as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO>(), + 32usize, + concat!( + "Size of: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO), + "::", + stringify!(DeviceSize) + ) + ); +} +pub type SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO = _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO; +pub type PSCM_BUS_DEDICATED_MEMORY_DEVICE_INFO = *mut _SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceCount: DWORD, + pub Devices: [SCM_BUS_DEDICATED_MEMORY_DEVICE_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO>(), + 48usize, + concat!( + "Size of: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO), + "::", + stringify!(Devices) + ) + ); +} +pub type SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO = _SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO; +pub type PSCM_BUS_DEDICATED_MEMORY_DEVICES_INFO = *mut _SCM_BUS_DEDICATED_MEMORY_DEVICES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_PROPERTY_SET { + pub Version: DWORD, + pub Size: DWORD, + pub PropertyId: SCM_BUS_PROPERTY_ID, + pub SetType: SCM_BUS_SET_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_BUS_PROPERTY_SET() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_PROPERTY_SET> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_PROPERTY_SET>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_BUS_PROPERTY_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_PROPERTY_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_BUS_PROPERTY_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_SET), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_SET), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_SET), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_SET), + "::", + stringify!(SetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_PROPERTY_SET), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type SCM_BUS_PROPERTY_SET = _SCM_BUS_PROPERTY_SET; +pub type PSCM_BUS_PROPERTY_SET = *mut _SCM_BUS_PROPERTY_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_BUS_DEDICATED_MEMORY_STATE { + pub ActivateState: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SCM_BUS_DEDICATED_MEMORY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_BUS_DEDICATED_MEMORY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_BUS_DEDICATED_MEMORY_STATE>(), + 1usize, + concat!("Size of: ", stringify!(_SCM_BUS_DEDICATED_MEMORY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_BUS_DEDICATED_MEMORY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_SCM_BUS_DEDICATED_MEMORY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActivateState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_BUS_DEDICATED_MEMORY_STATE), + "::", + stringify!(ActivateState) + ) + ); +} +pub type SCM_BUS_DEDICATED_MEMORY_STATE = _SCM_BUS_DEDICATED_MEMORY_STATE; +pub type PSCM_BUS_DEDICATED_MEMORY_STATE = *mut _SCM_BUS_DEDICATED_MEMORY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_INTERLEAVED_PD_INFO { + pub DeviceHandle: DWORD, + pub DeviceGuid: GUID, +} +#[test] +fn bindgen_test_layout__SCM_INTERLEAVED_PD_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_INTERLEAVED_PD_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_INTERLEAVED_PD_INFO>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_INTERLEAVED_PD_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_INTERLEAVED_PD_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_INTERLEAVED_PD_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_INTERLEAVED_PD_INFO), + "::", + stringify!(DeviceHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_INTERLEAVED_PD_INFO), + "::", + stringify!(DeviceGuid) + ) + ); +} +pub type SCM_INTERLEAVED_PD_INFO = _SCM_INTERLEAVED_PD_INFO; +pub type PSCM_INTERLEAVED_PD_INFO = *mut _SCM_INTERLEAVED_PD_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LD_INTERLEAVE_SET_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub InterleaveSetSize: DWORD, + pub InterleaveSet: [SCM_INTERLEAVED_PD_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_LD_INTERLEAVE_SET_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LD_INTERLEAVE_SET_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LD_INTERLEAVE_SET_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LD_INTERLEAVE_SET_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterleaveSetSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(InterleaveSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterleaveSet) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(InterleaveSet) + ) + ); +} +pub type SCM_LD_INTERLEAVE_SET_INFO = _SCM_LD_INTERLEAVE_SET_INFO; +pub type PSCM_LD_INTERLEAVE_SET_INFO = *mut _SCM_LD_INTERLEAVE_SET_INFO; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Descriptor: _SCM_PD_QUERY_TYPE = 0; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_IsSupported: _SCM_PD_QUERY_TYPE = 1; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Max: _SCM_PD_QUERY_TYPE = 2; +pub type _SCM_PD_QUERY_TYPE = ::std::os::raw::c_int; +pub use self::_SCM_PD_QUERY_TYPE as SCM_PD_QUERY_TYPE; +pub type PSCM_PD_QUERY_TYPE = *mut _SCM_PD_QUERY_TYPE; +pub const _SCM_PD_SET_TYPE_ScmPhysicalDeviceSet_Descriptor: _SCM_PD_SET_TYPE = 0; +pub const _SCM_PD_SET_TYPE_ScmPhysicalDeviceSet_IsSupported: _SCM_PD_SET_TYPE = 1; +pub const _SCM_PD_SET_TYPE_ScmPhysicalDeviceSet_Max: _SCM_PD_SET_TYPE = 2; +pub type _SCM_PD_SET_TYPE = ::std::os::raw::c_int; +pub use self::_SCM_PD_SET_TYPE as SCM_PD_SET_TYPE; +pub type PSCM_PD_SET_TYPE = *mut _SCM_PD_SET_TYPE; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceInfo: _SCM_PD_PROPERTY_ID = 0; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_ManagementStatus: _SCM_PD_PROPERTY_ID = 1; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_FirmwareInfo: _SCM_PD_PROPERTY_ID = 2; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_LocationString: _SCM_PD_PROPERTY_ID = 3; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceSpecificInfo: _SCM_PD_PROPERTY_ID = 4; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceHandle: _SCM_PD_PROPERTY_ID = 5; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_FruIdString: _SCM_PD_PROPERTY_ID = 6; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_RuntimeFwActivationInfo: + _SCM_PD_PROPERTY_ID = 7; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_RuntimeFwActivationArmState: + _SCM_PD_PROPERTY_ID = 8; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_Max: _SCM_PD_PROPERTY_ID = 9; +pub type _SCM_PD_PROPERTY_ID = ::std::os::raw::c_int; +pub use self::_SCM_PD_PROPERTY_ID as SCM_PD_PROPERTY_ID; +pub type PSCM_PD_PROPERTY_ID = *mut _SCM_PD_PROPERTY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PROPERTY_QUERY { + pub Version: DWORD, + pub Size: DWORD, + pub PropertyId: SCM_PD_PROPERTY_ID, + pub QueryType: SCM_PD_QUERY_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PROPERTY_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PROPERTY_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PROPERTY_QUERY>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_PD_PROPERTY_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PROPERTY_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PROPERTY_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(QueryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type SCM_PD_PROPERTY_QUERY = _SCM_PD_PROPERTY_QUERY; +pub type PSCM_PD_PROPERTY_QUERY = *mut _SCM_PD_PROPERTY_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PROPERTY_SET { + pub Version: DWORD, + pub Size: DWORD, + pub PropertyId: SCM_PD_PROPERTY_ID, + pub SetType: SCM_PD_SET_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PROPERTY_SET() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PROPERTY_SET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PROPERTY_SET>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_PD_PROPERTY_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PROPERTY_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PROPERTY_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_SET), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_SET), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_SET), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_SET), + "::", + stringify!(SetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_SET), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type SCM_PD_PROPERTY_SET = _SCM_PD_PROPERTY_SET; +pub type PSCM_PD_PROPERTY_SET = *mut _SCM_PD_PROPERTY_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE { + pub ArmState: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE>(), + 1usize, + concat!( + "Size of: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArmState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE), + "::", + stringify!(ArmState) + ) + ); +} +pub type SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE = _SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE; +pub type PSCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE = *mut _SCM_PD_RUNTIME_FW_ACTIVATION_ARM_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DESCRIPTOR_HEADER { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__SCM_PD_DESCRIPTOR_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DESCRIPTOR_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DESCRIPTOR_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_SCM_PD_DESCRIPTOR_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DESCRIPTOR_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_DESCRIPTOR_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DESCRIPTOR_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DESCRIPTOR_HEADER), + "::", + stringify!(Size) + ) + ); +} +pub type SCM_PD_DESCRIPTOR_HEADER = _SCM_PD_DESCRIPTOR_HEADER; +pub type PSCM_PD_DESCRIPTOR_HEADER = *mut _SCM_PD_DESCRIPTOR_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_HANDLE { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub DeviceHandle: DWORD, +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_HANDLE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_HANDLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_HANDLE>(), + 28usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_HANDLE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_HANDLE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_HANDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(DeviceHandle) + ) + ); +} +pub type SCM_PD_DEVICE_HANDLE = _SCM_PD_DEVICE_HANDLE; +pub type PSCM_PD_DEVICE_HANDLE = *mut _SCM_PD_DEVICE_HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub UnsafeShutdownCount: DWORD, + pub PersistentMemorySizeInBytes: DWORD64, + pub VolatileMemorySizeInBytes: DWORD64, + pub TotalMemorySizeInBytes: DWORD64, + pub SlotNumber: DWORD, + pub DeviceHandle: DWORD, + pub PhysicalId: WORD, + pub NumberOfFormatInterfaceCodes: BYTE, + pub FormatInterfaceCodes: [WORD; 8usize], + pub VendorId: DWORD, + pub ProductId: DWORD, + pub SubsystemDeviceId: DWORD, + pub SubsystemVendorId: DWORD, + pub ManufacturingLocation: BYTE, + pub ManufacturingWeek: BYTE, + pub ManufacturingYear: BYTE, + pub SerialNumber4Byte: DWORD, + pub SerialNumberLengthInChars: DWORD, + pub SerialNumber: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_INFO>(), + 120usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnsafeShutdownCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(UnsafeShutdownCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PersistentMemorySizeInBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(PersistentMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMemorySizeInBytes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(VolatileMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalMemorySizeInBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(TotalMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(DeviceHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(PhysicalId) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NumberOfFormatInterfaceCodes) as usize - ptr as usize + }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(NumberOfFormatInterfaceCodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatInterfaceCodes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(FormatInterfaceCodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductId) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubsystemDeviceId) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SubsystemDeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubsystemVendorId) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SubsystemVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingLocation) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingWeek) as usize - ptr as usize }, + 101usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingWeek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingYear) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingYear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber4Byte) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumber4Byte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberLengthInChars) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumberLengthInChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type SCM_PD_DEVICE_INFO = _SCM_PD_DEVICE_INFO; +pub type PSCM_PD_DEVICE_INFO = *mut _SCM_PD_DEVICE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_SPECIFIC_PROPERTY { + pub Name: [WCHAR; 128usize], + pub Value: LONGLONG, +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_SPECIFIC_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_SPECIFIC_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>(), + 264usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY), + "::", + stringify!(Value) + ) + ); +} +pub type SCM_PD_DEVICE_SPECIFIC_PROPERTY = _SCM_PD_DEVICE_SPECIFIC_PROPERTY; +pub type PSCM_PD_DEVICE_SPECIFIC_PROPERTY = *mut _SCM_PD_DEVICE_SPECIFIC_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_SPECIFIC_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfProperties: DWORD, + pub DeviceSpecificProperties: [SCM_PD_DEVICE_SPECIFIC_PROPERTY; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_SPECIFIC_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_SPECIFIC_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_SPECIFIC_INFO>(), + 280usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_SPECIFIC_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProperties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(NumberOfProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceSpecificProperties) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(DeviceSpecificProperties) + ) + ); +} +pub type SCM_PD_DEVICE_SPECIFIC_INFO = _SCM_PD_DEVICE_SPECIFIC_INFO; +pub type PSCM_PD_DEVICE_SPECIFIC_INFO = *mut _SCM_PD_DEVICE_SPECIFIC_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_SLOT_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SlotNumber: BYTE, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 6usize], + pub Revision: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_SLOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_SLOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_SLOT_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_SLOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Revision) + ) + ); +} +impl _SCM_PD_FIRMWARE_SLOT_INFO { + #[inline] + pub fn ReadOnly(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ReadOnly(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(ReadOnly: BYTE, Reserved0: BYTE) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ReadOnly: u8 = unsafe { ::std::mem::transmute(ReadOnly) }; + ReadOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type SCM_PD_FIRMWARE_SLOT_INFO = _SCM_PD_FIRMWARE_SLOT_INFO; +pub type PSCM_PD_FIRMWARE_SLOT_INFO = *mut _SCM_PD_FIRMWARE_SLOT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub ActiveSlot: BYTE, + pub NextActiveSlot: BYTE, + pub SlotCount: BYTE, + pub Slots: [SCM_PD_FIRMWARE_SLOT_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_INFO>(), + 60usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveSlot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(ActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextActiveSlot) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(NextActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotCount) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(SlotCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slots) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Slots) + ) + ); +} +pub type SCM_PD_FIRMWARE_INFO = _SCM_PD_FIRMWARE_INFO; +pub type PSCM_PD_FIRMWARE_INFO = *mut _SCM_PD_FIRMWARE_INFO; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unknown: _SCM_PD_HEALTH_STATUS = 0; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unhealthy: _SCM_PD_HEALTH_STATUS = 1; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Warning: _SCM_PD_HEALTH_STATUS = 2; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Healthy: _SCM_PD_HEALTH_STATUS = 3; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Max: _SCM_PD_HEALTH_STATUS = 4; +pub type _SCM_PD_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_HEALTH_STATUS as SCM_PD_HEALTH_STATUS; +pub type PSCM_PD_HEALTH_STATUS = *mut _SCM_PD_HEALTH_STATUS; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Unknown: _SCM_PD_OPERATIONAL_STATUS = + 0; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Ok: _SCM_PD_OPERATIONAL_STATUS = 1; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_PredictingFailure: + _SCM_PD_OPERATIONAL_STATUS = 2; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_InService: + _SCM_PD_OPERATIONAL_STATUS = 3; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_HardwareError: + _SCM_PD_OPERATIONAL_STATUS = 4; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_NotUsable: + _SCM_PD_OPERATIONAL_STATUS = 5; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_TransientError: + _SCM_PD_OPERATIONAL_STATUS = 6; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Missing: _SCM_PD_OPERATIONAL_STATUS = + 7; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Max: _SCM_PD_OPERATIONAL_STATUS = 8; +pub type _SCM_PD_OPERATIONAL_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_OPERATIONAL_STATUS as SCM_PD_OPERATIONAL_STATUS; +pub type PSCM_PD_OPERATIONAL_STATUS = *mut _SCM_PD_OPERATIONAL_STATUS; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Unknown: + _SCM_PD_OPERATIONAL_STATUS_REASON = 0; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Media: + _SCM_PD_OPERATIONAL_STATUS_REASON = 1; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ThresholdExceeded: + _SCM_PD_OPERATIONAL_STATUS_REASON = 2; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostData: + _SCM_PD_OPERATIONAL_STATUS_REASON = 3; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_EnergySource: + _SCM_PD_OPERATIONAL_STATUS_REASON = 4; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Configuration: + _SCM_PD_OPERATIONAL_STATUS_REASON = 5; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DeviceController: + _SCM_PD_OPERATIONAL_STATUS_REASON = 6; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaController: + _SCM_PD_OPERATIONAL_STATUS_REASON = 7; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Component: + _SCM_PD_OPERATIONAL_STATUS_REASON = 8; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_BackgroundOperation: + _SCM_PD_OPERATIONAL_STATUS_REASON = 9; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_InvalidFirmware: + _SCM_PD_OPERATIONAL_STATUS_REASON = 10; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_HealthCheck: + _SCM_PD_OPERATIONAL_STATUS_REASON = 11; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostDataPersistence: + _SCM_PD_OPERATIONAL_STATUS_REASON = 12; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DisabledByPlatform: + _SCM_PD_OPERATIONAL_STATUS_REASON = 13; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PermanentError: + _SCM_PD_OPERATIONAL_STATUS_REASON = 14; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostWritePersistence: + _SCM_PD_OPERATIONAL_STATUS_REASON = 15; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_FatalError: + _SCM_PD_OPERATIONAL_STATUS_REASON = 16; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DataPersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 17 ; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_WritePersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 18 ; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock: + _SCM_PD_OPERATIONAL_STATUS_REASON = 19; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PerformanceDegradation: + _SCM_PD_OPERATIONAL_STATUS_REASON = 20; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ExcessiveTemperature: + _SCM_PD_OPERATIONAL_STATUS_REASON = 21; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_InternalFailure: + _SCM_PD_OPERATIONAL_STATUS_REASON = 22; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Max: + _SCM_PD_OPERATIONAL_STATUS_REASON = 23; +pub type _SCM_PD_OPERATIONAL_STATUS_REASON = ::std::os::raw::c_int; +pub use self::_SCM_PD_OPERATIONAL_STATUS_REASON as SCM_PD_OPERATIONAL_STATUS_REASON; +pub type PSCM_PD_OPERATIONAL_STATUS_REASON = *mut _SCM_PD_OPERATIONAL_STATUS_REASON; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_MANAGEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub Health: SCM_PD_HEALTH_STATUS, + pub NumberOfOperationalStatus: DWORD, + pub NumberOfAdditionalReasons: DWORD, + pub OperationalStatus: [SCM_PD_OPERATIONAL_STATUS; 16usize], + pub AdditionalReasons: [SCM_PD_OPERATIONAL_STATUS_REASON; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_MANAGEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_MANAGEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_MANAGEMENT_STATUS>(), + 88usize, + concat!("Size of: ", stringify!(_SCM_PD_MANAGEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_MANAGEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_MANAGEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Health) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Health) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfOperationalStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfOperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAdditionalReasons) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfAdditionalReasons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationalStatus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(OperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalReasons) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(AdditionalReasons) + ) + ); +} +pub type SCM_PD_MANAGEMENT_STATUS = _SCM_PD_MANAGEMENT_STATUS; +pub type PSCM_PD_MANAGEMENT_STATUS = *mut _SCM_PD_MANAGEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_LOCATION_STRING { + pub Version: DWORD, + pub Size: DWORD, + pub Location: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_LOCATION_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_LOCATION_STRING> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_LOCATION_STRING>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_LOCATION_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_LOCATION_STRING>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_LOCATION_STRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Location) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Location) + ) + ); +} +pub type SCM_PD_LOCATION_STRING = _SCM_PD_LOCATION_STRING; +pub type PSCM_PD_LOCATION_STRING = *mut _SCM_PD_LOCATION_STRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FRU_ID_STRING { + pub Version: DWORD, + pub Size: DWORD, + pub IdentifierSize: DWORD, + pub Identifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FRU_ID_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FRU_ID_STRING> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FRU_ID_STRING>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_FRU_ID_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FRU_ID_STRING>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FRU_ID_STRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FRU_ID_STRING), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FRU_ID_STRING), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FRU_ID_STRING), + "::", + stringify!(IdentifierSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FRU_ID_STRING), + "::", + stringify!(Identifier) + ) + ); +} +pub type SCM_PD_FRU_ID_STRING = _SCM_PD_FRU_ID_STRING; +pub type PSCM_PD_FRU_ID_STRING = *mut _SCM_PD_FRU_ID_STRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_DOWNLOAD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORD64, + pub FirmwareImageSizeInBytes: DWORD, + pub FirmwareImage: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_DOWNLOAD() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_DOWNLOAD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_DOWNLOAD>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_DOWNLOAD>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareImageSizeInBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(FirmwareImageSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareImage) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(FirmwareImage) + ) + ); +} +pub type SCM_PD_FIRMWARE_DOWNLOAD = _SCM_PD_FIRMWARE_DOWNLOAD; +pub type PSCM_PD_FIRMWARE_DOWNLOAD = *mut _SCM_PD_FIRMWARE_DOWNLOAD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_ACTIVATE { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_ACTIVATE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_ACTIVATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_ACTIVATE>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_ACTIVATE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Slot) + ) + ); +} +pub type SCM_PD_FIRMWARE_ACTIVATE = _SCM_PD_FIRMWARE_ACTIVATE; +pub type PSCM_PD_FIRMWARE_ACTIVATE = *mut _SCM_PD_FIRMWARE_ACTIVATE; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivationStatus_None: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 0; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivationStatus_Success: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 1; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivationStatus_FwNotFound: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 2; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivationStatus_ColdRebootRequired: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 3; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivaitonStatus_ActivationInProgress: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 4; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivaitonStatus_Retry: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 5; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivaitonStatus_FwUnsupported: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 6; +pub const _SCM_PD_LAST_FW_ACTIVATION_STATUS_ScmPdLastFwActivaitonStatus_UnknownError: + _SCM_PD_LAST_FW_ACTIVATION_STATUS = 7; +pub type _SCM_PD_LAST_FW_ACTIVATION_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_LAST_FW_ACTIVATION_STATUS as SCM_PD_LAST_FW_ACTIVATION_STATUS; +pub type PSCM_PD_LAST_FW_ACTIVATION_STATUS = *mut _SCM_PD_LAST_FW_ACTIVATION_STATUS; +pub const _SCM_PD_FIRMWARE_ACTIVATION_STATE_ScmPdFirmwareActivationState_Idle: + _SCM_PD_FIRMWARE_ACTIVATION_STATE = 0; +pub const _SCM_PD_FIRMWARE_ACTIVATION_STATE_ScmPdFirmwareActivationState_Armed: + _SCM_PD_FIRMWARE_ACTIVATION_STATE = 1; +pub const _SCM_PD_FIRMWARE_ACTIVATION_STATE_ScmPdFirmwareActivationState_Busy: + _SCM_PD_FIRMWARE_ACTIVATION_STATE = 2; +pub type _SCM_PD_FIRMWARE_ACTIVATION_STATE = ::std::os::raw::c_int; +pub use self::_SCM_PD_FIRMWARE_ACTIVATION_STATE as SCM_PD_FIRMWARE_ACTIVATION_STATE; +pub type PSCM_PD_FIRMWARE_ACTIVATION_STATE = *mut _SCM_PD_FIRMWARE_ACTIVATION_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_RUNTIME_FW_ACTIVATION_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub LastFirmwareActivationStatus: SCM_PD_LAST_FW_ACTIVATION_STATUS, + pub FirmwareActivationState: SCM_PD_FIRMWARE_ACTIVATION_STATE, +} +#[test] +fn bindgen_test_layout__SCM_PD_RUNTIME_FW_ACTIVATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_RUNTIME_FW_ACTIVATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_RUNTIME_FW_ACTIVATION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_RUNTIME_FW_ACTIVATION_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).LastFirmwareActivationStatus) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(LastFirmwareActivationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareActivationState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_RUNTIME_FW_ACTIVATION_INFO), + "::", + stringify!(FirmwareActivationState) + ) + ); +} +pub type SCM_PD_RUNTIME_FW_ACTIVATION_INFO = _SCM_PD_RUNTIME_FW_ACTIVATION_INFO; +pub type PSCM_PD_RUNTIME_FW_ACTIVATION_INFO = *mut _SCM_PD_RUNTIME_FW_ACTIVATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolGuid: GUID, + pub DataSize: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PASSTHROUGH_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(ProtocolGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(DataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Data) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INPUT = _SCM_PD_PASSTHROUGH_INPUT; +pub type PSCM_PD_PASSTHROUGH_INPUT = *mut _SCM_PD_PASSTHROUGH_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolGuid: GUID, + pub DataSize: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_OUTPUT>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(ProtocolGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(DataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Data) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_OUTPUT = _SCM_PD_PASSTHROUGH_OUTPUT; +pub type PSCM_PD_PASSTHROUGH_OUTPUT = *mut _SCM_PD_PASSTHROUGH_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INVDIMM_INPUT { + pub Opcode: DWORD, + pub OpcodeParametersLength: DWORD, + pub OpcodeParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INVDIMM_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Opcode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(Opcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpcodeParametersLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(OpcodeParametersLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpcodeParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(OpcodeParameters) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INVDIMM_INPUT = _SCM_PD_PASSTHROUGH_INVDIMM_INPUT; +pub type PSCM_PD_PASSTHROUGH_INVDIMM_INPUT = *mut _SCM_PD_PASSTHROUGH_INVDIMM_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT { + pub GeneralStatus: WORD, + pub ExtendedStatus: WORD, + pub OutputDataLength: DWORD, + pub OutputData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GeneralStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(GeneralStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedStatus) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(ExtendedStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputDataLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(OutputDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(OutputData) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT = _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT; +pub type PSCM_PD_PASSTHROUGH_INVDIMM_OUTPUT = *mut _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Options: _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1) + ) + ); +} +impl _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1 { + #[inline] + pub fn Overwrite(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Overwrite(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Overwrite: DWORD) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Overwrite: u32 = unsafe { ::std::mem::transmute(Overwrite) }; + Overwrite as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_REINITIALIZE_MEDIA_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Options) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Options) + ) + ); +} +pub type SCM_PD_REINITIALIZE_MEDIA_INPUT = _SCM_PD_REINITIALIZE_MEDIA_INPUT; +pub type PSCM_PD_REINITIALIZE_MEDIA_INPUT = *mut _SCM_PD_REINITIALIZE_MEDIA_INPUT; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_Success: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 0; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_RebootNeeded: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 1; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_ColdBootNeeded: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 2; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_Max: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 3; +pub type _SCM_PD_MEDIA_REINITIALIZATION_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_MEDIA_REINITIALIZATION_STATUS as SCM_PD_MEDIA_REINITIALIZATION_STATUS; +pub type PSCM_PD_MEDIA_REINITIALIZATION_STATUS = *mut _SCM_PD_MEDIA_REINITIALIZATION_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Status: SCM_PD_MEDIA_REINITIALIZATION_STATUS, +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Status) + ) + ); +} +pub type SCM_PD_REINITIALIZE_MEDIA_OUTPUT = _SCM_PD_REINITIALIZE_MEDIA_OUTPUT; +pub type PSCM_PD_REINITIALIZE_MEDIA_OUTPUT = *mut _SCM_PD_REINITIALIZE_MEDIA_OUTPUT; +pub const _MEDIA_TYPE_Unknown: _MEDIA_TYPE = 0; +pub const _MEDIA_TYPE_F5_1Pt2_512: _MEDIA_TYPE = 1; +pub const _MEDIA_TYPE_F3_1Pt44_512: _MEDIA_TYPE = 2; +pub const _MEDIA_TYPE_F3_2Pt88_512: _MEDIA_TYPE = 3; +pub const _MEDIA_TYPE_F3_20Pt8_512: _MEDIA_TYPE = 4; +pub const _MEDIA_TYPE_F3_720_512: _MEDIA_TYPE = 5; +pub const _MEDIA_TYPE_F5_360_512: _MEDIA_TYPE = 6; +pub const _MEDIA_TYPE_F5_320_512: _MEDIA_TYPE = 7; +pub const _MEDIA_TYPE_F5_320_1024: _MEDIA_TYPE = 8; +pub const _MEDIA_TYPE_F5_180_512: _MEDIA_TYPE = 9; +pub const _MEDIA_TYPE_F5_160_512: _MEDIA_TYPE = 10; +pub const _MEDIA_TYPE_RemovableMedia: _MEDIA_TYPE = 11; +pub const _MEDIA_TYPE_FixedMedia: _MEDIA_TYPE = 12; +pub const _MEDIA_TYPE_F3_120M_512: _MEDIA_TYPE = 13; +pub const _MEDIA_TYPE_F3_640_512: _MEDIA_TYPE = 14; +pub const _MEDIA_TYPE_F5_640_512: _MEDIA_TYPE = 15; +pub const _MEDIA_TYPE_F5_720_512: _MEDIA_TYPE = 16; +pub const _MEDIA_TYPE_F3_1Pt2_512: _MEDIA_TYPE = 17; +pub const _MEDIA_TYPE_F3_1Pt23_1024: _MEDIA_TYPE = 18; +pub const _MEDIA_TYPE_F5_1Pt23_1024: _MEDIA_TYPE = 19; +pub const _MEDIA_TYPE_F3_128Mb_512: _MEDIA_TYPE = 20; +pub const _MEDIA_TYPE_F3_230Mb_512: _MEDIA_TYPE = 21; +pub const _MEDIA_TYPE_F8_256_128: _MEDIA_TYPE = 22; +pub const _MEDIA_TYPE_F3_200Mb_512: _MEDIA_TYPE = 23; +pub const _MEDIA_TYPE_F3_240M_512: _MEDIA_TYPE = 24; +pub const _MEDIA_TYPE_F3_32M_512: _MEDIA_TYPE = 25; +pub type _MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_MEDIA_TYPE as MEDIA_TYPE; +pub type PMEDIA_TYPE = *mut _MEDIA_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORMAT_PARAMETERS { + pub MediaType: MEDIA_TYPE, + pub StartCylinderNumber: DWORD, + pub EndCylinderNumber: DWORD, + pub StartHeadNumber: DWORD, + pub EndHeadNumber: DWORD, +} +#[test] +fn bindgen_test_layout__FORMAT_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_FORMAT_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORMAT_PARAMETERS>(), + 20usize, + concat!("Size of: ", stringify!(_FORMAT_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_FORMAT_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_FORMAT_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartCylinderNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(StartCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndCylinderNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(EndCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartHeadNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(StartHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeadNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(EndHeadNumber) + ) + ); +} +pub type FORMAT_PARAMETERS = _FORMAT_PARAMETERS; +pub type PFORMAT_PARAMETERS = *mut _FORMAT_PARAMETERS; +pub type BAD_TRACK_NUMBER = WORD; +pub type PBAD_TRACK_NUMBER = *mut WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORMAT_EX_PARAMETERS { + pub MediaType: MEDIA_TYPE, + pub StartCylinderNumber: DWORD, + pub EndCylinderNumber: DWORD, + pub StartHeadNumber: DWORD, + pub EndHeadNumber: DWORD, + pub FormatGapLength: WORD, + pub SectorsPerTrack: WORD, + pub SectorNumber: [WORD; 1usize], +} +#[test] +fn bindgen_test_layout__FORMAT_EX_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_FORMAT_EX_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORMAT_EX_PARAMETERS>(), + 28usize, + concat!("Size of: ", stringify!(_FORMAT_EX_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_FORMAT_EX_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_FORMAT_EX_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartCylinderNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(StartCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndCylinderNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(EndCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartHeadNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(StartHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeadNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(EndHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatGapLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(FormatGapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(SectorNumber) + ) + ); +} +pub type FORMAT_EX_PARAMETERS = _FORMAT_EX_PARAMETERS; +pub type PFORMAT_EX_PARAMETERS = *mut _FORMAT_EX_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GEOMETRY { + pub Cylinders: LARGE_INTEGER, + pub MediaType: MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_GEOMETRY() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GEOMETRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GEOMETRY>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_GEOMETRY)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GEOMETRY>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GEOMETRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(BytesPerSector) + ) + ); +} +pub type DISK_GEOMETRY = _DISK_GEOMETRY; +pub type PDISK_GEOMETRY = *mut _DISK_GEOMETRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PARTITION_INFORMATION { + pub StartingOffset: LARGE_INTEGER, + pub PartitionLength: LARGE_INTEGER, + pub HiddenSectors: DWORD, + pub PartitionNumber: DWORD, + pub PartitionType: BYTE, + pub BootIndicator: BOOLEAN, + pub RecognizedPartition: BOOLEAN, + pub RewritePartition: BOOLEAN, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiddenSectors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(HiddenSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootIndicator) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(BootIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecognizedPartition) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(RecognizedPartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RewritePartition) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(RewritePartition) + ) + ); +} +pub type PARTITION_INFORMATION = _PARTITION_INFORMATION; +pub type PPARTITION_INFORMATION = *mut _PARTITION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_PARTITION_INFORMATION { + pub PartitionType: BYTE, +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_SET_PARTITION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_SET_PARTITION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION), + "::", + stringify!(PartitionType) + ) + ); +} +pub type SET_PARTITION_INFORMATION = _SET_PARTITION_INFORMATION; +pub type PSET_PARTITION_INFORMATION = *mut _SET_PARTITION_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION { + pub PartitionCount: DWORD, + pub Signature: DWORD, + pub PartitionEntry: [PARTITION_INFORMATION; 1usize], +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION>(), + 40usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(PartitionEntry) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION = _DRIVE_LAYOUT_INFORMATION; +pub type PDRIVE_LAYOUT_INFORMATION = *mut _DRIVE_LAYOUT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _VERIFY_INFORMATION { + pub StartingOffset: LARGE_INTEGER, + pub Length: DWORD, +} +#[test] +fn bindgen_test_layout__VERIFY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_VERIFY_INFORMATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VERIFY_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_VERIFY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_VERIFY_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_VERIFY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VERIFY_INFORMATION), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VERIFY_INFORMATION), + "::", + stringify!(Length) + ) + ); +} +pub type VERIFY_INFORMATION = _VERIFY_INFORMATION; +pub type PVERIFY_INFORMATION = *mut _VERIFY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REASSIGN_BLOCKS { + pub Reserved: WORD, + pub Count: WORD, + pub BlockNumber: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__REASSIGN_BLOCKS() { + const UNINIT: ::std::mem::MaybeUninit<_REASSIGN_BLOCKS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASSIGN_BLOCKS>(), + 8usize, + concat!("Size of: ", stringify!(_REASSIGN_BLOCKS)) + ); + assert_eq!( + ::std::mem::align_of::<_REASSIGN_BLOCKS>(), + 4usize, + concat!("Alignment of ", stringify!(_REASSIGN_BLOCKS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(BlockNumber) + ) + ); +} +pub type REASSIGN_BLOCKS = _REASSIGN_BLOCKS; +pub type PREASSIGN_BLOCKS = *mut _REASSIGN_BLOCKS; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _REASSIGN_BLOCKS_EX { + pub Reserved: WORD, + pub Count: WORD, + pub BlockNumber: [LARGE_INTEGER; 1usize], +} +#[test] +fn bindgen_test_layout__REASSIGN_BLOCKS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_REASSIGN_BLOCKS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASSIGN_BLOCKS_EX>(), + 12usize, + concat!("Size of: ", stringify!(_REASSIGN_BLOCKS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_REASSIGN_BLOCKS_EX>(), + 1usize, + concat!("Alignment of ", stringify!(_REASSIGN_BLOCKS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(BlockNumber) + ) + ); +} +pub type REASSIGN_BLOCKS_EX = _REASSIGN_BLOCKS_EX; +pub type PREASSIGN_BLOCKS_EX = *mut _REASSIGN_BLOCKS_EX; +pub const _PARTITION_STYLE_PARTITION_STYLE_MBR: _PARTITION_STYLE = 0; +pub const _PARTITION_STYLE_PARTITION_STYLE_GPT: _PARTITION_STYLE = 1; +pub const _PARTITION_STYLE_PARTITION_STYLE_RAW: _PARTITION_STYLE = 2; +pub type _PARTITION_STYLE = ::std::os::raw::c_int; +pub use self::_PARTITION_STYLE as PARTITION_STYLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PARTITION_INFORMATION_GPT { + pub PartitionType: GUID, + pub PartitionId: GUID, + pub Attributes: DWORD64, + pub Name: [WCHAR; 36usize], +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_GPT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_GPT>(), + 112usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_GPT>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(PartitionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(Name) + ) + ); +} +pub type PARTITION_INFORMATION_GPT = _PARTITION_INFORMATION_GPT; +pub type PPARTITION_INFORMATION_GPT = *mut _PARTITION_INFORMATION_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PARTITION_INFORMATION_MBR { + pub PartitionType: BYTE, + pub BootIndicator: BOOLEAN, + pub RecognizedPartition: BOOLEAN, + pub HiddenSectors: DWORD, + pub PartitionId: GUID, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_MBR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_MBR>(), + 24usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootIndicator) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(BootIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecognizedPartition) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(RecognizedPartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiddenSectors) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(HiddenSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(PartitionId) + ) + ); +} +pub type PARTITION_INFORMATION_MBR = _PARTITION_INFORMATION_MBR; +pub type PPARTITION_INFORMATION_MBR = *mut _PARTITION_INFORMATION_MBR; +pub type SET_PARTITION_INFORMATION_MBR = SET_PARTITION_INFORMATION; +pub type SET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SET_PARTITION_INFORMATION_EX { + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _SET_PARTITION_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SET_PARTITION_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: SET_PARTITION_INFORMATION_MBR, + pub Gpt: SET_PARTITION_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 112usize, + concat!( + "Size of: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION_EX>(), + 120usize, + concat!("Size of: ", stringify!(_SET_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_SET_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type SET_PARTITION_INFORMATION_EX = _SET_PARTITION_INFORMATION_EX; +pub type PSET_PARTITION_INFORMATION_EX = *mut _SET_PARTITION_INFORMATION_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_DISK_GPT { + pub DiskId: GUID, + pub MaxPartitionCount: DWORD, +} +#[test] +fn bindgen_test_layout__CREATE_DISK_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK_GPT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK_GPT>(), + 20usize, + concat!("Size of: ", stringify!(_CREATE_DISK_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK_GPT>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_GPT), + "::", + stringify!(DiskId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPartitionCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_GPT), + "::", + stringify!(MaxPartitionCount) + ) + ); +} +pub type CREATE_DISK_GPT = _CREATE_DISK_GPT; +pub type PCREATE_DISK_GPT = *mut _CREATE_DISK_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_DISK_MBR { + pub Signature: DWORD, +} +#[test] +fn bindgen_test_layout__CREATE_DISK_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK_MBR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK_MBR>(), + 4usize, + concat!("Size of: ", stringify!(_CREATE_DISK_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_MBR), + "::", + stringify!(Signature) + ) + ); +} +pub type CREATE_DISK_MBR = _CREATE_DISK_MBR; +pub type PCREATE_DISK_MBR = *mut _CREATE_DISK_MBR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CREATE_DISK { + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _CREATE_DISK__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CREATE_DISK__bindgen_ty_1 { + pub Mbr: CREATE_DISK_MBR, + pub Gpt: CREATE_DISK_GPT, +} +#[test] +fn bindgen_test_layout__CREATE_DISK__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK__bindgen_ty_1>(), + 20usize, + concat!("Size of: ", stringify!(_CREATE_DISK__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__CREATE_DISK() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK>(), + 24usize, + concat!("Size of: ", stringify!(_CREATE_DISK)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type CREATE_DISK = _CREATE_DISK; +pub type PCREATE_DISK = *mut _CREATE_DISK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GET_LENGTH_INFORMATION { + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__GET_LENGTH_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_GET_LENGTH_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_LENGTH_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_GET_LENGTH_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_LENGTH_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_LENGTH_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_LENGTH_INFORMATION), + "::", + stringify!(Length) + ) + ); +} +pub type GET_LENGTH_INFORMATION = _GET_LENGTH_INFORMATION; +pub type PGET_LENGTH_INFORMATION = *mut _GET_LENGTH_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PARTITION_INFORMATION_EX { + pub PartitionStyle: PARTITION_STYLE, + pub StartingOffset: LARGE_INTEGER, + pub PartitionLength: LARGE_INTEGER, + pub PartitionNumber: DWORD, + pub RewritePartition: BOOLEAN, + pub IsServicePartition: BOOLEAN, + pub __bindgen_anon_1: _PARTITION_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PARTITION_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: PARTITION_INFORMATION_MBR, + pub Gpt: PARTITION_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 112usize, + concat!( + "Size of: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_EX>(), + 144usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RewritePartition) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(RewritePartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsServicePartition) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(IsServicePartition) + ) + ); +} +pub type PARTITION_INFORMATION_EX = _PARTITION_INFORMATION_EX; +pub type PPARTITION_INFORMATION_EX = *mut _PARTITION_INFORMATION_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_GPT { + pub DiskId: GUID, + pub StartingUsableOffset: LARGE_INTEGER, + pub UsableLength: LARGE_INTEGER, + pub MaxPartitionCount: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_GPT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_GPT>(), + 40usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_GPT>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(DiskId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingUsableOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(StartingUsableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsableLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(UsableLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPartitionCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(MaxPartitionCount) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_GPT = _DRIVE_LAYOUT_INFORMATION_GPT; +pub type PDRIVE_LAYOUT_INFORMATION_GPT = *mut _DRIVE_LAYOUT_INFORMATION_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_MBR { + pub Signature: DWORD, + pub CheckSum: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_MBR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_MBR>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_MBR), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_MBR), + "::", + stringify!(CheckSum) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_MBR = _DRIVE_LAYOUT_INFORMATION_MBR; +pub type PDRIVE_LAYOUT_INFORMATION_MBR = *mut _DRIVE_LAYOUT_INFORMATION_MBR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_EX { + pub PartitionStyle: DWORD, + pub PartitionCount: DWORD, + pub __bindgen_anon_1: _DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1, + pub PartitionEntry: [PARTITION_INFORMATION_EX; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: DRIVE_LAYOUT_INFORMATION_MBR, + pub Gpt: DRIVE_LAYOUT_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>(), + 40usize, + concat!( + "Size of: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_EX>(), + 192usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionEntry) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionEntry) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_EX = _DRIVE_LAYOUT_INFORMATION_EX; +pub type PDRIVE_LAYOUT_INFORMATION_EX = *mut _DRIVE_LAYOUT_INFORMATION_EX; +pub const _DETECTION_TYPE_DetectNone: _DETECTION_TYPE = 0; +pub const _DETECTION_TYPE_DetectInt13: _DETECTION_TYPE = 1; +pub const _DETECTION_TYPE_DetectExInt13: _DETECTION_TYPE = 2; +pub type _DETECTION_TYPE = ::std::os::raw::c_int; +pub use self::_DETECTION_TYPE as DETECTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_INT13_INFO { + pub DriveSelect: WORD, + pub MaxCylinders: DWORD, + pub SectorsPerTrack: WORD, + pub MaxHeads: WORD, + pub NumberDrives: WORD, +} +#[test] +fn bindgen_test_layout__DISK_INT13_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_INT13_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_INT13_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_INT13_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_INT13_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_INT13_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriveSelect) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(DriveSelect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCylinders) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(MaxCylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxHeads) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(MaxHeads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberDrives) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(NumberDrives) + ) + ); +} +pub type DISK_INT13_INFO = _DISK_INT13_INFO; +pub type PDISK_INT13_INFO = *mut _DISK_INT13_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_EX_INT13_INFO { + pub ExBufferSize: WORD, + pub ExFlags: WORD, + pub ExCylinders: DWORD, + pub ExHeads: DWORD, + pub ExSectorsPerTrack: DWORD, + pub ExSectorsPerDrive: DWORD64, + pub ExSectorSize: WORD, + pub ExReserved: WORD, +} +#[test] +fn bindgen_test_layout__DISK_EX_INT13_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_EX_INT13_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_EX_INT13_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DISK_EX_INT13_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_EX_INT13_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_EX_INT13_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExCylinders) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExCylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExHeads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExHeads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorsPerTrack) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorsPerDrive) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorsPerDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExReserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExReserved) + ) + ); +} +pub type DISK_EX_INT13_INFO = _DISK_EX_INT13_INFO; +pub type PDISK_EX_INT13_INFO = *mut _DISK_EX_INT13_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_DETECTION_INFO { + pub SizeOfDetectInfo: DWORD, + pub DetectionType: DETECTION_TYPE, + pub __bindgen_anon_1: _DISK_DETECTION_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_DETECTION_INFO__bindgen_ty_1 { + pub __bindgen_anon_1: _DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Int13: DISK_INT13_INFO, + pub ExInt13: DISK_EX_INT13_INFO, +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int13) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Int13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExInt13) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ExInt13) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO__bindgen_ty_1>(), + 48usize, + concat!("Size of: ", stringify!(_DISK_DETECTION_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_DETECTION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_DISK_DETECTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_DETECTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfDetectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO), + "::", + stringify!(SizeOfDetectInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetectionType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO), + "::", + stringify!(DetectionType) + ) + ); +} +pub type DISK_DETECTION_INFO = _DISK_DETECTION_INFO; +pub type PDISK_DETECTION_INFO = *mut _DISK_DETECTION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_PARTITION_INFO { + pub SizeOfPartitionInfo: DWORD, + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _DISK_PARTITION_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_PARTITION_INFO__bindgen_ty_1 { + pub Mbr: _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1, + pub Gpt: _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Signature: DWORD, + pub CheckSum: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(CheckSum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2 { + pub DiskId: GUID, +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(DiskId) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_PARTITION_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_PARTITION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_PARTITION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfPartitionInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO), + "::", + stringify!(SizeOfPartitionInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type DISK_PARTITION_INFO = _DISK_PARTITION_INFO; +pub type PDISK_PARTITION_INFO = *mut _DISK_PARTITION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GEOMETRY_EX { + pub Geometry: DISK_GEOMETRY, + pub DiskSize: LARGE_INTEGER, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DISK_GEOMETRY_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GEOMETRY_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GEOMETRY_EX>(), + 40usize, + concat!("Size of: ", stringify!(_DISK_GEOMETRY_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GEOMETRY_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GEOMETRY_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Geometry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(Geometry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(DiskSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(Data) + ) + ); +} +pub type DISK_GEOMETRY_EX = _DISK_GEOMETRY_EX; +pub type PDISK_GEOMETRY_EX = *mut _DISK_GEOMETRY_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CONTROLLER_NUMBER { + pub ControllerNumber: DWORD, + pub DiskNumber: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_CONTROLLER_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CONTROLLER_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CONTROLLER_NUMBER>(), + 8usize, + concat!("Size of: ", stringify!(_DISK_CONTROLLER_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CONTROLLER_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_CONTROLLER_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControllerNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CONTROLLER_NUMBER), + "::", + stringify!(ControllerNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CONTROLLER_NUMBER), + "::", + stringify!(DiskNumber) + ) + ); +} +pub type DISK_CONTROLLER_NUMBER = _DISK_CONTROLLER_NUMBER; +pub type PDISK_CONTROLLER_NUMBER = *mut _DISK_CONTROLLER_NUMBER; +pub const DISK_CACHE_RETENTION_PRIORITY_EqualPriority: DISK_CACHE_RETENTION_PRIORITY = 0; +pub const DISK_CACHE_RETENTION_PRIORITY_KeepPrefetchedData: DISK_CACHE_RETENTION_PRIORITY = 1; +pub const DISK_CACHE_RETENTION_PRIORITY_KeepReadData: DISK_CACHE_RETENTION_PRIORITY = 2; +pub type DISK_CACHE_RETENTION_PRIORITY = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION { + pub ParametersSavable: BOOLEAN, + pub ReadCacheEnabled: BOOLEAN, + pub WriteCacheEnabled: BOOLEAN, + pub ReadRetentionPriority: DISK_CACHE_RETENTION_PRIORITY, + pub WriteRetentionPriority: DISK_CACHE_RETENTION_PRIORITY, + pub DisablePrefetchTransferLength: WORD, + pub PrefetchScalar: BOOLEAN, + pub __bindgen_anon_1: _DISK_CACHE_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_CACHE_INFORMATION__bindgen_ty_1 { + pub ScalarPrefetch: _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub BlockPrefetch: _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Minimum: WORD, + pub Maximum: WORD, + pub MaximumBlocks: WORD, +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 6usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Minimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Maximum) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Maximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumBlocks) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaximumBlocks) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2 { + pub Minimum: WORD, + pub Maximum: WORD, +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Minimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Maximum) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Maximum) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1>(), + 6usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScalarPrefetch) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), + "::", + stringify!(ScalarPrefetch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockPrefetch) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), + "::", + stringify!(BlockPrefetch) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_CACHE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_CACHE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParametersSavable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ParametersSavable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCacheEnabled) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ReadCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnabled) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(WriteCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadRetentionPriority) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ReadRetentionPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteRetentionPriority) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(WriteRetentionPriority) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DisablePrefetchTransferLength) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(DisablePrefetchTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrefetchScalar) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(PrefetchScalar) + ) + ); +} +pub type DISK_CACHE_INFORMATION = _DISK_CACHE_INFORMATION; +pub type PDISK_CACHE_INFORMATION = *mut _DISK_CACHE_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GROW_PARTITION { + pub PartitionNumber: DWORD, + pub BytesToGrow: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DISK_GROW_PARTITION() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GROW_PARTITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GROW_PARTITION>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_GROW_PARTITION)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GROW_PARTITION>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GROW_PARTITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GROW_PARTITION), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToGrow) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GROW_PARTITION), + "::", + stringify!(BytesToGrow) + ) + ); +} +pub type DISK_GROW_PARTITION = _DISK_GROW_PARTITION; +pub type PDISK_GROW_PARTITION = *mut _DISK_GROW_PARTITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HISTOGRAM_BUCKET { + pub Reads: DWORD, + pub Writes: DWORD, +} +#[test] +fn bindgen_test_layout__HISTOGRAM_BUCKET() { + const UNINIT: ::std::mem::MaybeUninit<_HISTOGRAM_BUCKET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HISTOGRAM_BUCKET>(), + 8usize, + concat!("Size of: ", stringify!(_HISTOGRAM_BUCKET)) + ); + assert_eq!( + ::std::mem::align_of::<_HISTOGRAM_BUCKET>(), + 4usize, + concat!("Alignment of ", stringify!(_HISTOGRAM_BUCKET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reads) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HISTOGRAM_BUCKET), + "::", + stringify!(Reads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Writes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HISTOGRAM_BUCKET), + "::", + stringify!(Writes) + ) + ); +} +pub type HISTOGRAM_BUCKET = _HISTOGRAM_BUCKET; +pub type PHISTOGRAM_BUCKET = *mut _HISTOGRAM_BUCKET; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_HISTOGRAM { + pub DiskSize: LARGE_INTEGER, + pub Start: LARGE_INTEGER, + pub End: LARGE_INTEGER, + pub Average: LARGE_INTEGER, + pub AverageRead: LARGE_INTEGER, + pub AverageWrite: LARGE_INTEGER, + pub Granularity: DWORD, + pub Size: DWORD, + pub ReadCount: DWORD, + pub WriteCount: DWORD, + pub Histogram: PHISTOGRAM_BUCKET, +} +#[test] +fn bindgen_test_layout__DISK_HISTOGRAM() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_HISTOGRAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_HISTOGRAM>(), + 72usize, + concat!("Size of: ", stringify!(_DISK_HISTOGRAM)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_HISTOGRAM>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_HISTOGRAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(DiskSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Average) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Average) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AverageRead) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(AverageRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AverageWrite) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(AverageWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Granularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(ReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCount) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(WriteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Histogram) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Histogram) + ) + ); +} +pub type DISK_HISTOGRAM = _DISK_HISTOGRAM; +pub type PDISK_HISTOGRAM = *mut _DISK_HISTOGRAM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_PERFORMANCE { + pub BytesRead: LARGE_INTEGER, + pub BytesWritten: LARGE_INTEGER, + pub ReadTime: LARGE_INTEGER, + pub WriteTime: LARGE_INTEGER, + pub IdleTime: LARGE_INTEGER, + pub ReadCount: DWORD, + pub WriteCount: DWORD, + pub QueueDepth: DWORD, + pub SplitCount: DWORD, + pub QueryTime: LARGE_INTEGER, + pub StorageDeviceNumber: DWORD, + pub StorageManagerName: [WCHAR; 8usize], +} +#[test] +fn bindgen_test_layout__DISK_PERFORMANCE() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PERFORMANCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PERFORMANCE>(), + 88usize, + concat!("Size of: ", stringify!(_DISK_PERFORMANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PERFORMANCE>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_PERFORMANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRead) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(BytesRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWritten) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(BytesWritten) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(ReadTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(WriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(IdleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(ReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCount) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(WriteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueueDepth) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(QueueDepth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SplitCount) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(SplitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(QueryTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageDeviceNumber) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(StorageDeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageManagerName) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(StorageManagerName) + ) + ); +} +pub type DISK_PERFORMANCE = _DISK_PERFORMANCE; +pub type PDISK_PERFORMANCE = *mut _DISK_PERFORMANCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_RECORD { + pub ByteOffset: LARGE_INTEGER, + pub StartTime: LARGE_INTEGER, + pub EndTime: LARGE_INTEGER, + pub VirtualAddress: PVOID, + pub NumberOfBytes: DWORD, + pub DeviceNumber: BYTE, + pub ReadRequest: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DISK_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_RECORD>(), + 40usize, + concat!("Size of: ", stringify!(_DISK_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(ByteOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(NumberOfBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadRequest) as usize - ptr as usize }, + 37usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(ReadRequest) + ) + ); +} +pub type DISK_RECORD = _DISK_RECORD; +pub type PDISK_RECORD = *mut _DISK_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_LOGGING { + pub Function: BYTE, + pub BufferAddress: PVOID, + pub BufferSize: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_LOGGING() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_LOGGING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_LOGGING>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_LOGGING)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_LOGGING>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_LOGGING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(BufferAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(BufferSize) + ) + ); +} +pub type DISK_LOGGING = _DISK_LOGGING; +pub type PDISK_LOGGING = *mut _DISK_LOGGING; +pub const _BIN_TYPES_RequestSize: _BIN_TYPES = 0; +pub const _BIN_TYPES_RequestLocation: _BIN_TYPES = 1; +pub type _BIN_TYPES = ::std::os::raw::c_int; +pub use self::_BIN_TYPES as BIN_TYPES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_RANGE { + pub StartValue: LARGE_INTEGER, + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__BIN_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_BIN_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RANGE), + "::", + stringify!(StartValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type BIN_RANGE = _BIN_RANGE; +pub type PBIN_RANGE = *mut _BIN_RANGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_BIN { + pub NumberOfBins: DWORD, + pub TypeOfBin: DWORD, + pub BinsRanges: [BIN_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__PERF_BIN() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_BIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_BIN>(), + 24usize, + concat!("Size of: ", stringify!(_PERF_BIN)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_BIN>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_BIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBins) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(NumberOfBins) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeOfBin) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(TypeOfBin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinsRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(BinsRanges) + ) + ); +} +pub type PERF_BIN = _PERF_BIN; +pub type PPERF_BIN = *mut _PERF_BIN; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_COUNT { + pub BinRange: BIN_RANGE, + pub BinCount: DWORD, +} +#[test] +fn bindgen_test_layout__BIN_COUNT() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_COUNT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_COUNT>(), + 24usize, + concat!("Size of: ", stringify!(_BIN_COUNT)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_COUNT>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_COUNT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinRange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_COUNT), + "::", + stringify!(BinRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIN_COUNT), + "::", + stringify!(BinCount) + ) + ); +} +pub type BIN_COUNT = _BIN_COUNT; +pub type PBIN_COUNT = *mut _BIN_COUNT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_RESULTS { + pub NumberOfBins: DWORD, + pub BinCounts: [BIN_COUNT; 1usize], +} +#[test] +fn bindgen_test_layout__BIN_RESULTS() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_RESULTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_RESULTS>(), + 32usize, + concat!("Size of: ", stringify!(_BIN_RESULTS)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_RESULTS>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_RESULTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBins) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RESULTS), + "::", + stringify!(NumberOfBins) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinCounts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RESULTS), + "::", + stringify!(BinCounts) + ) + ); +} +pub type BIN_RESULTS = _BIN_RESULTS; +pub type PBIN_RESULTS = *mut _BIN_RESULTS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _GETVERSIONINPARAMS { + pub bVersion: BYTE, + pub bRevision: BYTE, + pub bReserved: BYTE, + pub bIDEDeviceMap: BYTE, + pub fCapabilities: DWORD, + pub dwReserved: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__GETVERSIONINPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_GETVERSIONINPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GETVERSIONINPARAMS>(), + 24usize, + concat!("Size of: ", stringify!(_GETVERSIONINPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_GETVERSIONINPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_GETVERSIONINPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRevision) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIDEDeviceMap) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bIDEDeviceMap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCapabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(fCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(dwReserved) + ) + ); +} +pub type GETVERSIONINPARAMS = _GETVERSIONINPARAMS; +pub type PGETVERSIONINPARAMS = *mut _GETVERSIONINPARAMS; +pub type LPGETVERSIONINPARAMS = *mut _GETVERSIONINPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IDEREGS { + pub bFeaturesReg: BYTE, + pub bSectorCountReg: BYTE, + pub bSectorNumberReg: BYTE, + pub bCylLowReg: BYTE, + pub bCylHighReg: BYTE, + pub bDriveHeadReg: BYTE, + pub bCommandReg: BYTE, + pub bReserved: BYTE, +} +#[test] +fn bindgen_test_layout__IDEREGS() { + const UNINIT: ::std::mem::MaybeUninit<_IDEREGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IDEREGS>(), + 8usize, + concat!("Size of: ", stringify!(_IDEREGS)) + ); + assert_eq!( + ::std::mem::align_of::<_IDEREGS>(), + 1usize, + concat!("Alignment of ", stringify!(_IDEREGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFeaturesReg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bFeaturesReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSectorCountReg) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bSectorCountReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSectorNumberReg) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bSectorNumberReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCylLowReg) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCylLowReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCylHighReg) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCylHighReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriveHeadReg) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bDriveHeadReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCommandReg) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCommandReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bReserved) + ) + ); +} +pub type IDEREGS = _IDEREGS; +pub type PIDEREGS = *mut _IDEREGS; +pub type LPIDEREGS = *mut _IDEREGS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SENDCMDINPARAMS { + pub cBufferSize: DWORD, + pub irDriveRegs: IDEREGS, + pub bDriveNumber: BYTE, + pub bReserved: [BYTE; 3usize], + pub dwReserved: [DWORD; 4usize], + pub bBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SENDCMDINPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SENDCMDINPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SENDCMDINPARAMS>(), + 33usize, + concat!("Size of: ", stringify!(_SENDCMDINPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SENDCMDINPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_SENDCMDINPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(cBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).irDriveRegs) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(irDriveRegs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriveNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bDriveNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bBuffer) + ) + ); +} +pub type SENDCMDINPARAMS = _SENDCMDINPARAMS; +pub type PSENDCMDINPARAMS = *mut _SENDCMDINPARAMS; +pub type LPSENDCMDINPARAMS = *mut _SENDCMDINPARAMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVERSTATUS { + pub bDriverError: BYTE, + pub bIDEError: BYTE, + pub bReserved: [BYTE; 2usize], + pub dwReserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__DRIVERSTATUS() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVERSTATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVERSTATUS>(), + 12usize, + concat!("Size of: ", stringify!(_DRIVERSTATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVERSTATUS>(), + 1usize, + concat!("Alignment of ", stringify!(_DRIVERSTATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriverError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bDriverError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIDEError) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bIDEError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(dwReserved) + ) + ); +} +pub type DRIVERSTATUS = _DRIVERSTATUS; +pub type PDRIVERSTATUS = *mut _DRIVERSTATUS; +pub type LPDRIVERSTATUS = *mut _DRIVERSTATUS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SENDCMDOUTPARAMS { + pub cBufferSize: DWORD, + pub DriverStatus: DRIVERSTATUS, + pub bBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SENDCMDOUTPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SENDCMDOUTPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SENDCMDOUTPARAMS>(), + 17usize, + concat!("Size of: ", stringify!(_SENDCMDOUTPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SENDCMDOUTPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_SENDCMDOUTPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(cBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriverStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(DriverStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBuffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(bBuffer) + ) + ); +} +pub type SENDCMDOUTPARAMS = _SENDCMDOUTPARAMS; +pub type PSENDCMDOUTPARAMS = *mut _SENDCMDOUTPARAMS; +pub type LPSENDCMDOUTPARAMS = *mut _SENDCMDOUTPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_DISK_ATTRIBUTES { + pub Version: DWORD, + pub Reserved1: DWORD, + pub Attributes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__GET_DISK_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_GET_DISK_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_DISK_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_GET_DISK_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_DISK_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_DISK_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type GET_DISK_ATTRIBUTES = _GET_DISK_ATTRIBUTES; +pub type PGET_DISK_ATTRIBUTES = *mut _GET_DISK_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_DISK_ATTRIBUTES { + pub Version: DWORD, + pub Persist: BOOLEAN, + pub Reserved1: [BYTE; 3usize], + pub Attributes: DWORDLONG, + pub AttributesMask: DWORDLONG, + pub Reserved2: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__SET_DISK_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SET_DISK_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_DISK_ATTRIBUTES>(), + 40usize, + concat!("Size of: ", stringify!(_SET_DISK_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_DISK_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SET_DISK_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Persist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Persist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributesMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(AttributesMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved2) + ) + ); +} +pub type SET_DISK_ATTRIBUTES = _SET_DISK_ATTRIBUTES; +pub type PSET_DISK_ATTRIBUTES = *mut _SET_DISK_ATTRIBUTES; +pub const _ELEMENT_TYPE_AllElements: _ELEMENT_TYPE = 0; +pub const _ELEMENT_TYPE_ChangerTransport: _ELEMENT_TYPE = 1; +pub const _ELEMENT_TYPE_ChangerSlot: _ELEMENT_TYPE = 2; +pub const _ELEMENT_TYPE_ChangerIEPort: _ELEMENT_TYPE = 3; +pub const _ELEMENT_TYPE_ChangerDrive: _ELEMENT_TYPE = 4; +pub const _ELEMENT_TYPE_ChangerDoor: _ELEMENT_TYPE = 5; +pub const _ELEMENT_TYPE_ChangerKeypad: _ELEMENT_TYPE = 6; +pub const _ELEMENT_TYPE_ChangerMaxElement: _ELEMENT_TYPE = 7; +pub type _ELEMENT_TYPE = ::std::os::raw::c_int; +pub use self::_ELEMENT_TYPE as ELEMENT_TYPE; +pub type PELEMENT_TYPE = *mut _ELEMENT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT { + pub ElementType: ELEMENT_TYPE, + pub ElementAddress: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT>(), + 8usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT), + "::", + stringify!(ElementType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT), + "::", + stringify!(ElementAddress) + ) + ); +} +pub type CHANGER_ELEMENT = _CHANGER_ELEMENT; +pub type PCHANGER_ELEMENT = *mut _CHANGER_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_LIST { + pub Element: CHANGER_ELEMENT, + pub NumberOfElements: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_LIST>(), + 12usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_LIST>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_LIST), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfElements) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_LIST), + "::", + stringify!(NumberOfElements) + ) + ); +} +pub type CHANGER_ELEMENT_LIST = _CHANGER_ELEMENT_LIST; +pub type PCHANGER_ELEMENT_LIST = *mut _CHANGER_ELEMENT_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_CHANGER_PARAMETERS { + pub Size: DWORD, + pub NumberTransportElements: WORD, + pub NumberStorageElements: WORD, + pub NumberCleanerSlots: WORD, + pub NumberIEElements: WORD, + pub NumberDataTransferElements: WORD, + pub NumberOfDoors: WORD, + pub FirstSlotNumber: WORD, + pub FirstDriveNumber: WORD, + pub FirstTransportNumber: WORD, + pub FirstIEPortNumber: WORD, + pub FirstCleanerSlotAddress: WORD, + pub MagazineSize: WORD, + pub DriveCleanTimeout: DWORD, + pub Features0: DWORD, + pub Features1: DWORD, + pub MoveFromTransport: BYTE, + pub MoveFromSlot: BYTE, + pub MoveFromIePort: BYTE, + pub MoveFromDrive: BYTE, + pub ExchangeFromTransport: BYTE, + pub ExchangeFromSlot: BYTE, + pub ExchangeFromIePort: BYTE, + pub ExchangeFromDrive: BYTE, + pub LockUnlockCapabilities: BYTE, + pub PositionCapabilities: BYTE, + pub Reserved1: [BYTE; 2usize], + pub Reserved2: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__GET_CHANGER_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_GET_CHANGER_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_CHANGER_PARAMETERS>(), + 60usize, + concat!("Size of: ", stringify!(_GET_CHANGER_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_CHANGER_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_GET_CHANGER_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberTransportElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberTransportElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberStorageElements) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberStorageElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberCleanerSlots) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberCleanerSlots) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberIEElements) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberIEElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberDataTransferElements) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberDataTransferElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDoors) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberOfDoors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstSlotNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstSlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstDriveNumber) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstDriveNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstTransportNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstTransportNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstIEPortNumber) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstIEPortNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstCleanerSlotAddress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstCleanerSlotAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MagazineSize) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MagazineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriveCleanTimeout) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(DriveCleanTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features0) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Features0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features1) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Features1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromTransport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromTransport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromSlot) as usize - ptr as usize }, + 41usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromIePort) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromIePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromDrive) as usize - ptr as usize }, + 43usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromTransport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromTransport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromSlot) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromIePort) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromIePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromDrive) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockUnlockCapabilities) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(LockUnlockCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositionCapabilities) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(PositionCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Reserved2) + ) + ); +} +pub type GET_CHANGER_PARAMETERS = _GET_CHANGER_PARAMETERS; +pub type PGET_CHANGER_PARAMETERS = *mut _GET_CHANGER_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_PRODUCT_DATA { + pub VendorId: [BYTE; 8usize], + pub ProductId: [BYTE; 16usize], + pub Revision: [BYTE; 4usize], + pub SerialNumber: [BYTE; 32usize], + pub DeviceType: BYTE, +} +#[test] +fn bindgen_test_layout__CHANGER_PRODUCT_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_PRODUCT_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_PRODUCT_DATA>(), + 61usize, + concat!("Size of: ", stringify!(_CHANGER_PRODUCT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_PRODUCT_DATA>(), + 1usize, + concat!("Alignment of ", stringify!(_CHANGER_PRODUCT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(ProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(DeviceType) + ) + ); +} +pub type CHANGER_PRODUCT_DATA = _CHANGER_PRODUCT_DATA; +pub type PCHANGER_PRODUCT_DATA = *mut _CHANGER_PRODUCT_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SET_ACCESS { + pub Element: CHANGER_ELEMENT, + pub Control: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_SET_ACCESS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SET_ACCESS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SET_ACCESS>(), + 12usize, + concat!("Size of: ", stringify!(_CHANGER_SET_ACCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SET_ACCESS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_SET_ACCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_ACCESS), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_ACCESS), + "::", + stringify!(Control) + ) + ); +} +pub type CHANGER_SET_ACCESS = _CHANGER_SET_ACCESS; +pub type PCHANGER_SET_ACCESS = *mut _CHANGER_SET_ACCESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_READ_ELEMENT_STATUS { + pub ElementList: CHANGER_ELEMENT_LIST, + pub VolumeTagInfo: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_READ_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_READ_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_READ_ELEMENT_STATUS>(), + 16usize, + concat!("Size of: ", stringify!(_CHANGER_READ_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_READ_ELEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_READ_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_READ_ELEMENT_STATUS), + "::", + stringify!(ElementList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTagInfo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_READ_ELEMENT_STATUS), + "::", + stringify!(VolumeTagInfo) + ) + ); +} +pub type CHANGER_READ_ELEMENT_STATUS = _CHANGER_READ_ELEMENT_STATUS; +pub type PCHANGER_READ_ELEMENT_STATUS = *mut _CHANGER_READ_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_STATUS { + pub Element: CHANGER_ELEMENT, + pub SrcElementAddress: CHANGER_ELEMENT, + pub Flags: DWORD, + pub ExceptionCode: DWORD, + pub TargetId: BYTE, + pub Lun: BYTE, + pub Reserved: WORD, + pub PrimaryVolumeID: [BYTE; 36usize], + pub AlternateVolumeID: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_STATUS>(), + 100usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrcElementAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(SrcElementAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Lun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryVolumeID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(PrimaryVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlternateVolumeID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(AlternateVolumeID) + ) + ); +} +pub type CHANGER_ELEMENT_STATUS = _CHANGER_ELEMENT_STATUS; +pub type PCHANGER_ELEMENT_STATUS = *mut _CHANGER_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_STATUS_EX { + pub Element: CHANGER_ELEMENT, + pub SrcElementAddress: CHANGER_ELEMENT, + pub Flags: DWORD, + pub ExceptionCode: DWORD, + pub TargetId: BYTE, + pub Lun: BYTE, + pub Reserved: WORD, + pub PrimaryVolumeID: [BYTE; 36usize], + pub AlternateVolumeID: [BYTE; 36usize], + pub VendorIdentification: [BYTE; 8usize], + pub ProductIdentification: [BYTE; 16usize], + pub SerialNumber: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_STATUS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_STATUS_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_STATUS_EX>(), + 156usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_STATUS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_STATUS_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_STATUS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrcElementAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(SrcElementAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Lun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryVolumeID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(PrimaryVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlternateVolumeID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(AlternateVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorIdentification) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(VendorIdentification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductIdentification) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(ProductIdentification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type CHANGER_ELEMENT_STATUS_EX = _CHANGER_ELEMENT_STATUS_EX; +pub type PCHANGER_ELEMENT_STATUS_EX = *mut _CHANGER_ELEMENT_STATUS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_INITIALIZE_ELEMENT_STATUS { + pub ElementList: CHANGER_ELEMENT_LIST, + pub BarCodeScan: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_INITIALIZE_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_INITIALIZE_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_INITIALIZE_ELEMENT_STATUS>(), + 16usize, + concat!("Size of: ", stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_INITIALIZE_ELEMENT_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS), + "::", + stringify!(ElementList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BarCodeScan) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS), + "::", + stringify!(BarCodeScan) + ) + ); +} +pub type CHANGER_INITIALIZE_ELEMENT_STATUS = _CHANGER_INITIALIZE_ELEMENT_STATUS; +pub type PCHANGER_INITIALIZE_ELEMENT_STATUS = *mut _CHANGER_INITIALIZE_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SET_POSITION { + pub Transport: CHANGER_ELEMENT, + pub Destination: CHANGER_ELEMENT, + pub Flip: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_SET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SET_POSITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SET_POSITION>(), + 20usize, + concat!("Size of: ", stringify!(_CHANGER_SET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SET_POSITION>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_SET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Destination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Flip) + ) + ); +} +pub type CHANGER_SET_POSITION = _CHANGER_SET_POSITION; +pub type PCHANGER_SET_POSITION = *mut _CHANGER_SET_POSITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_EXCHANGE_MEDIUM { + pub Transport: CHANGER_ELEMENT, + pub Source: CHANGER_ELEMENT, + pub Destination1: CHANGER_ELEMENT, + pub Destination2: CHANGER_ELEMENT, + pub Flip1: BOOLEAN, + pub Flip2: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_EXCHANGE_MEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_EXCHANGE_MEDIUM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_EXCHANGE_MEDIUM>(), + 36usize, + concat!("Size of: ", stringify!(_CHANGER_EXCHANGE_MEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_EXCHANGE_MEDIUM>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_EXCHANGE_MEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Source) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Destination1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Destination2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Flip1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip2) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Flip2) + ) + ); +} +pub type CHANGER_EXCHANGE_MEDIUM = _CHANGER_EXCHANGE_MEDIUM; +pub type PCHANGER_EXCHANGE_MEDIUM = *mut _CHANGER_EXCHANGE_MEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_MOVE_MEDIUM { + pub Transport: CHANGER_ELEMENT, + pub Source: CHANGER_ELEMENT, + pub Destination: CHANGER_ELEMENT, + pub Flip: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_MOVE_MEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_MOVE_MEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_MOVE_MEDIUM>(), + 28usize, + concat!("Size of: ", stringify!(_CHANGER_MOVE_MEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_MOVE_MEDIUM>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_MOVE_MEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Source) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Destination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Flip) + ) + ); +} +pub type CHANGER_MOVE_MEDIUM = _CHANGER_MOVE_MEDIUM; +pub type PCHANGER_MOVE_MEDIUM = *mut _CHANGER_MOVE_MEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SEND_VOLUME_TAG_INFORMATION { + pub StartingElement: CHANGER_ELEMENT, + pub ActionCode: DWORD, + pub VolumeIDTemplate: [BYTE; 40usize], +} +#[test] +fn bindgen_test_layout__CHANGER_SEND_VOLUME_TAG_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SEND_VOLUME_TAG_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>(), + 52usize, + concat!( + "Size of: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingElement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(StartingElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActionCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(ActionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeIDTemplate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(VolumeIDTemplate) + ) + ); +} +pub type CHANGER_SEND_VOLUME_TAG_INFORMATION = _CHANGER_SEND_VOLUME_TAG_INFORMATION; +pub type PCHANGER_SEND_VOLUME_TAG_INFORMATION = *mut _CHANGER_SEND_VOLUME_TAG_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _READ_ELEMENT_ADDRESS_INFO { + pub NumberOfElements: DWORD, + pub ElementStatus: [CHANGER_ELEMENT_STATUS; 1usize], +} +#[test] +fn bindgen_test_layout__READ_ELEMENT_ADDRESS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_READ_ELEMENT_ADDRESS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_READ_ELEMENT_ADDRESS_INFO>(), + 104usize, + concat!("Size of: ", stringify!(_READ_ELEMENT_ADDRESS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_READ_ELEMENT_ADDRESS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_READ_ELEMENT_ADDRESS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfElements) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_READ_ELEMENT_ADDRESS_INFO), + "::", + stringify!(NumberOfElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_READ_ELEMENT_ADDRESS_INFO), + "::", + stringify!(ElementStatus) + ) + ); +} +pub type READ_ELEMENT_ADDRESS_INFO = _READ_ELEMENT_ADDRESS_INFO; +pub type PREAD_ELEMENT_ADDRESS_INFO = *mut _READ_ELEMENT_ADDRESS_INFO; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemNone: _CHANGER_DEVICE_PROBLEM_TYPE = 0; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemHardware: _CHANGER_DEVICE_PROBLEM_TYPE = 1; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMError: _CHANGER_DEVICE_PROBLEM_TYPE = 2; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemDoorOpen: _CHANGER_DEVICE_PROBLEM_TYPE = 3; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCalibrationError: _CHANGER_DEVICE_PROBLEM_TYPE = + 4; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemTargetFailure: _CHANGER_DEVICE_PROBLEM_TYPE = 5; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMMoveError: _CHANGER_DEVICE_PROBLEM_TYPE = 6; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMZeroError: _CHANGER_DEVICE_PROBLEM_TYPE = 7; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCartridgeInsertError: + _CHANGER_DEVICE_PROBLEM_TYPE = 8; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemPositionError: _CHANGER_DEVICE_PROBLEM_TYPE = 9; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemSensorError: _CHANGER_DEVICE_PROBLEM_TYPE = 10; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCartridgeEjectError: + _CHANGER_DEVICE_PROBLEM_TYPE = 11; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemGripperError: _CHANGER_DEVICE_PROBLEM_TYPE = 12; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemDriveError: _CHANGER_DEVICE_PROBLEM_TYPE = 13; +pub type _CHANGER_DEVICE_PROBLEM_TYPE = ::std::os::raw::c_int; +pub use self::_CHANGER_DEVICE_PROBLEM_TYPE as CHANGER_DEVICE_PROBLEM_TYPE; +pub type PCHANGER_DEVICE_PROBLEM_TYPE = *mut _CHANGER_DEVICE_PROBLEM_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PATHNAME_BUFFER { + pub PathNameLength: DWORD, + pub Name: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__PATHNAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_PATHNAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PATHNAME_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_PATHNAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_PATHNAME_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_PATHNAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PATHNAME_BUFFER), + "::", + stringify!(PathNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PATHNAME_BUFFER), + "::", + stringify!(Name) + ) + ); +} +pub type PATHNAME_BUFFER = _PATHNAME_BUFFER; +pub type PPATHNAME_BUFFER = *mut _PATHNAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_FAT_BPB_BUFFER { + pub First0x24BytesOfBootSector: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_FAT_BPB_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_FAT_BPB_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_FAT_BPB_BUFFER>(), + 36usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_FAT_BPB_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).First0x24BytesOfBootSector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER), + "::", + stringify!(First0x24BytesOfBootSector) + ) + ); +} +pub type FSCTL_QUERY_FAT_BPB_BUFFER = _FSCTL_QUERY_FAT_BPB_BUFFER; +pub type PFSCTL_QUERY_FAT_BPB_BUFFER = *mut _FSCTL_QUERY_FAT_BPB_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_VOLUME_DATA_BUFFER { + pub VolumeSerialNumber: LARGE_INTEGER, + pub NumberSectors: LARGE_INTEGER, + pub TotalClusters: LARGE_INTEGER, + pub FreeClusters: LARGE_INTEGER, + pub TotalReserved: LARGE_INTEGER, + pub BytesPerSector: DWORD, + pub BytesPerCluster: DWORD, + pub BytesPerFileRecordSegment: DWORD, + pub ClustersPerFileRecordSegment: DWORD, + pub MftValidDataLength: LARGE_INTEGER, + pub MftStartLcn: LARGE_INTEGER, + pub Mft2StartLcn: LARGE_INTEGER, + pub MftZoneStart: LARGE_INTEGER, + pub MftZoneEnd: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_NTFS_VOLUME_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(NTFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberSectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(NumberSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalClusters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeClusters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FreeClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalReserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCluster) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerFileRecordSegment) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerFileRecordSegment) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClustersPerFileRecordSegment) as usize - ptr as usize + }, + 52usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(ClustersPerFileRecordSegment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftValidDataLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftValidDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftStartLcn) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftStartLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2StartLcn) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(Mft2StartLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftZoneStart) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftZoneStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftZoneEnd) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftZoneEnd) + ) + ); +} +pub type PNTFS_VOLUME_DATA_BUFFER = *mut NTFS_VOLUME_DATA_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NTFS_EXTENDED_VOLUME_DATA { + pub ByteCount: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub BytesPerPhysicalSector: DWORD, + pub LfsMajorVersion: WORD, + pub LfsMinorVersion: WORD, + pub MaxDeviceTrimExtentCount: DWORD, + pub MaxDeviceTrimByteCount: DWORD, + pub MaxVolumeTrimExtentCount: DWORD, + pub MaxVolumeTrimByteCount: DWORD, +} +#[test] +fn bindgen_test_layout_NTFS_EXTENDED_VOLUME_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(NTFS_EXTENDED_VOLUME_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NTFS_EXTENDED_VOLUME_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LfsMajorVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(LfsMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LfsMinorVersion) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(LfsMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxDeviceTrimExtentCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxDeviceTrimExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxDeviceTrimByteCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxDeviceTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVolumeTrimExtentCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxVolumeTrimExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVolumeTrimByteCount) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxVolumeTrimByteCount) + ) + ); +} +pub type PNTFS_EXTENDED_VOLUME_DATA = *mut NTFS_EXTENDED_VOLUME_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct REFS_VOLUME_DATA_BUFFER { + pub ByteCount: DWORD, + pub MajorVersion: DWORD, + pub MinorVersion: DWORD, + pub BytesPerPhysicalSector: DWORD, + pub VolumeSerialNumber: LARGE_INTEGER, + pub NumberSectors: LARGE_INTEGER, + pub TotalClusters: LARGE_INTEGER, + pub FreeClusters: LARGE_INTEGER, + pub TotalReserved: LARGE_INTEGER, + pub BytesPerSector: DWORD, + pub BytesPerCluster: DWORD, + pub MaximumSizeOfResidentFile: LARGE_INTEGER, + pub FastTierDataFillRatio: WORD, + pub SlowTierDataFillRatio: WORD, + pub DestagesFastTierToSlowTierRate: DWORD, + pub Reserved: [LARGE_INTEGER; 9usize], +} +#[test] +fn bindgen_test_layout_REFS_VOLUME_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(REFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(REFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberSectors) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(NumberSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalClusters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeClusters) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FreeClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalReserved) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCluster) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSizeOfResidentFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MaximumSizeOfResidentFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FastTierDataFillRatio) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FastTierDataFillRatio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlowTierDataFillRatio) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(SlowTierDataFillRatio) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DestagesFastTierToSlowTierRate) as usize - ptr as usize + }, + 76usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(DestagesFastTierToSlowTierRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(Reserved) + ) + ); +} +pub type PREFS_VOLUME_DATA_BUFFER = *mut REFS_VOLUME_DATA_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_LCN_INPUT_BUFFER { + pub StartingLcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_STARTING_LCN_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STARTING_LCN_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_LCN_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER), + "::", + stringify!(StartingLcn) + ) + ); +} +pub type PSTARTING_LCN_INPUT_BUFFER = *mut STARTING_LCN_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_LCN_INPUT_BUFFER_EX { + pub StartingLcn: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout_STARTING_LCN_INPUT_BUFFER_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(STARTING_LCN_INPUT_BUFFER_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_LCN_INPUT_BUFFER_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER_EX), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type PSTARTING_LCN_INPUT_BUFFER_EX = *mut STARTING_LCN_INPUT_BUFFER_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct VOLUME_BITMAP_BUFFER { + pub StartingLcn: LARGE_INTEGER, + pub BitmapSize: LARGE_INTEGER, + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_VOLUME_BITMAP_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(VOLUME_BITMAP_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(VOLUME_BITMAP_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(BitmapSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(Buffer) + ) + ); +} +pub type PVOLUME_BITMAP_BUFFER = *mut VOLUME_BITMAP_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_VCN_INPUT_BUFFER { + pub StartingVcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_STARTING_VCN_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STARTING_VCN_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_VCN_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_VCN_INPUT_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); +} +pub type PSTARTING_VCN_INPUT_BUFFER = *mut STARTING_VCN_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_BUFFER { + pub ExtentCount: DWORD, + pub StartingVcn: LARGE_INTEGER, + pub Extents: [RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1 { + pub NextVcn: LARGE_INTEGER, + pub Lcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), + "::", + stringify!(NextVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), + "::", + stringify!(Lcn) + ) + ); +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(RETRIEVAL_POINTERS_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RETRIEVAL_POINTERS_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(ExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(Extents) + ) + ); +} +pub type PRETRIEVAL_POINTERS_BUFFER = *mut RETRIEVAL_POINTERS_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER { + pub ExtentCount: DWORD, + pub StartingVcn: LARGE_INTEGER, + pub Extents: [RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1 { + pub NextVcn: LARGE_INTEGER, + pub Lcn: LARGE_INTEGER, + pub ReferenceCount: DWORD, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(NextVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(Lcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReferenceCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(ReferenceCount) + ) + ); +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(ExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(Extents) + ) + ); +} +pub type PRETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER = *mut RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RETRIEVAL_POINTER_COUNT { + pub ExtentCount: DWORD, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTER_COUNT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(RETRIEVAL_POINTER_COUNT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(RETRIEVAL_POINTER_COUNT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTER_COUNT), + "::", + stringify!(ExtentCount) + ) + ); +} +pub type PRETRIEVAL_POINTER_COUNT = *mut RETRIEVAL_POINTER_COUNT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_FILE_RECORD_INPUT_BUFFER { + pub FileReferenceNumber: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_NTFS_FILE_RECORD_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(NTFS_FILE_RECORD_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_FILE_RECORD_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_INPUT_BUFFER), + "::", + stringify!(FileReferenceNumber) + ) + ); +} +pub type PNTFS_FILE_RECORD_INPUT_BUFFER = *mut NTFS_FILE_RECORD_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_FILE_RECORD_OUTPUT_BUFFER { + pub FileReferenceNumber: LARGE_INTEGER, + pub FileRecordLength: DWORD, + pub FileRecordBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_NTFS_FILE_RECORD_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRecordLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileRecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRecordBuffer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileRecordBuffer) + ) + ); +} +pub type PNTFS_FILE_RECORD_OUTPUT_BUFFER = *mut NTFS_FILE_RECORD_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MOVE_FILE_DATA { + pub FileHandle: HANDLE, + pub StartingVcn: LARGE_INTEGER, + pub StartingLcn: LARGE_INTEGER, + pub ClusterCount: DWORD, +} +#[test] +fn bindgen_test_layout_MOVE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(MOVE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MOVE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type PMOVE_FILE_DATA = *mut MOVE_FILE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MOVE_FILE_RECORD_DATA { + pub FileHandle: HANDLE, + pub SourceFileRecord: LARGE_INTEGER, + pub TargetFileRecord: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_MOVE_FILE_RECORD_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(MOVE_FILE_RECORD_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MOVE_FILE_RECORD_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(SourceFileRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileRecord) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(TargetFileRecord) + ) + ); +} +pub type PMOVE_FILE_RECORD_DATA = *mut MOVE_FILE_RECORD_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MOVE_FILE_DATA32 { + pub FileHandle: UINT32, + pub StartingVcn: LARGE_INTEGER, + pub StartingLcn: LARGE_INTEGER, + pub ClusterCount: DWORD, +} +#[test] +fn bindgen_test_layout__MOVE_FILE_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_MOVE_FILE_DATA32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MOVE_FILE_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_MOVE_FILE_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_MOVE_FILE_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_MOVE_FILE_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type MOVE_FILE_DATA32 = _MOVE_FILE_DATA32; +pub type PMOVE_FILE_DATA32 = *mut _MOVE_FILE_DATA32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FIND_BY_SID_DATA { + pub Restart: DWORD, + pub Sid: SID, +} +#[test] +fn bindgen_test_layout_FIND_BY_SID_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FIND_BY_SID_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(FIND_BY_SID_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Restart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_DATA), + "::", + stringify!(Restart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_DATA), + "::", + stringify!(Sid) + ) + ); +} +pub type PFIND_BY_SID_DATA = *mut FIND_BY_SID_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FIND_BY_SID_OUTPUT { + pub NextEntryOffset: DWORD, + pub FileIndex: DWORD, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_FIND_BY_SID_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FIND_BY_SID_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(FIND_BY_SID_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileName) + ) + ); +} +pub type PFIND_BY_SID_OUTPUT = *mut FIND_BY_SID_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MFT_ENUM_DATA_V0 { + pub StartFileReferenceNumber: DWORDLONG, + pub LowUsn: USN, + pub HighUsn: USN, +} +#[test] +fn bindgen_test_layout_MFT_ENUM_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(MFT_ENUM_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MFT_ENUM_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(StartFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(LowUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(HighUsn) + ) + ); +} +pub type PMFT_ENUM_DATA_V0 = *mut MFT_ENUM_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MFT_ENUM_DATA_V1 { + pub StartFileReferenceNumber: DWORDLONG, + pub LowUsn: USN, + pub HighUsn: USN, + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_MFT_ENUM_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(MFT_ENUM_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MFT_ENUM_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(StartFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(LowUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(HighUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PMFT_ENUM_DATA_V1 = *mut MFT_ENUM_DATA_V1; +pub type MFT_ENUM_DATA = MFT_ENUM_DATA_V1; +pub type PMFT_ENUM_DATA = *mut MFT_ENUM_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CREATE_USN_JOURNAL_DATA { + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, +} +#[test] +fn bindgen_test_layout_CREATE_USN_JOURNAL_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(CREATE_USN_JOURNAL_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(CREATE_USN_JOURNAL_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CREATE_USN_JOURNAL_DATA), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(CREATE_USN_JOURNAL_DATA), + "::", + stringify!(AllocationDelta) + ) + ); +} +pub type PCREATE_USN_JOURNAL_DATA = *mut CREATE_USN_JOURNAL_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_FILE_USN_DATA { + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_READ_FILE_USN_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(READ_FILE_USN_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(READ_FILE_USN_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_FILE_USN_DATA), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(READ_FILE_USN_DATA), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PREAD_FILE_USN_DATA = *mut READ_FILE_USN_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_USN_JOURNAL_DATA_V0 { + pub StartUsn: USN, + pub ReasonMask: DWORD, + pub ReturnOnlyOnClose: DWORD, + pub Timeout: DWORDLONG, + pub BytesToWaitFor: DWORDLONG, + pub UsnJournalID: DWORDLONG, +} +#[test] +fn bindgen_test_layout_READ_USN_JOURNAL_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(READ_USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(READ_USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartUsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(StartUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(ReasonMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnOnlyOnClose) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(ReturnOnlyOnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToWaitFor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(BytesToWaitFor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(UsnJournalID) + ) + ); +} +pub type PREAD_USN_JOURNAL_DATA_V0 = *mut READ_USN_JOURNAL_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_USN_JOURNAL_DATA_V1 { + pub StartUsn: USN, + pub ReasonMask: DWORD, + pub ReturnOnlyOnClose: DWORD, + pub Timeout: DWORDLONG, + pub BytesToWaitFor: DWORDLONG, + pub UsnJournalID: DWORDLONG, + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_READ_USN_JOURNAL_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(READ_USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(READ_USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartUsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(StartUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(ReasonMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnOnlyOnClose) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(ReturnOnlyOnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToWaitFor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(BytesToWaitFor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PREAD_USN_JOURNAL_DATA_V1 = *mut READ_USN_JOURNAL_DATA_V1; +pub type READ_USN_JOURNAL_DATA = READ_USN_JOURNAL_DATA_V1; +pub type PREAD_USN_JOURNAL_DATA = *mut READ_USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_TRACK_MODIFIED_RANGES { + pub Flags: DWORD, + pub Unused: DWORD, + pub ChunkSize: DWORDLONG, + pub FileSizeThreshold: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_TRACK_MODIFIED_RANGES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(USN_TRACK_MODIFIED_RANGES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_TRACK_MODIFIED_RANGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(Unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(ChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSizeThreshold) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(FileSizeThreshold) + ) + ); +} +pub type PUSN_TRACK_MODIFIED_RANGES = *mut USN_TRACK_MODIFIED_RANGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RANGE_TRACK_OUTPUT { + pub Usn: USN, +} +#[test] +fn bindgen_test_layout_USN_RANGE_TRACK_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(USN_RANGE_TRACK_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RANGE_TRACK_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RANGE_TRACK_OUTPUT), + "::", + stringify!(Usn) + ) + ); +} +pub type PUSN_RANGE_TRACK_OUTPUT = *mut USN_RANGE_TRACK_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct USN_RECORD_V2 { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub FileReferenceNumber: DWORDLONG, + pub ParentFileReferenceNumber: DWORDLONG, + pub Usn: USN, + pub TimeStamp: LARGE_INTEGER, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub SecurityId: DWORD, + pub FileAttributes: DWORD, + pub FileNameLength: WORD, + pub FileNameOffset: WORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(USN_RECORD_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameOffset) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileName) + ) + ); +} +pub type PUSN_RECORD_V2 = *mut USN_RECORD_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct USN_RECORD_V3 { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub FileReferenceNumber: FILE_ID_128, + pub ParentFileReferenceNumber: FILE_ID_128, + pub Usn: USN, + pub TimeStamp: LARGE_INTEGER, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub SecurityId: DWORD, + pub FileAttributes: DWORD, + pub FileNameLength: WORD, + pub FileNameOffset: WORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_V3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameOffset) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileName) + ) + ); +} +pub type PUSN_RECORD_V3 = *mut USN_RECORD_V3; +pub type USN_RECORD = USN_RECORD_V2; +pub type PUSN_RECORD = *mut USN_RECORD_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_COMMON_HEADER { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, +} +#[test] +fn bindgen_test_layout_USN_RECORD_COMMON_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(USN_RECORD_COMMON_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(USN_RECORD_COMMON_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type PUSN_RECORD_COMMON_HEADER = *mut USN_RECORD_COMMON_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_EXTENT { + pub Offset: LONGLONG, + pub Length: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_RECORD_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(USN_RECORD_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_EXTENT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_EXTENT), + "::", + stringify!(Length) + ) + ); +} +pub type PUSN_RECORD_EXTENT = *mut USN_RECORD_EXTENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_V4 { + pub Header: USN_RECORD_COMMON_HEADER, + pub FileReferenceNumber: FILE_ID_128, + pub ParentFileReferenceNumber: FILE_ID_128, + pub Usn: USN, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub RemainingExtents: DWORD, + pub NumberOfExtents: WORD, + pub ExtentSize: WORD, + pub Extents: [USN_RECORD_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V4() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_V4)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemainingExtents) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(RemainingExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfExtents) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(NumberOfExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentSize) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(ExtentSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Extents) + ) + ); +} +pub type PUSN_RECORD_V4 = *mut USN_RECORD_V4; +#[repr(C)] +#[derive(Copy, Clone)] +pub union USN_RECORD_UNION { + pub Header: USN_RECORD_COMMON_HEADER, + pub V2: USN_RECORD_V2, + pub V3: USN_RECORD_V3, + pub V4: USN_RECORD_V4, +} +#[test] +fn bindgen_test_layout_USN_RECORD_UNION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_UNION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V3) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V4) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V4) + ) + ); +} +pub type PUSN_RECORD_UNION = *mut USN_RECORD_UNION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V0 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(AllocationDelta) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V0 = *mut USN_JOURNAL_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V1 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, + pub MinSupportedMajorVersion: WORD, + pub MaxSupportedMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(AllocationDelta) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSupportedMajorVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MinSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSupportedMajorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxSupportedMajorVersion) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V1 = *mut USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V2 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, + pub MinSupportedMajorVersion: WORD, + pub MaxSupportedMajorVersion: WORD, + pub Flags: DWORD, + pub RangeTrackChunkSize: DWORDLONG, + pub RangeTrackFileSizeThreshold: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(AllocationDelta) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSupportedMajorVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MinSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSupportedMajorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaxSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RangeTrackChunkSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(RangeTrackChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RangeTrackFileSizeThreshold) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(RangeTrackFileSizeThreshold) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V2 = *mut USN_JOURNAL_DATA_V2; +pub type USN_JOURNAL_DATA = USN_JOURNAL_DATA_V1; +pub type PUSN_JOURNAL_DATA = *mut USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DELETE_USN_JOURNAL_DATA { + pub UsnJournalID: DWORDLONG, + pub DeleteFlags: DWORD, +} +#[test] +fn bindgen_test_layout_DELETE_USN_JOURNAL_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(DELETE_USN_JOURNAL_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DELETE_USN_JOURNAL_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DELETE_USN_JOURNAL_DATA), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DELETE_USN_JOURNAL_DATA), + "::", + stringify!(DeleteFlags) + ) + ); +} +pub type PDELETE_USN_JOURNAL_DATA = *mut DELETE_USN_JOURNAL_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MARK_HANDLE_INFO { + pub __bindgen_anon_1: _MARK_HANDLE_INFO__bindgen_ty_1, + pub VolumeHandle: HANDLE, + pub HandleInfo: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _MARK_HANDLE_INFO__bindgen_ty_1 { + pub UsnSourceInfo: DWORD, + pub CopyNumber: DWORD, +} +#[test] +fn bindgen_test_layout__MARK_HANDLE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_MARK_HANDLE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MARK_HANDLE_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_MARK_HANDLE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_MARK_HANDLE_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_MARK_HANDLE_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnSourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO__bindgen_ty_1), + "::", + stringify!(UsnSourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO__bindgen_ty_1), + "::", + stringify!(CopyNumber) + ) + ); +} +#[test] +fn bindgen_test_layout__MARK_HANDLE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MARK_HANDLE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MARK_HANDLE_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_MARK_HANDLE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MARK_HANDLE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MARK_HANDLE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO), + "::", + stringify!(VolumeHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO), + "::", + stringify!(HandleInfo) + ) + ); +} +pub type MARK_HANDLE_INFO = _MARK_HANDLE_INFO; +pub type PMARK_HANDLE_INFO = *mut _MARK_HANDLE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MARK_HANDLE_INFO32 { + pub __bindgen_anon_1: _MARK_HANDLE_INFO32__bindgen_ty_1, + pub VolumeHandle: UINT32, + pub HandleInfo: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _MARK_HANDLE_INFO32__bindgen_ty_1 { + pub UsnSourceInfo: DWORD, + pub CopyNumber: DWORD, +} +#[test] +fn bindgen_test_layout__MARK_HANDLE_INFO32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_MARK_HANDLE_INFO32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MARK_HANDLE_INFO32__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_MARK_HANDLE_INFO32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_MARK_HANDLE_INFO32__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_MARK_HANDLE_INFO32__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnSourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO32__bindgen_ty_1), + "::", + stringify!(UsnSourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO32__bindgen_ty_1), + "::", + stringify!(CopyNumber) + ) + ); +} +#[test] +fn bindgen_test_layout__MARK_HANDLE_INFO32() { + const UNINIT: ::std::mem::MaybeUninit<_MARK_HANDLE_INFO32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MARK_HANDLE_INFO32>(), + 12usize, + concat!("Size of: ", stringify!(_MARK_HANDLE_INFO32)) + ); + assert_eq!( + ::std::mem::align_of::<_MARK_HANDLE_INFO32>(), + 4usize, + concat!("Alignment of ", stringify!(_MARK_HANDLE_INFO32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeHandle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO32), + "::", + stringify!(VolumeHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MARK_HANDLE_INFO32), + "::", + stringify!(HandleInfo) + ) + ); +} +pub type MARK_HANDLE_INFO32 = _MARK_HANDLE_INFO32; +pub type PMARK_HANDLE_INFO32 = *mut _MARK_HANDLE_INFO32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BULK_SECURITY_TEST_DATA { + pub DesiredAccess: ACCESS_MASK, + pub SecurityIds: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_BULK_SECURITY_TEST_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(BULK_SECURITY_TEST_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BULK_SECURITY_TEST_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BULK_SECURITY_TEST_DATA), + "::", + stringify!(DesiredAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityIds) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BULK_SECURITY_TEST_DATA), + "::", + stringify!(SecurityIds) + ) + ); +} +pub type PBULK_SECURITY_TEST_DATA = *mut BULK_SECURITY_TEST_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PREFETCH { + pub Type: DWORD, + pub Count: DWORD, + pub Prefetch: [DWORDLONG; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_PREFETCH() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PREFETCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PREFETCH>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_PREFETCH)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PREFETCH>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_PREFETCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prefetch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Prefetch) + ) + ); +} +pub type FILE_PREFETCH = _FILE_PREFETCH; +pub type PFILE_PREFETCH = *mut _FILE_PREFETCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PREFETCH_EX { + pub Type: DWORD, + pub Count: DWORD, + pub Context: PVOID, + pub Prefetch: [DWORDLONG; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_PREFETCH_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PREFETCH_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PREFETCH_EX>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_PREFETCH_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PREFETCH_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_PREFETCH_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Context) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prefetch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Prefetch) + ) + ); +} +pub type FILE_PREFETCH_EX = _FILE_PREFETCH_EX; +pub type PFILE_PREFETCH_EX = *mut _FILE_PREFETCH_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILESYSTEM_STATISTICS { + pub FileSystemType: WORD, + pub Version: WORD, + pub SizeOfCompleteStructure: DWORD, + pub UserFileReads: DWORD, + pub UserFileReadBytes: DWORD, + pub UserDiskReads: DWORD, + pub UserFileWrites: DWORD, + pub UserFileWriteBytes: DWORD, + pub UserDiskWrites: DWORD, + pub MetaDataReads: DWORD, + pub MetaDataReadBytes: DWORD, + pub MetaDataDiskReads: DWORD, + pub MetaDataWrites: DWORD, + pub MetaDataWriteBytes: DWORD, + pub MetaDataDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__FILESYSTEM_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_FILESYSTEM_STATISTICS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILESYSTEM_STATISTICS>(), + 56usize, + concat!("Size of: ", stringify!(_FILESYSTEM_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_FILESYSTEM_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_FILESYSTEM_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystemType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(FileSystemType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCompleteStructure) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(SizeOfCompleteStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReadBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskReads) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskWrites) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserDiskWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReads) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReadBytes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskReads) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWrites) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWriteBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskWrites) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataDiskWrites) + ) + ); +} +pub type FILESYSTEM_STATISTICS = _FILESYSTEM_STATISTICS; +pub type PFILESYSTEM_STATISTICS = *mut _FILESYSTEM_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FAT_STATISTICS { + pub CreateHits: DWORD, + pub SuccessfulCreates: DWORD, + pub FailedCreates: DWORD, + pub NonCachedReads: DWORD, + pub NonCachedReadBytes: DWORD, + pub NonCachedWrites: DWORD, + pub NonCachedWriteBytes: DWORD, + pub NonCachedDiskReads: DWORD, + pub NonCachedDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__FAT_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_FAT_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FAT_STATISTICS>(), + 36usize, + concat!("Size of: ", stringify!(_FAT_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_FAT_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_FAT_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateHits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(CreateHits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuccessfulCreates) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(SuccessfulCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedCreates) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(FailedCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReads) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskReads) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedDiskWrites) + ) + ); +} +pub type FAT_STATISTICS = _FAT_STATISTICS; +pub type PFAT_STATISTICS = *mut _FAT_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXFAT_STATISTICS { + pub CreateHits: DWORD, + pub SuccessfulCreates: DWORD, + pub FailedCreates: DWORD, + pub NonCachedReads: DWORD, + pub NonCachedReadBytes: DWORD, + pub NonCachedWrites: DWORD, + pub NonCachedWriteBytes: DWORD, + pub NonCachedDiskReads: DWORD, + pub NonCachedDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__EXFAT_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_EXFAT_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXFAT_STATISTICS>(), + 36usize, + concat!("Size of: ", stringify!(_EXFAT_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_EXFAT_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_EXFAT_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateHits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(CreateHits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuccessfulCreates) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(SuccessfulCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedCreates) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(FailedCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReads) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskReads) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedDiskWrites) + ) + ); +} +pub type EXFAT_STATISTICS = _EXFAT_STATISTICS; +pub type PEXFAT_STATISTICS = *mut _EXFAT_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS { + pub LogFileFullExceptions: DWORD, + pub OtherExceptions: DWORD, + pub MftReads: DWORD, + pub MftReadBytes: DWORD, + pub MftWrites: DWORD, + pub MftWriteBytes: DWORD, + pub MftWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_1, + pub MftWritesFlushForLogFileFull: WORD, + pub MftWritesLazyWriter: WORD, + pub MftWritesUserRequest: WORD, + pub Mft2Writes: DWORD, + pub Mft2WriteBytes: DWORD, + pub Mft2WritesUserLevel: _NTFS_STATISTICS__bindgen_ty_2, + pub Mft2WritesFlushForLogFileFull: WORD, + pub Mft2WritesLazyWriter: WORD, + pub Mft2WritesUserRequest: WORD, + pub RootIndexReads: DWORD, + pub RootIndexReadBytes: DWORD, + pub RootIndexWrites: DWORD, + pub RootIndexWriteBytes: DWORD, + pub BitmapReads: DWORD, + pub BitmapReadBytes: DWORD, + pub BitmapWrites: DWORD, + pub BitmapWriteBytes: DWORD, + pub BitmapWritesFlushForLogFileFull: WORD, + pub BitmapWritesLazyWriter: WORD, + pub BitmapWritesUserRequest: WORD, + pub BitmapWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_3, + pub MftBitmapReads: DWORD, + pub MftBitmapReadBytes: DWORD, + pub MftBitmapWrites: DWORD, + pub MftBitmapWriteBytes: DWORD, + pub MftBitmapWritesFlushForLogFileFull: WORD, + pub MftBitmapWritesLazyWriter: WORD, + pub MftBitmapWritesUserRequest: WORD, + pub MftBitmapWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_4, + pub UserIndexReads: DWORD, + pub UserIndexReadBytes: DWORD, + pub UserIndexWrites: DWORD, + pub UserIndexWriteBytes: DWORD, + pub LogFileReads: DWORD, + pub LogFileReadBytes: DWORD, + pub LogFileWrites: DWORD, + pub LogFileWriteBytes: DWORD, + pub Allocate: _NTFS_STATISTICS__bindgen_ty_5, + pub DiskResourcesExhausted: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_1 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_2 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_2>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_3 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_3>(), + 6usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_3>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(SetInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_4 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_4>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_5 { + pub Calls: DWORD, + pub Clusters: DWORD, + pub Hints: DWORD, + pub RunsReturned: DWORD, + pub HintsHonored: DWORD, + pub HintsClusters: DWORD, + pub Cache: DWORD, + pub CacheClusters: DWORD, + pub CacheMiss: DWORD, + pub CacheMissClusters: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_5>(), + 40usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_5>(), + 4usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_5)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Calls) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Calls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clusters) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Clusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hints) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Hints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunsReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(RunsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsHonored) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(HintsHonored) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsClusters) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(HintsClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheClusters) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMiss) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheMiss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMissClusters) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheMissClusters) + ) + ); +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS>(), + 216usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileFullExceptions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileFullExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherExceptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(OtherExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReadBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWrites) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWriteBytes) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserLevel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftWritesFlushForLogFileFull) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesLazyWriter) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserRequest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2Writes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2Writes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WriteBytes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserLevel) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Mft2WritesFlushForLogFileFull) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesLazyWriter) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserRequest) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReads) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReadBytes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWrites) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWriteBytes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReads) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReadBytes) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWrites) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWriteBytes) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesLazyWriter) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserRequest) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserLevel) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReads) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReadBytes) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWrites) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWriteBytes) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftBitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesLazyWriter) as usize - ptr as usize }, + 126usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserRequest) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserLevel) as usize - ptr as usize }, + 130usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReads) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReadBytes) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWrites) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWriteBytes) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReads) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReadBytes) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWrites) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWriteBytes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Allocate) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Allocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskResourcesExhausted) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(DiskResourcesExhausted) + ) + ); +} +pub type NTFS_STATISTICS = _NTFS_STATISTICS; +pub type PNTFS_STATISTICS = *mut _NTFS_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILESYSTEM_STATISTICS_EX { + pub FileSystemType: WORD, + pub Version: WORD, + pub SizeOfCompleteStructure: DWORD, + pub UserFileReads: DWORDLONG, + pub UserFileReadBytes: DWORDLONG, + pub UserDiskReads: DWORDLONG, + pub UserFileWrites: DWORDLONG, + pub UserFileWriteBytes: DWORDLONG, + pub UserDiskWrites: DWORDLONG, + pub MetaDataReads: DWORDLONG, + pub MetaDataReadBytes: DWORDLONG, + pub MetaDataDiskReads: DWORDLONG, + pub MetaDataWrites: DWORDLONG, + pub MetaDataWriteBytes: DWORDLONG, + pub MetaDataDiskWrites: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILESYSTEM_STATISTICS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILESYSTEM_STATISTICS_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILESYSTEM_STATISTICS_EX>(), + 104usize, + concat!("Size of: ", stringify!(_FILESYSTEM_STATISTICS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILESYSTEM_STATISTICS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILESYSTEM_STATISTICS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystemType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(FileSystemType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCompleteStructure) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(SizeOfCompleteStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskReads) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWriteBytes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskWrites) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserDiskWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReads) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReadBytes) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskReads) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWrites) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWriteBytes) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskWrites) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataDiskWrites) + ) + ); +} +pub type FILESYSTEM_STATISTICS_EX = _FILESYSTEM_STATISTICS_EX; +pub type PFILESYSTEM_STATISTICS_EX = *mut _FILESYSTEM_STATISTICS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX { + pub LogFileFullExceptions: DWORD, + pub OtherExceptions: DWORD, + pub MftReads: DWORDLONG, + pub MftReadBytes: DWORDLONG, + pub MftWrites: DWORDLONG, + pub MftWriteBytes: DWORDLONG, + pub MftWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_1, + pub MftWritesFlushForLogFileFull: DWORD, + pub MftWritesLazyWriter: DWORD, + pub MftWritesUserRequest: DWORD, + pub Mft2Writes: DWORDLONG, + pub Mft2WriteBytes: DWORDLONG, + pub Mft2WritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_2, + pub Mft2WritesFlushForLogFileFull: DWORD, + pub Mft2WritesLazyWriter: DWORD, + pub Mft2WritesUserRequest: DWORD, + pub RootIndexReads: DWORDLONG, + pub RootIndexReadBytes: DWORDLONG, + pub RootIndexWrites: DWORDLONG, + pub RootIndexWriteBytes: DWORDLONG, + pub BitmapReads: DWORDLONG, + pub BitmapReadBytes: DWORDLONG, + pub BitmapWrites: DWORDLONG, + pub BitmapWriteBytes: DWORDLONG, + pub BitmapWritesFlushForLogFileFull: DWORD, + pub BitmapWritesLazyWriter: DWORD, + pub BitmapWritesUserRequest: DWORD, + pub BitmapWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_3, + pub MftBitmapReads: DWORDLONG, + pub MftBitmapReadBytes: DWORDLONG, + pub MftBitmapWrites: DWORDLONG, + pub MftBitmapWriteBytes: DWORDLONG, + pub MftBitmapWritesFlushForLogFileFull: DWORD, + pub MftBitmapWritesLazyWriter: DWORD, + pub MftBitmapWritesUserRequest: DWORD, + pub MftBitmapWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_4, + pub UserIndexReads: DWORDLONG, + pub UserIndexReadBytes: DWORDLONG, + pub UserIndexWrites: DWORDLONG, + pub UserIndexWriteBytes: DWORDLONG, + pub LogFileReads: DWORDLONG, + pub LogFileReadBytes: DWORDLONG, + pub LogFileWrites: DWORDLONG, + pub LogFileWriteBytes: DWORDLONG, + pub Allocate: _NTFS_STATISTICS_EX__bindgen_ty_5, + pub DiskResourcesExhausted: DWORD, + pub VolumeTrimCount: DWORDLONG, + pub VolumeTrimTime: DWORDLONG, + pub VolumeTrimByteCount: DWORDLONG, + pub FileLevelTrimCount: DWORDLONG, + pub FileLevelTrimTime: DWORDLONG, + pub FileLevelTrimByteCount: DWORDLONG, + pub VolumeTrimSkippedCount: DWORDLONG, + pub VolumeTrimSkippedByteCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordCalledCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: DWORDLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_1 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_2 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_2>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_3 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_3>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_3>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_4 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_4>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_4>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_5 { + pub Calls: DWORD, + pub RunsReturned: DWORD, + pub Hints: DWORD, + pub HintsHonored: DWORD, + pub Cache: DWORD, + pub CacheMiss: DWORD, + pub Clusters: DWORDLONG, + pub HintsClusters: DWORDLONG, + pub CacheClusters: DWORDLONG, + pub CacheMissClusters: DWORDLONG, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_5>(), + 56usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Calls) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Calls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunsReturned) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(RunsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hints) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Hints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsHonored) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(HintsHonored) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMiss) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheMiss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clusters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Clusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsClusters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(HintsClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheClusters) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMissClusters) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheMissClusters) + ) + ); +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX>(), + 496usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileFullExceptions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileFullExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherExceptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(OtherExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWrites) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWriteBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftWritesFlushForLogFileFull) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesLazyWriter) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserRequest) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2Writes) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2Writes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WriteBytes) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserLevel) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Mft2WritesFlushForLogFileFull) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesLazyWriter) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserRequest) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReads) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReadBytes) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWrites) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWriteBytes) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReads) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReadBytes) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWrites) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWriteBytes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesLazyWriter) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserRequest) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserLevel) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReads) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReadBytes) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWrites) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWriteBytes) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftBitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesLazyWriter) as usize - ptr as usize }, + 252usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserRequest) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserLevel) as usize - ptr as usize }, + 260usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReads) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReadBytes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWrites) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWriteBytes) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReads) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReadBytes) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWrites) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWriteBytes) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Allocate) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Allocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskResourcesExhausted) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(DiskResourcesExhausted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimCount) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimTime) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimByteCount) as usize - ptr as usize }, + 424usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimCount) as usize - ptr as usize }, + 432usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimTime) as usize - ptr as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimByteCount) as usize - ptr as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimSkippedCount) as usize - ptr as usize }, + 456usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimSkippedCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimSkippedByteCount) as usize - ptr as usize }, + 464usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimSkippedByteCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NtfsFillStatInfoFromMftRecordCalledCount) as usize + - ptr as usize + }, + 472usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordCalledCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount + ) as usize + - ptr as usize + }, + 480usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount + ) as usize + - ptr as usize + }, + 488usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount) + ) + ); +} +pub type NTFS_STATISTICS_EX = _NTFS_STATISTICS_EX; +pub type PNTFS_STATISTICS_EX = *mut _NTFS_STATISTICS_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_OBJECTID_BUFFER { + pub ObjectId: [BYTE; 16usize], + pub __bindgen_anon_1: _FILE_OBJECTID_BUFFER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_OBJECTID_BUFFER__bindgen_ty_1 { + pub __bindgen_anon_1: _FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1, + pub ExtendedInfo: [BYTE; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1 { + pub BirthVolumeId: [BYTE; 16usize], + pub BirthObjectId: [BYTE; 16usize], + pub DomainId: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BirthVolumeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BirthVolumeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BirthObjectId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BirthObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DomainId) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1>(), + 48usize, + concat!("Size of: ", stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1), + "::", + stringify!(ExtendedInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER>(), + 64usize, + concat!("Size of: ", stringify!(_FILE_OBJECTID_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_OBJECTID_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER), + "::", + stringify!(ObjectId) + ) + ); +} +pub type FILE_OBJECTID_BUFFER = _FILE_OBJECTID_BUFFER; +pub type PFILE_OBJECTID_BUFFER = *mut _FILE_OBJECTID_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SET_SPARSE_BUFFER { + pub SetSparse: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_SET_SPARSE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SET_SPARSE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SET_SPARSE_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_SET_SPARSE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SET_SPARSE_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_SET_SPARSE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSparse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SET_SPARSE_BUFFER), + "::", + stringify!(SetSparse) + ) + ); +} +pub type FILE_SET_SPARSE_BUFFER = _FILE_SET_SPARSE_BUFFER; +pub type PFILE_SET_SPARSE_BUFFER = *mut _FILE_SET_SPARSE_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ZERO_DATA_INFORMATION { + pub FileOffset: LARGE_INTEGER, + pub BeyondFinalZero: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ZERO_DATA_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ZERO_DATA_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ZERO_DATA_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ZERO_DATA_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ZERO_DATA_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ZERO_DATA_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeyondFinalZero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION), + "::", + stringify!(BeyondFinalZero) + ) + ); +} +pub type FILE_ZERO_DATA_INFORMATION = _FILE_ZERO_DATA_INFORMATION; +pub type PFILE_ZERO_DATA_INFORMATION = *mut _FILE_ZERO_DATA_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ZERO_DATA_INFORMATION_EX { + pub FileOffset: LARGE_INTEGER, + pub BeyondFinalZero: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_ZERO_DATA_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ZERO_DATA_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ZERO_DATA_INFORMATION_EX>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ZERO_DATA_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeyondFinalZero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(BeyondFinalZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_ZERO_DATA_INFORMATION_EX = _FILE_ZERO_DATA_INFORMATION_EX; +pub type PFILE_ZERO_DATA_INFORMATION_EX = *mut _FILE_ZERO_DATA_INFORMATION_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ALLOCATED_RANGE_BUFFER { + pub FileOffset: LARGE_INTEGER, + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ALLOCATED_RANGE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALLOCATED_RANGE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALLOCATED_RANGE_BUFFER>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ALLOCATED_RANGE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALLOCATED_RANGE_BUFFER>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ALLOCATED_RANGE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATED_RANGE_BUFFER), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATED_RANGE_BUFFER), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_ALLOCATED_RANGE_BUFFER = _FILE_ALLOCATED_RANGE_BUFFER; +pub type PFILE_ALLOCATED_RANGE_BUFFER = *mut _FILE_ALLOCATED_RANGE_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_BUFFER { + pub EncryptionOperation: DWORD, + pub Private: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__ENCRYPTION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_ENCRYPTION_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionOperation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_BUFFER), + "::", + stringify!(EncryptionOperation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Private) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_BUFFER), + "::", + stringify!(Private) + ) + ); +} +pub type ENCRYPTION_BUFFER = _ENCRYPTION_BUFFER; +pub type PENCRYPTION_BUFFER = *mut _ENCRYPTION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DECRYPTION_STATUS_BUFFER { + pub NoEncryptedStreams: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DECRYPTION_STATUS_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_DECRYPTION_STATUS_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DECRYPTION_STATUS_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_DECRYPTION_STATUS_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_DECRYPTION_STATUS_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_DECRYPTION_STATUS_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoEncryptedStreams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DECRYPTION_STATUS_BUFFER), + "::", + stringify!(NoEncryptedStreams) + ) + ); +} +pub type DECRYPTION_STATUS_BUFFER = _DECRYPTION_STATUS_BUFFER; +pub type PDECRYPTION_STATUS_BUFFER = *mut _DECRYPTION_STATUS_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_RAW_ENCRYPTED_DATA { + pub FileOffset: LONGLONG, + pub Length: DWORD, +} +#[test] +fn bindgen_test_layout__REQUEST_RAW_ENCRYPTED_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_RAW_ENCRYPTED_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_RAW_ENCRYPTED_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_REQUEST_RAW_ENCRYPTED_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_RAW_ENCRYPTED_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_REQUEST_RAW_ENCRYPTED_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_RAW_ENCRYPTED_DATA), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_RAW_ENCRYPTED_DATA), + "::", + stringify!(Length) + ) + ); +} +pub type REQUEST_RAW_ENCRYPTED_DATA = _REQUEST_RAW_ENCRYPTED_DATA; +pub type PREQUEST_RAW_ENCRYPTED_DATA = *mut _REQUEST_RAW_ENCRYPTED_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTED_DATA_INFO { + pub StartingFileOffset: DWORDLONG, + pub OutputBufferOffset: DWORD, + pub BytesWithinFileSize: DWORD, + pub BytesWithinValidDataLength: DWORD, + pub CompressionFormat: WORD, + pub DataUnitShift: BYTE, + pub ChunkShift: BYTE, + pub ClusterShift: BYTE, + pub EncryptionFormat: BYTE, + pub NumberOfDataBlocks: WORD, + pub DataBlockSize: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__ENCRYPTED_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTED_DATA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTED_DATA_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTED_DATA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingFileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(StartingFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBufferOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(OutputBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWithinFileSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(BytesWithinFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWithinValidDataLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(BytesWithinValidDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataUnitShift) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(DataUnitShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkShift) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(ChunkShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterShift) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(ClusterShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionFormat) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(EncryptionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDataBlocks) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(NumberOfDataBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBlockSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(DataBlockSize) + ) + ); +} +pub type ENCRYPTED_DATA_INFO = _ENCRYPTED_DATA_INFO; +pub type PENCRYPTED_DATA_INFO = *mut _ENCRYPTED_DATA_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXTENDED_ENCRYPTED_DATA_INFO { + pub ExtendedCode: DWORD, + pub Length: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__EXTENDED_ENCRYPTED_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXTENDED_ENCRYPTED_DATA_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXTENDED_ENCRYPTED_DATA_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXTENDED_ENCRYPTED_DATA_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(ExtendedCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type EXTENDED_ENCRYPTED_DATA_INFO = _EXTENDED_ENCRYPTED_DATA_INFO; +pub type PEXTENDED_ENCRYPTED_DATA_INFO = *mut _EXTENDED_ENCRYPTED_DATA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PLEX_READ_DATA_REQUEST { + pub ByteOffset: LARGE_INTEGER, + pub ByteLength: DWORD, + pub PlexNumber: DWORD, +} +#[test] +fn bindgen_test_layout__PLEX_READ_DATA_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_PLEX_READ_DATA_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PLEX_READ_DATA_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_PLEX_READ_DATA_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_PLEX_READ_DATA_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_PLEX_READ_DATA_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(ByteOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PlexNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(PlexNumber) + ) + ); +} +pub type PLEX_READ_DATA_REQUEST = _PLEX_READ_DATA_REQUEST; +pub type PPLEX_READ_DATA_REQUEST = *mut _PLEX_READ_DATA_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SI_COPYFILE { + pub SourceFileNameLength: DWORD, + pub DestinationFileNameLength: DWORD, + pub Flags: DWORD, + pub FileNameBuffer: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SI_COPYFILE() { + const UNINIT: ::std::mem::MaybeUninit<_SI_COPYFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SI_COPYFILE>(), + 16usize, + concat!("Size of: ", stringify!(_SI_COPYFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_SI_COPYFILE>(), + 4usize, + concat!("Alignment of ", stringify!(_SI_COPYFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(SourceFileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestinationFileNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(DestinationFileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameBuffer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(FileNameBuffer) + ) + ); +} +pub type SI_COPYFILE = _SI_COPYFILE; +pub type PSI_COPYFILE = *mut _SI_COPYFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_MAKE_COMPATIBLE_BUFFER { + pub CloseDisc: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_MAKE_COMPATIBLE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_MAKE_COMPATIBLE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_MAKE_COMPATIBLE_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_MAKE_COMPATIBLE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_MAKE_COMPATIBLE_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_MAKE_COMPATIBLE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CloseDisc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_MAKE_COMPATIBLE_BUFFER), + "::", + stringify!(CloseDisc) + ) + ); +} +pub type FILE_MAKE_COMPATIBLE_BUFFER = _FILE_MAKE_COMPATIBLE_BUFFER; +pub type PFILE_MAKE_COMPATIBLE_BUFFER = *mut _FILE_MAKE_COMPATIBLE_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SET_DEFECT_MGMT_BUFFER { + pub Disable: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_SET_DEFECT_MGMT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SET_DEFECT_MGMT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SET_DEFECT_MGMT_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_SET_DEFECT_MGMT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SET_DEFECT_MGMT_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_SET_DEFECT_MGMT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SET_DEFECT_MGMT_BUFFER), + "::", + stringify!(Disable) + ) + ); +} +pub type FILE_SET_DEFECT_MGMT_BUFFER = _FILE_SET_DEFECT_MGMT_BUFFER; +pub type PFILE_SET_DEFECT_MGMT_BUFFER = *mut _FILE_SET_DEFECT_MGMT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_QUERY_SPARING_BUFFER { + pub SparingUnitBytes: DWORD, + pub SoftwareSparing: BOOLEAN, + pub TotalSpareBlocks: DWORD, + pub FreeSpareBlocks: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_QUERY_SPARING_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_QUERY_SPARING_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_QUERY_SPARING_BUFFER>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_QUERY_SPARING_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_QUERY_SPARING_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_QUERY_SPARING_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SparingUnitBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(SparingUnitBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftwareSparing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(SoftwareSparing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSpareBlocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(TotalSpareBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpareBlocks) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(FreeSpareBlocks) + ) + ); +} +pub type FILE_QUERY_SPARING_BUFFER = _FILE_QUERY_SPARING_BUFFER; +pub type PFILE_QUERY_SPARING_BUFFER = *mut _FILE_QUERY_SPARING_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER { + pub DirectoryCount: LARGE_INTEGER, + pub FileCount: LARGE_INTEGER, + pub FsFormatMajVersion: WORD, + pub FsFormatMinVersion: WORD, + pub FsFormatName: [WCHAR; 12usize], + pub FormatTime: LARGE_INTEGER, + pub LastUpdateTime: LARGE_INTEGER, + pub CopyrightInfo: [WCHAR; 34usize], + pub AbstractInfo: [WCHAR; 34usize], + pub FormattingImplementationInfo: [WCHAR; 34usize], + pub LastModifyingImplementationInfo: [WCHAR; 34usize], +} +#[test] +fn bindgen_test_layout__FILE_QUERY_ON_DISK_VOL_INFO_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>(), + 336usize, + concat!("Size of: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DirectoryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(DirectoryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FileCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatMajVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatMajVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatMinVersion) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatMinVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatTime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FormatTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastUpdateTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(LastUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyrightInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(CopyrightInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AbstractInfo) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(AbstractInfo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FormattingImplementationInfo) as usize - ptr as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FormattingImplementationInfo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).LastModifyingImplementationInfo) as usize - ptr as usize + }, + 268usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(LastModifyingImplementationInfo) + ) + ); +} +pub type FILE_QUERY_ON_DISK_VOL_INFO_BUFFER = _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER; +pub type PFILE_QUERY_ON_DISK_VOL_INFO_BUFFER = *mut _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER; +pub type CLSN = DWORDLONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_INITIATE_REPAIR_OUTPUT_BUFFER { + pub Hint1: DWORDLONG, + pub Hint2: DWORDLONG, + pub Clsn: CLSN, + pub Status: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_INITIATE_REPAIR_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Hint1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Hint2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Clsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Status) + ) + ); +} +pub type FILE_INITIATE_REPAIR_OUTPUT_BUFFER = _FILE_INITIATE_REPAIR_OUTPUT_BUFFER; +pub type PFILE_INITIATE_REPAIR_OUTPUT_BUFFER = *mut _FILE_INITIATE_REPAIR_OUTPUT_BUFFER; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkPrepare: _SHRINK_VOLUME_REQUEST_TYPES = 1; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkCommit: _SHRINK_VOLUME_REQUEST_TYPES = 2; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkAbort: _SHRINK_VOLUME_REQUEST_TYPES = 3; +pub type _SHRINK_VOLUME_REQUEST_TYPES = ::std::os::raw::c_int; +pub use self::_SHRINK_VOLUME_REQUEST_TYPES as SHRINK_VOLUME_REQUEST_TYPES; +pub type PSHRINK_VOLUME_REQUEST_TYPES = *mut _SHRINK_VOLUME_REQUEST_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHRINK_VOLUME_INFORMATION { + pub ShrinkRequestType: SHRINK_VOLUME_REQUEST_TYPES, + pub Flags: DWORDLONG, + pub NewNumberOfSectors: LONGLONG, +} +#[test] +fn bindgen_test_layout__SHRINK_VOLUME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SHRINK_VOLUME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHRINK_VOLUME_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_SHRINK_VOLUME_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SHRINK_VOLUME_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SHRINK_VOLUME_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShrinkRequestType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(ShrinkRequestType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewNumberOfSectors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(NewNumberOfSectors) + ) + ); +} +pub type SHRINK_VOLUME_INFORMATION = _SHRINK_VOLUME_INFORMATION; +pub type PSHRINK_VOLUME_INFORMATION = *mut _SHRINK_VOLUME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_MODIFY_RM { + pub Flags: DWORD, + pub LogContainerCountMax: DWORD, + pub LogContainerCountMin: DWORD, + pub LogContainerCount: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub Reserved: DWORDLONG, + pub LoggingMode: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_MODIFY_RM() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_MODIFY_RM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_MODIFY_RM>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_MODIFY_RM)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_MODIFY_RM>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_MODIFY_RM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LoggingMode) + ) + ); +} +pub type TXFS_MODIFY_RM = _TXFS_MODIFY_RM; +pub type PTXFS_MODIFY_RM = *mut _TXFS_MODIFY_RM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_QUERY_RM_INFORMATION { + pub BytesRequired: DWORD, + pub TailLsn: DWORDLONG, + pub CurrentLsn: DWORDLONG, + pub ArchiveTailLsn: DWORDLONG, + pub LogContainerSize: DWORDLONG, + pub HighestVirtualClock: LARGE_INTEGER, + pub LogContainerCount: DWORD, + pub LogContainerCountMax: DWORD, + pub LogContainerCountMin: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub Flags: DWORD, + pub LoggingMode: WORD, + pub Reserved: WORD, + pub RmState: DWORD, + pub LogCapacity: DWORDLONG, + pub LogFree: DWORDLONG, + pub TopsSize: DWORDLONG, + pub TopsUsed: DWORDLONG, + pub TransactionCount: DWORDLONG, + pub OnePCCount: DWORDLONG, + pub TwoPCCount: DWORDLONG, + pub NumberLogFileFull: DWORDLONG, + pub OldestTransactionAge: DWORDLONG, + pub RMName: GUID, + pub TmLogPathOffset: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_QUERY_RM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_QUERY_RM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_QUERY_RM_INFORMATION>(), + 176usize, + concat!("Size of: ", stringify!(_TXFS_QUERY_RM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_QUERY_RM_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_QUERY_RM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRequired) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(BytesRequired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TailLsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TailLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentLsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(CurrentLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArchiveTailLsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(ArchiveTailLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestVirtualClock) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(HighestVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LoggingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RmState) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(RmState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogCapacity) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFree) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopsSize) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TopsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopsUsed) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TopsUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionCount) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TransactionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnePCCount) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(OnePCCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TwoPCCount) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TwoPCCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberLogFileFull) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(NumberLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldestTransactionAge) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(OldestTransactionAge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RMName) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(RMName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathOffset) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TmLogPathOffset) + ) + ); +} +pub type TXFS_QUERY_RM_INFORMATION = _TXFS_QUERY_RM_INFORMATION; +pub type PTXFS_QUERY_RM_INFORMATION = *mut _TXFS_QUERY_RM_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_ROLLFORWARD_REDO_INFORMATION { + pub LastVirtualClock: LARGE_INTEGER, + pub LastRedoLsn: DWORDLONG, + pub HighestRecoveryLsn: DWORDLONG, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_ROLLFORWARD_REDO_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_ROLLFORWARD_REDO_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_ROLLFORWARD_REDO_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_ROLLFORWARD_REDO_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastVirtualClock) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(LastVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastRedoLsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(LastRedoLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestRecoveryLsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(HighestRecoveryLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type TXFS_ROLLFORWARD_REDO_INFORMATION = _TXFS_ROLLFORWARD_REDO_INFORMATION; +pub type PTXFS_ROLLFORWARD_REDO_INFORMATION = *mut _TXFS_ROLLFORWARD_REDO_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_START_RM_INFORMATION { + pub Flags: DWORD, + pub LogContainerSize: DWORDLONG, + pub LogContainerCountMin: DWORD, + pub LogContainerCountMax: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub TmLogPathOffset: DWORD, + pub TmLogPathLength: WORD, + pub LoggingMode: WORD, + pub LogPathLength: WORD, + pub Reserved: WORD, + pub LogPath: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_START_RM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_START_RM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_START_RM_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_TXFS_START_RM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_START_RM_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_START_RM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(TmLogPathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(TmLogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LoggingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPathLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPath) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogPath) + ) + ); +} +pub type TXFS_START_RM_INFORMATION = _TXFS_START_RM_INFORMATION; +pub type PTXFS_START_RM_INFORMATION = *mut _TXFS_START_RM_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_METADATA_INFO_OUT { + pub TxfFileId: _TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1, + pub LockingTransaction: GUID, + pub LastLsn: DWORDLONG, + pub TransactionState: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1 { + pub LowPart: LONGLONG, + pub HighPart: LONGLONG, +} +#[test] +fn bindgen_test_layout__TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1), + "::", + stringify!(HighPart) + ) + ); +} +#[test] +fn bindgen_test_layout__TXFS_GET_METADATA_INFO_OUT() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_METADATA_INFO_OUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_METADATA_INFO_OUT>(), + 48usize, + concat!("Size of: ", stringify!(_TXFS_GET_METADATA_INFO_OUT)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_METADATA_INFO_OUT>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_GET_METADATA_INFO_OUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TxfFileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(TxfFileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockingTransaction) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(LockingTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastLsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(LastLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionState) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(TransactionState) + ) + ); +} +pub type TXFS_GET_METADATA_INFO_OUT = _TXFS_GET_METADATA_INFO_OUT; +pub type PTXFS_GET_METADATA_INFO_OUT = *mut _TXFS_GET_METADATA_INFO_OUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY { + pub Offset: DWORDLONG, + pub NameFlags: DWORD, + pub FileId: LONGLONG, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: LONGLONG, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>(), + 48usize, + concat!( + "Size of: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(NameFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY = _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; +pub type PTXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY = *mut _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTION_LOCKED_FILES { + pub KtmTransaction: GUID, + pub NumberOfFiles: DWORDLONG, + pub BufferSizeRequired: DWORDLONG, + pub Offset: DWORDLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTION_LOCKED_FILES() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTION_LOCKED_FILES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KtmTransaction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(KtmTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFiles) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(NumberOfFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(BufferSizeRequired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(Offset) + ) + ); +} +pub type TXFS_LIST_TRANSACTION_LOCKED_FILES = _TXFS_LIST_TRANSACTION_LOCKED_FILES; +pub type PTXFS_LIST_TRANSACTION_LOCKED_FILES = *mut _TXFS_LIST_TRANSACTION_LOCKED_FILES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTIONS_ENTRY { + pub TransactionId: GUID, + pub TransactionState: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: LONGLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTIONS_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTIONS_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTIONS_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTIONS_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(TransactionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved3) + ) + ); +} +pub type TXFS_LIST_TRANSACTIONS_ENTRY = _TXFS_LIST_TRANSACTIONS_ENTRY; +pub type PTXFS_LIST_TRANSACTIONS_ENTRY = *mut _TXFS_LIST_TRANSACTIONS_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTIONS { + pub NumberOfTransactions: DWORDLONG, + pub BufferSizeRequired: DWORDLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTIONS>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_LIST_TRANSACTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTransactions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS), + "::", + stringify!(NumberOfTransactions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS), + "::", + stringify!(BufferSizeRequired) + ) + ); +} +pub type TXFS_LIST_TRANSACTIONS = _TXFS_LIST_TRANSACTIONS; +pub type PTXFS_LIST_TRANSACTIONS = *mut _TXFS_LIST_TRANSACTIONS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_READ_BACKUP_INFORMATION_OUT { + pub __bindgen_anon_1: _TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1 { + pub BufferLength: DWORD, + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1), + "::", + stringify!(Buffer) + ) + ); +} +#[test] +fn bindgen_test_layout__TXFS_READ_BACKUP_INFORMATION_OUT() { + assert_eq!( + ::std::mem::size_of::<_TXFS_READ_BACKUP_INFORMATION_OUT>(), + 4usize, + concat!("Size of: ", stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_READ_BACKUP_INFORMATION_OUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT) + ) + ); +} +pub type TXFS_READ_BACKUP_INFORMATION_OUT = _TXFS_READ_BACKUP_INFORMATION_OUT; +pub type PTXFS_READ_BACKUP_INFORMATION_OUT = *mut _TXFS_READ_BACKUP_INFORMATION_OUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_WRITE_BACKUP_INFORMATION { + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_WRITE_BACKUP_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_WRITE_BACKUP_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_WRITE_BACKUP_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_TXFS_WRITE_BACKUP_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_WRITE_BACKUP_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_TXFS_WRITE_BACKUP_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_WRITE_BACKUP_INFORMATION), + "::", + stringify!(Buffer) + ) + ); +} +pub type TXFS_WRITE_BACKUP_INFORMATION = _TXFS_WRITE_BACKUP_INFORMATION; +pub type PTXFS_WRITE_BACKUP_INFORMATION = *mut _TXFS_WRITE_BACKUP_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_TRANSACTED_VERSION { + pub ThisBaseVersion: DWORD, + pub LatestVersion: DWORD, + pub ThisMiniVersion: WORD, + pub FirstMiniVersion: WORD, + pub LatestMiniVersion: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_GET_TRANSACTED_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_TRANSACTED_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_TRANSACTED_VERSION>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_GET_TRANSACTED_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_TRANSACTED_VERSION>(), + 4usize, + concat!("Alignment of ", stringify!(_TXFS_GET_TRANSACTED_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisBaseVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(ThisBaseVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LatestVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(LatestVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisMiniVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(ThisMiniVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstMiniVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(FirstMiniVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LatestMiniVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(LatestMiniVersion) + ) + ); +} +pub type TXFS_GET_TRANSACTED_VERSION = _TXFS_GET_TRANSACTED_VERSION; +pub type PTXFS_GET_TRANSACTED_VERSION = *mut _TXFS_GET_TRANSACTED_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_SAVEPOINT_INFORMATION { + pub KtmTransaction: HANDLE, + pub ActionCode: DWORD, + pub SavepointId: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_SAVEPOINT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_SAVEPOINT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_SAVEPOINT_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_SAVEPOINT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_SAVEPOINT_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_SAVEPOINT_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KtmTransaction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(KtmTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActionCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(ActionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavepointId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(SavepointId) + ) + ); +} +pub type TXFS_SAVEPOINT_INFORMATION = _TXFS_SAVEPOINT_INFORMATION; +pub type PTXFS_SAVEPOINT_INFORMATION = *mut _TXFS_SAVEPOINT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_CREATE_MINIVERSION_INFO { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub BaseVersion: DWORD, + pub MiniVersion: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_CREATE_MINIVERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_CREATE_MINIVERSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_CREATE_MINIVERSION_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_TXFS_CREATE_MINIVERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_CREATE_MINIVERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_TXFS_CREATE_MINIVERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(BaseVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MiniVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(MiniVersion) + ) + ); +} +pub type TXFS_CREATE_MINIVERSION_INFO = _TXFS_CREATE_MINIVERSION_INFO; +pub type PTXFS_CREATE_MINIVERSION_INFO = *mut _TXFS_CREATE_MINIVERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_TRANSACTION_ACTIVE_INFO { + pub TransactionsActiveAtSnapshot: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TXFS_TRANSACTION_ACTIVE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_TRANSACTION_ACTIVE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_TRANSACTION_ACTIVE_INFO>(), + 1usize, + concat!("Size of: ", stringify!(_TXFS_TRANSACTION_ACTIVE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_TRANSACTION_ACTIVE_INFO>(), + 1usize, + concat!("Alignment of ", stringify!(_TXFS_TRANSACTION_ACTIVE_INFO)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TransactionsActiveAtSnapshot) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_TRANSACTION_ACTIVE_INFO), + "::", + stringify!(TransactionsActiveAtSnapshot) + ) + ); +} +pub type TXFS_TRANSACTION_ACTIVE_INFO = _TXFS_TRANSACTION_ACTIVE_INFO; +pub type PTXFS_TRANSACTION_ACTIVE_INFO = *mut _TXFS_TRANSACTION_ACTIVE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BOOT_AREA_INFO { + pub BootSectorCount: DWORD, + pub BootSectors: [_BOOT_AREA_INFO__bindgen_ty_1; 2usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BOOT_AREA_INFO__bindgen_ty_1 { + pub Offset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__BOOT_AREA_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_BOOT_AREA_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BOOT_AREA_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_BOOT_AREA_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_BOOT_AREA_INFO__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_BOOT_AREA_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO__bindgen_ty_1), + "::", + stringify!(Offset) + ) + ); +} +#[test] +fn bindgen_test_layout__BOOT_AREA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BOOT_AREA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BOOT_AREA_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_BOOT_AREA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BOOT_AREA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BOOT_AREA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootSectorCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO), + "::", + stringify!(BootSectorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootSectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO), + "::", + stringify!(BootSectors) + ) + ); +} +pub type BOOT_AREA_INFO = _BOOT_AREA_INFO; +pub type PBOOT_AREA_INFO = *mut _BOOT_AREA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RETRIEVAL_POINTER_BASE { + pub FileAreaOffset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__RETRIEVAL_POINTER_BASE() { + const UNINIT: ::std::mem::MaybeUninit<_RETRIEVAL_POINTER_BASE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RETRIEVAL_POINTER_BASE>(), + 8usize, + concat!("Size of: ", stringify!(_RETRIEVAL_POINTER_BASE)) + ); + assert_eq!( + ::std::mem::align_of::<_RETRIEVAL_POINTER_BASE>(), + 8usize, + concat!("Alignment of ", stringify!(_RETRIEVAL_POINTER_BASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAreaOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RETRIEVAL_POINTER_BASE), + "::", + stringify!(FileAreaOffset) + ) + ); +} +pub type RETRIEVAL_POINTER_BASE = _RETRIEVAL_POINTER_BASE; +pub type PRETRIEVAL_POINTER_BASE = *mut _RETRIEVAL_POINTER_BASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION { + pub VolumeFlags: DWORD, + pub FlagMask: DWORD, + pub Version: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_FS_PERSISTENT_VOLUME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_FS_PERSISTENT_VOLUME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(VolumeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(FlagMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_FS_PERSISTENT_VOLUME_INFORMATION = _FILE_FS_PERSISTENT_VOLUME_INFORMATION; +pub type PFILE_FS_PERSISTENT_VOLUME_INFORMATION = *mut _FILE_FS_PERSISTENT_VOLUME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SYSTEM_RECOGNITION_INFORMATION { + pub FileSystem: [CHAR; 9usize], +} +#[test] +fn bindgen_test_layout__FILE_SYSTEM_RECOGNITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SYSTEM_RECOGNITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SYSTEM_RECOGNITION_INFORMATION>(), + 9usize, + concat!( + "Size of: ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SYSTEM_RECOGNITION_INFORMATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION), + "::", + stringify!(FileSystem) + ) + ); +} +pub type FILE_SYSTEM_RECOGNITION_INFORMATION = _FILE_SYSTEM_RECOGNITION_INFORMATION; +pub type PFILE_SYSTEM_RECOGNITION_INFORMATION = *mut _FILE_SYSTEM_RECOGNITION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_OPLOCK_INPUT_BUFFER { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub RequestedOplockLevel: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REQUEST_OPLOCK_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_OPLOCK_INPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_OPLOCK_INPUT_BUFFER>(), + 12usize, + concat!("Size of: ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_OPLOCK_INPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestedOplockLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(RequestedOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); +} +pub type REQUEST_OPLOCK_INPUT_BUFFER = _REQUEST_OPLOCK_INPUT_BUFFER; +pub type PREQUEST_OPLOCK_INPUT_BUFFER = *mut _REQUEST_OPLOCK_INPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_OPLOCK_OUTPUT_BUFFER { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub OriginalOplockLevel: DWORD, + pub NewOplockLevel: DWORD, + pub Flags: DWORD, + pub AccessMode: ACCESS_MASK, + pub ShareMode: WORD, +} +#[test] +fn bindgen_test_layout__REQUEST_OPLOCK_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_OPLOCK_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_OPLOCK_OUTPUT_BUFFER>(), + 24usize, + concat!("Size of: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_OPLOCK_OUTPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalOplockLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(OriginalOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewOplockLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(NewOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(AccessMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShareMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(ShareMode) + ) + ); +} +pub type REQUEST_OPLOCK_OUTPUT_BUFFER = _REQUEST_OPLOCK_OUTPUT_BUFFER; +pub type PREQUEST_OPLOCK_OUTPUT_BUFFER = *mut _REQUEST_OPLOCK_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUAL_STORAGE_TYPE { + pub DeviceId: DWORD, + pub VendorId: GUID, +} +#[test] +fn bindgen_test_layout__VIRTUAL_STORAGE_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUAL_STORAGE_TYPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUAL_STORAGE_TYPE>(), + 20usize, + concat!("Size of: ", stringify!(_VIRTUAL_STORAGE_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUAL_STORAGE_TYPE>(), + 4usize, + concat!("Alignment of ", stringify!(_VIRTUAL_STORAGE_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_TYPE), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_TYPE), + "::", + stringify!(VendorId) + ) + ); +} +pub type VIRTUAL_STORAGE_TYPE = _VIRTUAL_STORAGE_TYPE; +pub type PVIRTUAL_STORAGE_TYPE = *mut _VIRTUAL_STORAGE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST { + pub RequestLevel: DWORD, + pub RequestFlags: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST), + "::", + stringify!(RequestLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST), + "::", + stringify!(RequestFlags) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST = _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_REQUEST = *mut _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY { + pub EntryLength: DWORD, + pub DependencyTypeFlags: DWORD, + pub ProviderSpecificFlags: DWORD, + pub VirtualStorageType: VIRTUAL_STORAGE_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(EntryLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependencyTypeFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(DependencyTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecificFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(ProviderSpecificFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualStorageType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(VirtualStorageType) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY = _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY = + *mut _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY { + pub EntryLength: DWORD, + pub DependencyTypeFlags: DWORD, + pub ProviderSpecificFlags: DWORD, + pub VirtualStorageType: VIRTUAL_STORAGE_TYPE, + pub AncestorLevel: DWORD, + pub HostVolumeNameOffset: DWORD, + pub HostVolumeNameSize: DWORD, + pub DependentVolumeNameOffset: DWORD, + pub DependentVolumeNameSize: DWORD, + pub RelativePathOffset: DWORD, + pub RelativePathSize: DWORD, + pub DependentDeviceNameOffset: DWORD, + pub DependentDeviceNameSize: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>(), + 68usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(EntryLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependencyTypeFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependencyTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecificFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(ProviderSpecificFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualStorageType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(VirtualStorageType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AncestorLevel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(AncestorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostVolumeNameOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(HostVolumeNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostVolumeNameSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(HostVolumeNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentVolumeNameOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentVolumeNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentVolumeNameSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentVolumeNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(RelativePathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(RelativePathSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentDeviceNameOffset) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentDeviceNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentDeviceNameSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentDeviceNameSize) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY = _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY = + *mut _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; +#[repr(C)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE { + pub ResponseLevel: DWORD, + pub NumberEntries: DWORD, + pub __bindgen_anon_1: _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1, +} +#[repr(C)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1 { + pub Lev1Depends: __BindgenUnionField<[STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; 0usize]>, + pub Lev2Depends: __BindgenUnionField<[STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; 0usize]>, + pub bindgen_union_field: u32, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lev1Depends) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1), + "::", + stringify!(Lev1Depends) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lev2Depends) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1), + "::", + stringify!(Lev2Depends) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResponseLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE), + "::", + stringify!(ResponseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberEntries) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE), + "::", + stringify!(NumberEntries) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE = _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE = *mut _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_CHANGE_MACHINE_SID_INPUT { + pub CurrentMachineSIDOffset: WORD, + pub CurrentMachineSIDLength: WORD, + pub NewMachineSIDOffset: WORD, + pub NewMachineSIDLength: WORD, +} +#[test] +fn bindgen_test_layout__SD_CHANGE_MACHINE_SID_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_CHANGE_MACHINE_SID_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_CHANGE_MACHINE_SID_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_CHANGE_MACHINE_SID_INPUT>(), + 2usize, + concat!("Alignment of ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentMachineSIDOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(CurrentMachineSIDOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentMachineSIDLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(CurrentMachineSIDLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewMachineSIDOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(NewMachineSIDOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewMachineSIDLength) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(NewMachineSIDLength) + ) + ); +} +pub type SD_CHANGE_MACHINE_SID_INPUT = _SD_CHANGE_MACHINE_SID_INPUT; +pub type PSD_CHANGE_MACHINE_SID_INPUT = *mut _SD_CHANGE_MACHINE_SID_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_CHANGE_MACHINE_SID_OUTPUT { + pub NumSDChangedSuccess: DWORDLONG, + pub NumSDChangedFail: DWORDLONG, + pub NumSDUnused: DWORDLONG, + pub NumSDTotal: DWORDLONG, + pub NumMftSDChangedSuccess: DWORDLONG, + pub NumMftSDChangedFail: DWORDLONG, + pub NumMftSDTotal: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_CHANGE_MACHINE_SID_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_CHANGE_MACHINE_SID_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_CHANGE_MACHINE_SID_OUTPUT>(), + 56usize, + concat!("Size of: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_CHANGE_MACHINE_SID_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDChangedSuccess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDChangedSuccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDChangedFail) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDChangedFail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDUnused) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDUnused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDTotal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDChangedSuccess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDChangedSuccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDChangedFail) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDChangedFail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDTotal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDTotal) + ) + ); +} +pub type SD_CHANGE_MACHINE_SID_OUTPUT = _SD_CHANGE_MACHINE_SID_OUTPUT; +pub type PSD_CHANGE_MACHINE_SID_OUTPUT = *mut _SD_CHANGE_MACHINE_SID_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_QUERY_STATS_INPUT { + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__SD_QUERY_STATS_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_QUERY_STATS_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_QUERY_STATS_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_SD_QUERY_STATS_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_QUERY_STATS_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SD_QUERY_STATS_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_INPUT), + "::", + stringify!(Reserved) + ) + ); +} +pub type SD_QUERY_STATS_INPUT = _SD_QUERY_STATS_INPUT; +pub type PSD_QUERY_STATS_INPUT = *mut _SD_QUERY_STATS_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_QUERY_STATS_OUTPUT { + pub SdsStreamSize: DWORDLONG, + pub SdsAllocationSize: DWORDLONG, + pub SiiStreamSize: DWORDLONG, + pub SiiAllocationSize: DWORDLONG, + pub SdhStreamSize: DWORDLONG, + pub SdhAllocationSize: DWORDLONG, + pub NumSDTotal: DWORDLONG, + pub NumSDUnused: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_QUERY_STATS_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_QUERY_STATS_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_QUERY_STATS_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_SD_QUERY_STATS_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_QUERY_STATS_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_QUERY_STATS_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdsStreamSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdsStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdsAllocationSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdsAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiiStreamSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SiiStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiiAllocationSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SiiAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdhStreamSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdhStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdhAllocationSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdhAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDTotal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(NumSDTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDUnused) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(NumSDUnused) + ) + ); +} +pub type SD_QUERY_STATS_OUTPUT = _SD_QUERY_STATS_OUTPUT; +pub type PSD_QUERY_STATS_OUTPUT = *mut _SD_QUERY_STATS_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_INPUT { + pub StartingOffset: DWORDLONG, + pub MaxSDEntriesToReturn: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_INPUT), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSDEntriesToReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_INPUT), + "::", + stringify!(MaxSDEntriesToReturn) + ) + ); +} +pub type SD_ENUM_SDS_INPUT = _SD_ENUM_SDS_INPUT; +pub type PSD_ENUM_SDS_INPUT = *mut _SD_ENUM_SDS_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_ENTRY { + pub Hash: DWORD, + pub SecurityId: DWORD, + pub Offset: DWORDLONG, + pub Length: DWORD, + pub Descriptor: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Descriptor) + ) + ); +} +pub type SD_ENUM_SDS_ENTRY = _SD_ENUM_SDS_ENTRY; +pub type PSD_ENUM_SDS_ENTRY = *mut _SD_ENUM_SDS_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_OUTPUT { + pub NextOffset: DWORDLONG, + pub NumSDEntriesReturned: DWORDLONG, + pub NumSDBytesReturned: DWORDLONG, + pub SDEntry: [SD_ENUM_SDS_ENTRY; 1usize], +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_OUTPUT>(), + 48usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NextOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDEntriesReturned) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NumSDEntriesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDBytesReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NumSDBytesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SDEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(SDEntry) + ) + ); +} +pub type SD_ENUM_SDS_OUTPUT = _SD_ENUM_SDS_OUTPUT; +pub type PSD_ENUM_SDS_OUTPUT = *mut _SD_ENUM_SDS_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SD_GLOBAL_CHANGE_INPUT { + pub Flags: DWORD, + pub ChangeType: DWORD, + pub __bindgen_anon_1: _SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1 { + pub SdChange: SD_CHANGE_MACHINE_SID_INPUT, + pub SdQueryStats: SD_QUERY_STATS_INPUT, + pub SdEnumSds: SD_ENUM_SDS_INPUT, +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdChange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdQueryStats) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdQueryStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdEnumSds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdEnumSds) + ) + ); +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_SD_GLOBAL_CHANGE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_GLOBAL_CHANGE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT), + "::", + stringify!(ChangeType) + ) + ); +} +pub type SD_GLOBAL_CHANGE_INPUT = _SD_GLOBAL_CHANGE_INPUT; +pub type PSD_GLOBAL_CHANGE_INPUT = *mut _SD_GLOBAL_CHANGE_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SD_GLOBAL_CHANGE_OUTPUT { + pub Flags: DWORD, + pub ChangeType: DWORD, + pub __bindgen_anon_1: _SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1 { + pub SdChange: SD_CHANGE_MACHINE_SID_OUTPUT, + pub SdQueryStats: SD_QUERY_STATS_OUTPUT, + pub SdEnumSds: SD_ENUM_SDS_OUTPUT, +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>(), + 64usize, + concat!( + "Size of: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdChange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdQueryStats) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdQueryStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdEnumSds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdEnumSds) + ) + ); +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_OUTPUT>(), + 72usize, + concat!("Size of: ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT), + "::", + stringify!(ChangeType) + ) + ); +} +pub type SD_GLOBAL_CHANGE_OUTPUT = _SD_GLOBAL_CHANGE_OUTPUT; +pub type PSD_GLOBAL_CHANGE_OUTPUT = *mut _SD_GLOBAL_CHANGE_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_INPUT { + pub Flags: DWORD, + pub NumberOfClusters: DWORD, + pub Cluster: [LARGE_INTEGER; 1usize], +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfClusters) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(NumberOfClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cluster) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(Cluster) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_INPUT = _LOOKUP_STREAM_FROM_CLUSTER_INPUT; +pub type PLOOKUP_STREAM_FROM_CLUSTER_INPUT = *mut _LOOKUP_STREAM_FROM_CLUSTER_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT { + pub Offset: DWORD, + pub NumberOfMatches: DWORD, + pub BufferSizeRequired: DWORD, +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfMatches) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(NumberOfMatches) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(BufferSizeRequired) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_OUTPUT = _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT; +pub type PLOOKUP_STREAM_FROM_CLUSTER_OUTPUT = *mut _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_ENTRY { + pub OffsetToNext: DWORD, + pub Flags: DWORD, + pub Reserved: LARGE_INTEGER, + pub Cluster: LARGE_INTEGER, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToNext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(OffsetToNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cluster) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Cluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_ENTRY = _LOOKUP_STREAM_FROM_CLUSTER_ENTRY; +pub type PLOOKUP_STREAM_FROM_CLUSTER_ENTRY = *mut _LOOKUP_STREAM_FROM_CLUSTER_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_TYPE_NOTIFICATION_INPUT { + pub Flags: DWORD, + pub NumFileTypeIDs: DWORD, + pub FileTypeID: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_TYPE_NOTIFICATION_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_TYPE_NOTIFICATION_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_TYPE_NOTIFICATION_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_TYPE_NOTIFICATION_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumFileTypeIDs) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(NumFileTypeIDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTypeID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(FileTypeID) + ) + ); +} +pub type FILE_TYPE_NOTIFICATION_INPUT = _FILE_TYPE_NOTIFICATION_INPUT; +pub type PFILE_TYPE_NOTIFICATION_INPUT = *mut _FILE_TYPE_NOTIFICATION_INPUT; +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE: GUID; +} +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE: GUID; +} +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_MGMT_LOCK { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_MGMT_LOCK() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_MGMT_LOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_MGMT_LOCK>(), + 4usize, + concat!("Size of: ", stringify!(_CSV_MGMT_LOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_MGMT_LOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_MGMT_LOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_MGMT_LOCK), + "::", + stringify!(Flags) + ) + ); +} +pub type CSV_MGMT_LOCK = _CSV_MGMT_LOCK; +pub type PCSV_MGMT_LOCK = *mut _CSV_MGMT_LOCK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CSV_NAMESPACE_INFO { + pub Version: DWORD, + pub DeviceNumber: DWORD, + pub StartingOffset: LARGE_INTEGER, + pub SectorSize: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_NAMESPACE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_NAMESPACE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_NAMESPACE_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CSV_NAMESPACE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_NAMESPACE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_NAMESPACE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(SectorSize) + ) + ); +} +pub type CSV_NAMESPACE_INFO = _CSV_NAMESPACE_INFO; +pub type PCSV_NAMESPACE_INFO = *mut _CSV_NAMESPACE_INFO; +pub const _CSV_CONTROL_OP_CsvControlStartRedirectFile: _CSV_CONTROL_OP = 2; +pub const _CSV_CONTROL_OP_CsvControlStopRedirectFile: _CSV_CONTROL_OP = 3; +pub const _CSV_CONTROL_OP_CsvControlQueryRedirectState: _CSV_CONTROL_OP = 4; +pub const _CSV_CONTROL_OP_CsvControlQueryFileRevision: _CSV_CONTROL_OP = 6; +pub const _CSV_CONTROL_OP_CsvControlQueryMdsPath: _CSV_CONTROL_OP = 8; +pub const _CSV_CONTROL_OP_CsvControlQueryFileRevisionFileId128: _CSV_CONTROL_OP = 9; +pub const _CSV_CONTROL_OP_CsvControlQueryVolumeRedirectState: _CSV_CONTROL_OP = 10; +pub const _CSV_CONTROL_OP_CsvControlEnableUSNRangeModificationTracking: _CSV_CONTROL_OP = 13; +pub const _CSV_CONTROL_OP_CsvControlMarkHandleLocalVolumeMount: _CSV_CONTROL_OP = 14; +pub const _CSV_CONTROL_OP_CsvControlUnmarkHandleLocalVolumeMount: _CSV_CONTROL_OP = 15; +pub const _CSV_CONTROL_OP_CsvControlGetCsvFsMdsPathV2: _CSV_CONTROL_OP = 18; +pub const _CSV_CONTROL_OP_CsvControlDisableCaching: _CSV_CONTROL_OP = 19; +pub const _CSV_CONTROL_OP_CsvControlEnableCaching: _CSV_CONTROL_OP = 20; +pub const _CSV_CONTROL_OP_CsvControlStartForceDFO: _CSV_CONTROL_OP = 21; +pub const _CSV_CONTROL_OP_CsvControlStopForceDFO: _CSV_CONTROL_OP = 22; +pub const _CSV_CONTROL_OP_CsvControlQueryMdsPathNoPause: _CSV_CONTROL_OP = 23; +pub const _CSV_CONTROL_OP_CsvControlSetVolumeId: _CSV_CONTROL_OP = 24; +pub const _CSV_CONTROL_OP_CsvControlQueryVolumeId: _CSV_CONTROL_OP = 25; +pub type _CSV_CONTROL_OP = ::std::os::raw::c_int; +pub use self::_CSV_CONTROL_OP as CSV_CONTROL_OP; +pub type PCSV_CONTROL_OP = *mut _CSV_CONTROL_OP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_CONTROL_PARAM { + pub Operation: CSV_CONTROL_OP, + pub Unused: LONGLONG, +} +#[test] +fn bindgen_test_layout__CSV_CONTROL_PARAM() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_CONTROL_PARAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_CONTROL_PARAM>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_CONTROL_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_CONTROL_PARAM>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_CONTROL_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_CONTROL_PARAM), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_CONTROL_PARAM), + "::", + stringify!(Unused) + ) + ); +} +pub type CSV_CONTROL_PARAM = _CSV_CONTROL_PARAM; +pub type PCSV_CONTROL_PARAM = *mut _CSV_CONTROL_PARAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_REDIRECT_STATE { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub FileRedirected: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_REDIRECT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_REDIRECT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_REDIRECT_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_CSV_QUERY_REDIRECT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_REDIRECT_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_REDIRECT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRedirected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(FileRedirected) + ) + ); +} +pub type CSV_QUERY_REDIRECT_STATE = _CSV_QUERY_REDIRECT_STATE; +pub type PCSV_QUERY_REDIRECT_STATE = *mut _CSV_QUERY_REDIRECT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_FILE_REVISION { + pub FileId: LONGLONG, + pub FileRevision: [LONGLONG; 3usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_FILE_REVISION() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_FILE_REVISION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_FILE_REVISION>(), + 32usize, + concat!("Size of: ", stringify!(_CSV_QUERY_FILE_REVISION)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_FILE_REVISION>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_FILE_REVISION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRevision) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION), + "::", + stringify!(FileRevision) + ) + ); +} +pub type CSV_QUERY_FILE_REVISION = _CSV_QUERY_FILE_REVISION; +pub type PCSV_QUERY_FILE_REVISION = *mut _CSV_QUERY_FILE_REVISION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_FILE_REVISION_FILE_ID_128 { + pub FileId: FILE_ID_128, + pub FileRevision: [LONGLONG; 3usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_FILE_REVISION_FILE_ID_128() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_FILE_REVISION_FILE_ID_128> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>(), + 40usize, + concat!( + "Size of: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRevision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128), + "::", + stringify!(FileRevision) + ) + ); +} +pub type CSV_QUERY_FILE_REVISION_FILE_ID_128 = _CSV_QUERY_FILE_REVISION_FILE_ID_128; +pub type PCSV_QUERY_FILE_REVISION_FILE_ID_128 = *mut _CSV_QUERY_FILE_REVISION_FILE_ID_128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_MDS_PATH { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub PathLength: DWORD, + pub Path: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_MDS_PATH() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_MDS_PATH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_MDS_PATH>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_QUERY_MDS_PATH)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_MDS_PATH>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_MDS_PATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(PathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(Path) + ) + ); +} +pub type CSV_QUERY_MDS_PATH = _CSV_QUERY_MDS_PATH; +pub type PCSV_QUERY_MDS_PATH = *mut _CSV_QUERY_MDS_PATH; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityNone: _CSVFS_DISK_CONNECTIVITY = 0; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityMdsNodeOnly: _CSVFS_DISK_CONNECTIVITY = 1; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivitySubsetOfNodes: _CSVFS_DISK_CONNECTIVITY = 2; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityAllNodes: _CSVFS_DISK_CONNECTIVITY = 3; +pub type _CSVFS_DISK_CONNECTIVITY = ::std::os::raw::c_int; +pub use self::_CSVFS_DISK_CONNECTIVITY as CSVFS_DISK_CONNECTIVITY; +pub type PCSVFS_DISK_CONNECTIVITY = *mut _CSVFS_DISK_CONNECTIVITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_VOLUME_REDIRECT_STATE { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub IsDiskConnected: BOOLEAN, + pub ClusterEnableDirectIo: BOOLEAN, + pub DiskConnectivity: CSVFS_DISK_CONNECTIVITY, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_VOLUME_REDIRECT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_VOLUME_REDIRECT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_VOLUME_REDIRECT_STATE>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_VOLUME_REDIRECT_STATE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDiskConnected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(IsDiskConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterEnableDirectIo) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(ClusterEnableDirectIo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskConnectivity) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(DiskConnectivity) + ) + ); +} +pub type CSV_QUERY_VOLUME_REDIRECT_STATE = _CSV_QUERY_VOLUME_REDIRECT_STATE; +pub type PCSV_QUERY_VOLUME_REDIRECT_STATE = *mut _CSV_QUERY_VOLUME_REDIRECT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_MDS_PATH_V2 { + pub Version: LONGLONG, + pub RequiredSize: DWORD, + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub Flags: DWORD, + pub DiskConnectivity: CSVFS_DISK_CONNECTIVITY, + pub VolumeId: GUID, + pub IpAddressOffset: DWORD, + pub IpAddressLength: DWORD, + pub PathOffset: DWORD, + pub PathLength: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_MDS_PATH_V2() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_MDS_PATH_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_MDS_PATH_V2>(), + 64usize, + concat!("Size of: ", stringify!(_CSV_QUERY_MDS_PATH_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_MDS_PATH_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_MDS_PATH_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequiredSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(RequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskConnectivity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(DiskConnectivity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(VolumeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IpAddressOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(IpAddressOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IpAddressLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(IpAddressLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(PathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(PathLength) + ) + ); +} +pub type CSV_QUERY_MDS_PATH_V2 = _CSV_QUERY_MDS_PATH_V2; +pub type PCSV_QUERY_MDS_PATH_V2 = *mut _CSV_QUERY_MDS_PATH_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_SET_VOLUME_ID { + pub VolumeId: GUID, +} +#[test] +fn bindgen_test_layout__CSV_SET_VOLUME_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_SET_VOLUME_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_SET_VOLUME_ID>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_SET_VOLUME_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_SET_VOLUME_ID>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_SET_VOLUME_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_SET_VOLUME_ID), + "::", + stringify!(VolumeId) + ) + ); +} +pub type CSV_SET_VOLUME_ID = _CSV_SET_VOLUME_ID; +pub type PCSV_SET_VOLUME_ID = *mut _CSV_SET_VOLUME_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_VOLUME_ID { + pub VolumeId: GUID, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_VOLUME_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_VOLUME_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_VOLUME_ID>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_QUERY_VOLUME_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_VOLUME_ID>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_VOLUME_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_ID), + "::", + stringify!(VolumeId) + ) + ); +} +pub type CSV_QUERY_VOLUME_ID = _CSV_QUERY_VOLUME_ID; +pub type PCSV_QUERY_VOLUME_ID = *mut _CSV_QUERY_VOLUME_ID; +pub const _LMR_QUERY_INFO_CLASS_LMRQuerySessionInfo: _LMR_QUERY_INFO_CLASS = 1; +pub type _LMR_QUERY_INFO_CLASS = ::std::os::raw::c_int; +pub use self::_LMR_QUERY_INFO_CLASS as LMR_QUERY_INFO_CLASS; +pub type PLMR_QUERY_INFO_CLASS = *mut _LMR_QUERY_INFO_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LMR_QUERY_INFO_PARAM { + pub Operation: LMR_QUERY_INFO_CLASS, +} +#[test] +fn bindgen_test_layout__LMR_QUERY_INFO_PARAM() { + const UNINIT: ::std::mem::MaybeUninit<_LMR_QUERY_INFO_PARAM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LMR_QUERY_INFO_PARAM>(), + 4usize, + concat!("Size of: ", stringify!(_LMR_QUERY_INFO_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::<_LMR_QUERY_INFO_PARAM>(), + 4usize, + concat!("Alignment of ", stringify!(_LMR_QUERY_INFO_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LMR_QUERY_INFO_PARAM), + "::", + stringify!(Operation) + ) + ); +} +pub type LMR_QUERY_INFO_PARAM = _LMR_QUERY_INFO_PARAM; +pub type PLMR_QUERY_INFO_PARAM = *mut _LMR_QUERY_INFO_PARAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LMR_QUERY_SESSION_INFO { + pub SessionId: UINT64, +} +#[test] +fn bindgen_test_layout__LMR_QUERY_SESSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_LMR_QUERY_SESSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LMR_QUERY_SESSION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_LMR_QUERY_SESSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_LMR_QUERY_SESSION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_LMR_QUERY_SESSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LMR_QUERY_SESSION_INFO), + "::", + stringify!(SessionId) + ) + ); +} +pub type LMR_QUERY_SESSION_INFO = _LMR_QUERY_SESSION_INFO; +pub type PLMR_QUERY_SESSION_INFO = *mut _LMR_QUERY_SESSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT { + pub VetoedFromAltitudeIntegral: DWORDLONG, + pub VetoedFromAltitudeDecimal: DWORDLONG, + pub Reason: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>(), + 528usize, + concat!( + "Size of: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VetoedFromAltitudeIntegral) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(VetoedFromAltitudeIntegral) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VetoedFromAltitudeDecimal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(VetoedFromAltitudeDecimal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(Reason) + ) + ); +} +pub type CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT = _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT; +pub type PCSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT = *mut _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT; +pub const _STORAGE_RESERVE_ID_StorageReserveIdNone: _STORAGE_RESERVE_ID = 0; +pub const _STORAGE_RESERVE_ID_StorageReserveIdHard: _STORAGE_RESERVE_ID = 1; +pub const _STORAGE_RESERVE_ID_StorageReserveIdSoft: _STORAGE_RESERVE_ID = 2; +pub const _STORAGE_RESERVE_ID_StorageReserveIdUpdateScratch: _STORAGE_RESERVE_ID = 3; +pub const _STORAGE_RESERVE_ID_StorageReserveIdMax: _STORAGE_RESERVE_ID = 4; +pub type _STORAGE_RESERVE_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_RESERVE_ID as STORAGE_RESERVE_ID; +pub type PSTORAGE_RESERVE_ID = *mut _STORAGE_RESERVE_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_IS_OWNED_BY_CSVFS { + pub OwnedByCSVFS: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CSV_IS_OWNED_BY_CSVFS() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_IS_OWNED_BY_CSVFS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_IS_OWNED_BY_CSVFS>(), + 1usize, + concat!("Size of: ", stringify!(_CSV_IS_OWNED_BY_CSVFS)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_IS_OWNED_BY_CSVFS>(), + 1usize, + concat!("Alignment of ", stringify!(_CSV_IS_OWNED_BY_CSVFS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnedByCSVFS) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_IS_OWNED_BY_CSVFS), + "::", + stringify!(OwnedByCSVFS) + ) + ); +} +pub type CSV_IS_OWNED_BY_CSVFS = _CSV_IS_OWNED_BY_CSVFS; +pub type PCSV_IS_OWNED_BY_CSVFS = *mut _CSV_IS_OWNED_BY_CSVFS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM_RANGE { + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_RANGE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_LEVEL_TRIM_RANGE = _FILE_LEVEL_TRIM_RANGE; +pub type PFILE_LEVEL_TRIM_RANGE = *mut _FILE_LEVEL_TRIM_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM { + pub Key: DWORD, + pub NumRanges: DWORD, + pub Ranges: [FILE_LEVEL_TRIM_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(NumRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(Ranges) + ) + ); +} +pub type FILE_LEVEL_TRIM = _FILE_LEVEL_TRIM; +pub type PFILE_LEVEL_TRIM = *mut _FILE_LEVEL_TRIM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM_OUTPUT { + pub NumRangesProcessed: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRangesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_OUTPUT), + "::", + stringify!(NumRangesProcessed) + ) + ); +} +pub type FILE_LEVEL_TRIM_OUTPUT = _FILE_LEVEL_TRIM_OUTPUT; +pub type PFILE_LEVEL_TRIM_OUTPUT = *mut _FILE_LEVEL_TRIM_OUTPUT; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_NONE: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 0; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_CLUSTERS: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 1; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_FILEID: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 2; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_STORAGE_RESERVE_ID: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 3; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_NUM_FILTER_TYPES: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 4; +pub type _QUERY_FILE_LAYOUT_FILTER_TYPE = ::std::os::raw::c_int; +pub use self::_QUERY_FILE_LAYOUT_FILTER_TYPE as QUERY_FILE_LAYOUT_FILTER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLUSTER_RANGE { + pub StartingCluster: LARGE_INTEGER, + pub ClusterCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__CLUSTER_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_CLUSTER_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLUSTER_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_CLUSTER_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CLUSTER_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CLUSTER_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingCluster) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLUSTER_RANGE), + "::", + stringify!(StartingCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLUSTER_RANGE), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type CLUSTER_RANGE = _CLUSTER_RANGE; +pub type PCLUSTER_RANGE = *mut _CLUSTER_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REFERENCE_RANGE { + pub StartingFileReferenceNumber: DWORDLONG, + pub EndingFileReferenceNumber: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_REFERENCE_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REFERENCE_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REFERENCE_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_REFERENCE_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REFERENCE_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REFERENCE_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REFERENCE_RANGE), + "::", + stringify!(StartingFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingFileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REFERENCE_RANGE), + "::", + stringify!(EndingFileReferenceNumber) + ) + ); +} +pub type FILE_REFERENCE_RANGE = _FILE_REFERENCE_RANGE; +pub type PFILE_REFERENCE_RANGE = *mut _FILE_REFERENCE_RANGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUERY_FILE_LAYOUT_INPUT { + pub __bindgen_anon_1: _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1, + pub Flags: DWORD, + pub FilterType: QUERY_FILE_LAYOUT_FILTER_TYPE, + pub Reserved: DWORD, + pub Filter: _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1 { + pub FilterEntryCount: DWORD, + pub NumberOfPairs: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterEntryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1), + "::", + stringify!(FilterEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfPairs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1), + "::", + stringify!(NumberOfPairs) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2 { + pub ClusterRanges: [CLUSTER_RANGE; 1usize], + pub FileReferenceRanges: [FILE_REFERENCE_RANGE; 1usize], + pub StorageReserveIds: [STORAGE_RESERVE_ID; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(ClusterRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(FileReferenceRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageReserveIds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(StorageReserveIds) + ) + ); +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_QUERY_FILE_LAYOUT_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_FILE_LAYOUT_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(FilterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Filter) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Filter) + ) + ); +} +pub type QUERY_FILE_LAYOUT_INPUT = _QUERY_FILE_LAYOUT_INPUT; +pub type PQUERY_FILE_LAYOUT_INPUT = *mut _QUERY_FILE_LAYOUT_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_FILE_LAYOUT_OUTPUT { + pub FileEntryCount: DWORD, + pub FirstFileOffset: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileEntryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(FileEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstFileOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(FirstFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(Reserved) + ) + ); +} +pub type QUERY_FILE_LAYOUT_OUTPUT = _QUERY_FILE_LAYOUT_OUTPUT; +pub type PQUERY_FILE_LAYOUT_OUTPUT = *mut _QUERY_FILE_LAYOUT_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LAYOUT_ENTRY { + pub Version: DWORD, + pub NextFileOffset: DWORD, + pub Flags: DWORD, + pub FileAttributes: DWORD, + pub FileReferenceNumber: DWORDLONG, + pub FirstNameOffset: DWORD, + pub FirstStreamOffset: DWORD, + pub ExtraInfoOffset: DWORD, + pub ExtraInfoLength: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextFileOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(NextFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstNameOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FirstNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstStreamOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FirstStreamOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfoOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(ExtraInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfoLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(ExtraInfoLength) + ) + ); +} +pub type FILE_LAYOUT_ENTRY = _FILE_LAYOUT_ENTRY; +pub type PFILE_LAYOUT_ENTRY = *mut _FILE_LAYOUT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LAYOUT_NAME_ENTRY { + pub NextNameOffset: DWORD, + pub Flags: DWORD, + pub ParentFileReferenceNumber: DWORDLONG, + pub FileNameLength: DWORD, + pub Reserved: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_NAME_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_NAME_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_NAME_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_NAME_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_NAME_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_NAME_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(NextNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_LAYOUT_NAME_ENTRY = _FILE_LAYOUT_NAME_ENTRY; +pub type PFILE_LAYOUT_NAME_ENTRY = *mut _FILE_LAYOUT_NAME_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_LAYOUT_INFO_ENTRY { + pub BasicInformation: _FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1, + pub OwnerId: DWORD, + pub SecurityId: DWORD, + pub Usn: USN, + pub StorageReserveId: STORAGE_RESERVE_ID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1 { + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub FileAttributes: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>(), + 40usize, + concat!( + "Size of: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(FileAttributes) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_INFO_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_INFO_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_INFO_ENTRY>(), + 64usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_INFO_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_INFO_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_INFO_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(BasicInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(OwnerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageReserveId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(StorageReserveId) + ) + ); +} +pub type FILE_LAYOUT_INFO_ENTRY = _FILE_LAYOUT_INFO_ENTRY; +pub type PFILE_LAYOUT_INFO_ENTRY = *mut _FILE_LAYOUT_INFO_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_LAYOUT_ENTRY { + pub Version: DWORD, + pub NextStreamOffset: DWORD, + pub Flags: DWORD, + pub ExtentInformationOffset: DWORD, + pub AllocationSize: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub StreamInformationOffset: DWORD, + pub AttributeTypeCode: DWORD, + pub AttributeFlags: DWORD, + pub StreamIdentifierLength: DWORD, + pub StreamIdentifier: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__STREAM_LAYOUT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_LAYOUT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_LAYOUT_ENTRY>(), + 56usize, + concat!("Size of: ", stringify!(_STREAM_LAYOUT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_LAYOUT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_LAYOUT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextStreamOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(NextStreamOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentInformationOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(ExtentInformationOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamInformationOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamInformationOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeTypeCode) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AttributeTypeCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AttributeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdentifierLength) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamIdentifierLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdentifier) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamIdentifier) + ) + ); +} +pub type STREAM_LAYOUT_ENTRY = _STREAM_LAYOUT_ENTRY; +pub type PSTREAM_LAYOUT_ENTRY = *mut _STREAM_LAYOUT_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_EXTENT_ENTRY { + pub Flags: DWORD, + pub ExtentInformation: _STREAM_EXTENT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STREAM_EXTENT_ENTRY__bindgen_ty_1 { + pub RetrievalPointers: RETRIEVAL_POINTERS_BUFFER, +} +#[test] +fn bindgen_test_layout__STREAM_EXTENT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_EXTENT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_EXTENT_ENTRY__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_EXTENT_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetrievalPointers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1), + "::", + stringify!(RetrievalPointers) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_EXTENT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_EXTENT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_EXTENT_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_STREAM_EXTENT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_EXTENT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_EXTENT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentInformation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY), + "::", + stringify!(ExtentInformation) + ) + ); +} +pub type STREAM_EXTENT_ENTRY = _STREAM_EXTENT_ENTRY; +pub type PSTREAM_EXTENT_ENTRY = *mut _STREAM_EXTENT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER { + pub ChecksumAlgorithm: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ChecksumChunkSizeInBytes: DWORD, + pub ClusterSizeInBytes: DWORD, +} +#[test] +fn bindgen_test_layout__FSCTL_GET_INTEGRITY_INFORMATION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumChunkSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumChunkSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterSizeInBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ClusterSizeInBytes) + ) + ); +} +pub type FSCTL_GET_INTEGRITY_INFORMATION_BUFFER = _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER; +pub type PFSCTL_GET_INTEGRITY_INFORMATION_BUFFER = *mut _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER { + pub ChecksumAlgorithm: WORD, + pub Reserved: WORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FSCTL_SET_INTEGRITY_INFORMATION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>(), + 8usize, + concat!( + "Size of: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Flags) + ) + ); +} +pub type FSCTL_SET_INTEGRITY_INFORMATION_BUFFER = _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER; +pub type PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER = *mut _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX { + pub EnableIntegrity: BYTE, + pub KeepIntegrityStateUnchanged: BYTE, + pub Reserved: WORD, + pub Flags: DWORD, + pub Version: BYTE, + pub Reserved2: [BYTE; 7usize], +} +#[test] +fn bindgen_test_layout__FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableIntegrity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(EnableIntegrity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeepIntegrityStateUnchanged) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(KeepIntegrityStateUnchanged) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Reserved2) + ) + ); +} +pub type FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX = _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX; +pub type PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX = + *mut _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_READ_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub TokenTimeToLive: DWORD, + pub Reserved: DWORD, + pub FileOffset: DWORDLONG, + pub CopyLength: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_READ_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_READ_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_READ_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_READ_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_READ_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenTimeToLive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(TokenTimeToLive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(CopyLength) + ) + ); +} +pub type FSCTL_OFFLOAD_READ_INPUT = _FSCTL_OFFLOAD_READ_INPUT; +pub type PFSCTL_OFFLOAD_READ_INPUT = *mut _FSCTL_OFFLOAD_READ_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_READ_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub TransferLength: DWORDLONG, + pub Token: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_READ_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_READ_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_READ_OUTPUT>(), + 528usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_READ_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(TransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Token) + ) + ); +} +pub type FSCTL_OFFLOAD_READ_OUTPUT = _FSCTL_OFFLOAD_READ_OUTPUT; +pub type PFSCTL_OFFLOAD_READ_OUTPUT = *mut _FSCTL_OFFLOAD_READ_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_WRITE_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub FileOffset: DWORDLONG, + pub CopyLength: DWORDLONG, + pub TransferOffset: DWORDLONG, + pub Token: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_WRITE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_WRITE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_WRITE_INPUT>(), + 544usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_WRITE_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(CopyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(TransferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Token) + ) + ); +} +pub type FSCTL_OFFLOAD_WRITE_INPUT = _FSCTL_OFFLOAD_WRITE_INPUT; +pub type PFSCTL_OFFLOAD_WRITE_INPUT = *mut _FSCTL_OFFLOAD_WRITE_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_WRITE_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub LengthWritten: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_WRITE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_WRITE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_WRITE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_WRITE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthWritten) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(LengthWritten) + ) + ); +} +pub type FSCTL_OFFLOAD_WRITE_OUTPUT = _FSCTL_OFFLOAD_WRITE_OUTPUT; +pub type PFSCTL_OFFLOAD_WRITE_OUTPUT = *mut _FSCTL_OFFLOAD_WRITE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_PURGE_FAILURE_MODE_INPUT { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__SET_PURGE_FAILURE_MODE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PURGE_FAILURE_MODE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PURGE_FAILURE_MODE_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_SET_PURGE_FAILURE_MODE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PURGE_FAILURE_MODE_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SET_PURGE_FAILURE_MODE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PURGE_FAILURE_MODE_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type SET_PURGE_FAILURE_MODE_INPUT = _SET_PURGE_FAILURE_MODE_INPUT; +pub type PSET_PURGE_FAILURE_MODE_INPUT = *mut _SET_PURGE_FAILURE_MODE_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REPAIR_COPIES_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub FileOffset: LARGE_INTEGER, + pub Length: DWORD, + pub SourceCopy: DWORD, + pub NumberOfRepairCopies: DWORD, + pub RepairCopies: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__REPAIR_COPIES_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REPAIR_COPIES_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPAIR_COPIES_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_REPAIR_COPIES_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REPAIR_COPIES_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REPAIR_COPIES_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceCopy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(SourceCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRepairCopies) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(NumberOfRepairCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RepairCopies) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(RepairCopies) + ) + ); +} +pub type REPAIR_COPIES_INPUT = _REPAIR_COPIES_INPUT; +pub type PREPAIR_COPIES_INPUT = *mut _REPAIR_COPIES_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REPAIR_COPIES_OUTPUT { + pub Size: DWORD, + pub Status: DWORD, + pub ResumeFileOffset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__REPAIR_COPIES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REPAIR_COPIES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPAIR_COPIES_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_REPAIR_COPIES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REPAIR_COPIES_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REPAIR_COPIES_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(ResumeFileOffset) + ) + ); +} +pub type REPAIR_COPIES_OUTPUT = _REPAIR_COPIES_OUTPUT; +pub type PREPAIR_COPIES_OUTPUT = *mut _REPAIR_COPIES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_INFO { + pub FileOffset: LONGLONG, + pub Length: LONGLONG, + pub Usage: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_REGION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_REGION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_REGION_INFO = _FILE_REGION_INFO; +pub type PFILE_REGION_INFO = *mut _FILE_REGION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_OUTPUT { + pub Flags: DWORD, + pub TotalRegionEntryCount: DWORD, + pub RegionEntryCount: DWORD, + pub Reserved: DWORD, + pub Region: [FILE_REGION_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_REGION_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_OUTPUT>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_REGION_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalRegionEntryCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(TotalRegionEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionEntryCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(RegionEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Region) + ) + ); +} +pub type FILE_REGION_OUTPUT = _FILE_REGION_OUTPUT; +pub type PFILE_REGION_OUTPUT = *mut _FILE_REGION_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_INPUT { + pub FileOffset: LONGLONG, + pub Length: LONGLONG, + pub DesiredUsage: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_REGION_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_REGION_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(DesiredUsage) + ) + ); +} +pub type FILE_REGION_INPUT = _FILE_REGION_INPUT; +pub type PFILE_REGION_INPUT = *mut _FILE_REGION_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WRITE_USN_REASON_INPUT { + pub Flags: DWORD, + pub UsnReasonToWrite: DWORD, +} +#[test] +fn bindgen_test_layout__WRITE_USN_REASON_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WRITE_USN_REASON_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WRITE_USN_REASON_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WRITE_USN_REASON_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WRITE_USN_REASON_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_WRITE_USN_REASON_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WRITE_USN_REASON_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnReasonToWrite) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WRITE_USN_REASON_INPUT), + "::", + stringify!(UsnReasonToWrite) + ) + ); +} +pub type WRITE_USN_REASON_INPUT = _WRITE_USN_REASON_INPUT; +pub type PWRITE_USN_REASON_INPUT = *mut _WRITE_USN_REASON_INPUT; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeUnspecified: + _FILE_STORAGE_TIER_MEDIA_TYPE = 0; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeDisk: + _FILE_STORAGE_TIER_MEDIA_TYPE = 1; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeSsd: _FILE_STORAGE_TIER_MEDIA_TYPE = + 2; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeScm: _FILE_STORAGE_TIER_MEDIA_TYPE = + 4; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeMax: _FILE_STORAGE_TIER_MEDIA_TYPE = + 5; +pub type _FILE_STORAGE_TIER_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_FILE_STORAGE_TIER_MEDIA_TYPE as FILE_STORAGE_TIER_MEDIA_TYPE; +pub type PFILE_STORAGE_TIER_MEDIA_TYPE = *mut _FILE_STORAGE_TIER_MEDIA_TYPE; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassUnspecified: _FILE_STORAGE_TIER_CLASS = 0; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassCapacity: _FILE_STORAGE_TIER_CLASS = 1; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassPerformance: _FILE_STORAGE_TIER_CLASS = 2; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassMax: _FILE_STORAGE_TIER_CLASS = 3; +pub type _FILE_STORAGE_TIER_CLASS = ::std::os::raw::c_int; +pub use self::_FILE_STORAGE_TIER_CLASS as FILE_STORAGE_TIER_CLASS; +pub type PFILE_STORAGE_TIER_CLASS = *mut _FILE_STORAGE_TIER_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_TIER { + pub Id: GUID, + pub Name: [WCHAR; 256usize], + pub Description: [WCHAR; 256usize], + pub Flags: DWORDLONG, + pub ProvisionedCapacity: DWORDLONG, + pub MediaType: FILE_STORAGE_TIER_MEDIA_TYPE, + pub Class: FILE_STORAGE_TIER_CLASS, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_TIER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_TIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_TIER>(), + 1064usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_TIER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_TIER>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_TIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Description) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 1040usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProvisionedCapacity) as usize - ptr as usize }, + 1048usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(ProvisionedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 1056usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 1060usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Class) + ) + ); +} +pub type FILE_STORAGE_TIER = _FILE_STORAGE_TIER; +pub type PFILE_STORAGE_TIER = *mut _FILE_STORAGE_TIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub TotalNumberOfTiers: DWORD, + pub NumberOfTiersReturned: DWORD, + pub Tiers: [FILE_STORAGE_TIER; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_STORAGE_CLASSES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>(), + 1088usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfTiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(TotalNumberOfTiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTiersReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(NumberOfTiersReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tiers) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Tiers) + ) + ); +} +pub type FSCTL_QUERY_STORAGE_CLASSES_OUTPUT = _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT; +pub type PFSCTL_QUERY_STORAGE_CLASSES_OUTPUT = *mut _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY { + pub Version: DWORD, + pub Flags: DWORD, + pub StreamInformation: _STREAM_INFORMATION_ENTRY__StreamInformation, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STREAM_INFORMATION_ENTRY__StreamInformation { + pub DesiredStorageClass: _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, + pub DataStream: _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream, + pub Reparse: _STREAM_INFORMATION_ENTRY__StreamInformation__Reparse, + pub Ea: _STREAM_INFORMATION_ENTRY__StreamInformation__Ea, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass { + pub Class: FILE_STORAGE_TIER_CLASS, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass() { + const UNINIT: ::std::mem::MaybeUninit< + _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), + "::", + stringify!(Class) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), + "::", + stringify!(Flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream { + pub Length: WORD, + pub Flags: WORD, + pub Reserved: DWORD, + pub Vdl: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__DataStream() { + const UNINIT: ::std::mem::MaybeUninit< + _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vdl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Vdl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__Reparse { + pub Length: WORD, + pub Flags: WORD, + pub ReparseDataSize: DWORD, + pub ReparseDataOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__Reparse() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(ReparseDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(ReparseDataOffset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__Ea { + pub Length: WORD, + pub Flags: WORD, + pub EaSize: DWORD, + pub EaInformationOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__Ea() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaInformationOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(EaInformationOffset) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredStorageClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(DesiredStorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(DataStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reparse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(Reparse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ea) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(Ea) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_STREAM_INFORMATION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_INFORMATION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamInformation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(StreamInformation) + ) + ); +} +pub type STREAM_INFORMATION_ENTRY = _STREAM_INFORMATION_ENTRY; +pub type PSTREAM_INFORMATION_ENTRY = *mut _STREAM_INFORMATION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_REGION_INFO_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NumberOfTierIds: DWORD, + pub TierIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_REGION_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_REGION_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_REGION_INFO_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_REGION_INFO_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTierIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(NumberOfTierIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierIds) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(TierIds) + ) + ); +} +pub type FSCTL_QUERY_REGION_INFO_INPUT = _FSCTL_QUERY_REGION_INFO_INPUT; +pub type PFSCTL_QUERY_REGION_INFO_INPUT = *mut _FSCTL_QUERY_REGION_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_TIER_REGION { + pub TierId: GUID, + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_TIER_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_TIER_REGION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_TIER_REGION>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_TIER_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_TIER_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_TIER_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(TierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_STORAGE_TIER_REGION = _FILE_STORAGE_TIER_REGION; +pub type PFILE_STORAGE_TIER_REGION = *mut _FILE_STORAGE_TIER_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_REGION_INFO_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, + pub Alignment: DWORDLONG, + pub TotalNumberOfRegions: DWORD, + pub NumberOfRegionsReturned: DWORD, + pub Regions: [FILE_STORAGE_TIER_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_REGION_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_REGION_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_REGION_INFO_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_REGION_INFO_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRegions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(TotalNumberOfRegions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRegionsReturned) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(NumberOfRegionsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Regions) + ) + ); +} +pub type FSCTL_QUERY_REGION_INFO_OUTPUT = _FSCTL_QUERY_REGION_INFO_OUTPUT; +pub type PFSCTL_QUERY_REGION_INFO_OUTPUT = *mut _FSCTL_QUERY_REGION_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DESIRED_STORAGE_CLASS_INFORMATION { + pub Class: FILE_STORAGE_TIER_CLASS, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_DESIRED_STORAGE_CLASS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DESIRED_STORAGE_CLASS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION), + "::", + stringify!(Class) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_DESIRED_STORAGE_CLASS_INFORMATION = _FILE_DESIRED_STORAGE_CLASS_INFORMATION; +pub type PFILE_DESIRED_STORAGE_CLASS_INFORMATION = *mut _FILE_DESIRED_STORAGE_CLASS_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA { + pub FileHandle: HANDLE, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(ByteCount) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA = _DUPLICATE_EXTENTS_DATA; +pub type PDUPLICATE_EXTENTS_DATA = *mut _DUPLICATE_EXTENTS_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA32 { + pub FileHandle: UINT32, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(ByteCount) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA32 = _DUPLICATE_EXTENTS_DATA32; +pub type PDUPLICATE_EXTENTS_DATA32 = *mut _DUPLICATE_EXTENTS_DATA32; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA_EX { + pub Size: SIZE_T, + pub FileHandle: HANDLE, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA_EX>(), + 48usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA_EX = _DUPLICATE_EXTENTS_DATA_EX; +pub type PDUPLICATE_EXTENTS_DATA_EX = *mut _DUPLICATE_EXTENTS_DATA_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA_EX32 { + pub Size: DWORD32, + pub FileHandle: DWORD32, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA_EX32() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA_EX32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA_EX32>(), + 40usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA_EX32>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(Flags) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA_EX32 = _DUPLICATE_EXTENTS_DATA_EX32; +pub type PDUPLICATE_EXTENTS_DATA_EX32 = *mut _DUPLICATE_EXTENTS_DATA_EX32; +pub const _DUPLICATE_EXTENTS_STATE_FileSnapStateInactive: _DUPLICATE_EXTENTS_STATE = 0; +pub const _DUPLICATE_EXTENTS_STATE_FileSnapStateSource: _DUPLICATE_EXTENTS_STATE = 1; +pub const _DUPLICATE_EXTENTS_STATE_FileSnapStateTarget: _DUPLICATE_EXTENTS_STATE = 2; +pub type _DUPLICATE_EXTENTS_STATE = ::std::os::raw::c_int; +pub use self::_DUPLICATE_EXTENTS_STATE as DUPLICATE_EXTENTS_STATE; +pub type PDUPLICATE_EXTENTS_STATE = *mut _DUPLICATE_EXTENTS_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ASYNC_DUPLICATE_EXTENTS_STATUS { + pub Version: DWORD, + pub State: DUPLICATE_EXTENTS_STATE, + pub SourceFileOffset: DWORDLONG, + pub TargetFileOffset: DWORDLONG, + pub ByteCount: DWORDLONG, + pub BytesDuplicated: DWORDLONG, +} +#[test] +fn bindgen_test_layout__ASYNC_DUPLICATE_EXTENTS_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_ASYNC_DUPLICATE_EXTENTS_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ASYNC_DUPLICATE_EXTENTS_STATUS>(), + 40usize, + concat!("Size of: ", stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_ASYNC_DUPLICATE_EXTENTS_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesDuplicated) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ASYNC_DUPLICATE_EXTENTS_STATUS), + "::", + stringify!(BytesDuplicated) + ) + ); +} +pub type ASYNC_DUPLICATE_EXTENTS_STATUS = _ASYNC_DUPLICATE_EXTENTS_STATUS; +pub type PASYNC_DUPLICATE_EXTENTS_STATUS = *mut _ASYNC_DUPLICATE_EXTENTS_STATUS; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateInactive: _REFS_SMR_VOLUME_GC_STATE = 0; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStatePaused: _REFS_SMR_VOLUME_GC_STATE = 1; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActive: _REFS_SMR_VOLUME_GC_STATE = 2; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActiveFullSpeed: _REFS_SMR_VOLUME_GC_STATE = 3; +pub type _REFS_SMR_VOLUME_GC_STATE = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_STATE as REFS_SMR_VOLUME_GC_STATE; +pub type PREFS_SMR_VOLUME_GC_STATE = *mut _REFS_SMR_VOLUME_GC_STATE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REFS_SMR_VOLUME_INFO_OUTPUT { + pub Version: DWORD, + pub Flags: DWORD, + pub SizeOfRandomlyWritableTier: LARGE_INTEGER, + pub FreeSpaceInRandomlyWritableTier: LARGE_INTEGER, + pub SizeofSMRTier: LARGE_INTEGER, + pub FreeSpaceInSMRTier: LARGE_INTEGER, + pub UsableFreeSpaceInSMRTier: LARGE_INTEGER, + pub VolumeGcState: REFS_SMR_VOLUME_GC_STATE, + pub VolumeGcLastStatus: DWORD, + pub CurrentGcBandFillPercentage: DWORD, + pub Unused: [DWORDLONG; 6usize], +} +#[test] +fn bindgen_test_layout__REFS_SMR_VOLUME_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REFS_SMR_VOLUME_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REFS_SMR_VOLUME_INFO_OUTPUT>(), + 112usize, + concat!("Size of: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REFS_SMR_VOLUME_INFO_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfRandomlyWritableTier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(SizeOfRandomlyWritableTier) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FreeSpaceInRandomlyWritableTier) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(FreeSpaceInRandomlyWritableTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeofSMRTier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(SizeofSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpaceInSMRTier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(FreeSpaceInSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsableFreeSpaceInSMRTier) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(UsableFreeSpaceInSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeGcState) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(VolumeGcState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeGcLastStatus) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(VolumeGcLastStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentGcBandFillPercentage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(CurrentGcBandFillPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Unused) + ) + ); +} +pub type REFS_SMR_VOLUME_INFO_OUTPUT = _REFS_SMR_VOLUME_INFO_OUTPUT; +pub type PREFS_SMR_VOLUME_INFO_OUTPUT = *mut _REFS_SMR_VOLUME_INFO_OUTPUT; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStart: _REFS_SMR_VOLUME_GC_ACTION = 1; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStartFullSpeed: _REFS_SMR_VOLUME_GC_ACTION = 2; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionPause: _REFS_SMR_VOLUME_GC_ACTION = 3; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStop: _REFS_SMR_VOLUME_GC_ACTION = 4; +pub type _REFS_SMR_VOLUME_GC_ACTION = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_ACTION as REFS_SMR_VOLUME_GC_ACTION; +pub type PREFS_SMR_VOLUME_GC_ACTION = *mut _REFS_SMR_VOLUME_GC_ACTION; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompaction: _REFS_SMR_VOLUME_GC_METHOD = 1; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompression: _REFS_SMR_VOLUME_GC_METHOD = 2; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodRotation: _REFS_SMR_VOLUME_GC_METHOD = 3; +pub type _REFS_SMR_VOLUME_GC_METHOD = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_METHOD as REFS_SMR_VOLUME_GC_METHOD; +pub type PREFS_SMR_VOLUME_GC_METHOD = *mut _REFS_SMR_VOLUME_GC_METHOD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REFS_SMR_VOLUME_GC_PARAMETERS { + pub Version: DWORD, + pub Flags: DWORD, + pub Action: REFS_SMR_VOLUME_GC_ACTION, + pub Method: REFS_SMR_VOLUME_GC_METHOD, + pub IoGranularity: DWORD, + pub CompressionFormat: DWORD, + pub Unused: [DWORDLONG; 8usize], +} +#[test] +fn bindgen_test_layout__REFS_SMR_VOLUME_GC_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_REFS_SMR_VOLUME_GC_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REFS_SMR_VOLUME_GC_PARAMETERS>(), + 88usize, + concat!("Size of: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_REFS_SMR_VOLUME_GC_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoGranularity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(IoGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Unused) + ) + ); +} +pub type REFS_SMR_VOLUME_GC_PARAMETERS = _REFS_SMR_VOLUME_GC_PARAMETERS; +pub type PREFS_SMR_VOLUME_GC_PARAMETERS = *mut _REFS_SMR_VOLUME_GC_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER { + pub OptimalWriteSize: DWORD, + pub StreamGranularitySize: DWORD, + pub StreamIdMin: DWORD, + pub StreamIdMax: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalWriteSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(OptimalWriteSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamGranularitySize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamGranularitySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamIdMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamIdMax) + ) + ); +} +pub type STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER = _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER; +pub type PSTREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER = *mut _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_ASSOCIATE_ID_INPUT_BUFFER { + pub Flags: DWORD, + pub StreamId: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_ASSOCIATE_ID_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER), + "::", + stringify!(StreamId) + ) + ); +} +pub type STREAMS_ASSOCIATE_ID_INPUT_BUFFER = _STREAMS_ASSOCIATE_ID_INPUT_BUFFER; +pub type PSTREAMS_ASSOCIATE_ID_INPUT_BUFFER = *mut _STREAMS_ASSOCIATE_ID_INPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_QUERY_ID_OUTPUT_BUFFER { + pub StreamId: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_QUERY_ID_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_QUERY_ID_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_QUERY_ID_OUTPUT_BUFFER>(), + 4usize, + concat!("Size of: ", stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_QUERY_ID_OUTPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER), + "::", + stringify!(StreamId) + ) + ); +} +pub type STREAMS_QUERY_ID_OUTPUT_BUFFER = _STREAMS_QUERY_ID_OUTPUT_BUFFER; +pub type PSTREAMS_QUERY_ID_OUTPUT_BUFFER = *mut _STREAMS_QUERY_ID_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_INPUT_RANGE { + pub StartOffset: DWORDLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_INPUT_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_INPUT_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_INPUT_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_INPUT_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_INPUT_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_INPUT_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT_RANGE), + "::", + stringify!(StartOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type QUERY_BAD_RANGES_INPUT_RANGE = _QUERY_BAD_RANGES_INPUT_RANGE; +pub type PQUERY_BAD_RANGES_INPUT_RANGE = *mut _QUERY_BAD_RANGES_INPUT_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_INPUT { + pub Flags: DWORD, + pub NumRanges: DWORD, + pub Ranges: [QUERY_BAD_RANGES_INPUT_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(NumRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(Ranges) + ) + ); +} +pub type QUERY_BAD_RANGES_INPUT = _QUERY_BAD_RANGES_INPUT; +pub type PQUERY_BAD_RANGES_INPUT = *mut _QUERY_BAD_RANGES_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_OUTPUT_RANGE { + pub Flags: DWORD, + pub Reserved: DWORD, + pub StartOffset: DWORDLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_OUTPUT_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_OUTPUT_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_OUTPUT_RANGE>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_OUTPUT_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(StartOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type QUERY_BAD_RANGES_OUTPUT_RANGE = _QUERY_BAD_RANGES_OUTPUT_RANGE; +pub type PQUERY_BAD_RANGES_OUTPUT_RANGE = *mut _QUERY_BAD_RANGES_OUTPUT_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_OUTPUT { + pub Flags: DWORD, + pub NumBadRanges: DWORD, + pub NextOffsetToLookUp: DWORDLONG, + pub BadRanges: [QUERY_BAD_RANGES_OUTPUT_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_OUTPUT>(), + 40usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumBadRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(NumBadRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffsetToLookUp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(NextOffsetToLookUp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BadRanges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(BadRanges) + ) + ); +} +pub type QUERY_BAD_RANGES_OUTPUT = _QUERY_BAD_RANGES_OUTPUT; +pub type PQUERY_BAD_RANGES_OUTPUT = *mut _QUERY_BAD_RANGES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT { + pub Flags: DWORD, + pub AlignmentShift: DWORD, + pub FileOffsetToAlign: DWORDLONG, + pub FallbackAlignmentShift: DWORD, +} +#[test] +fn bindgen_test_layout__SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentShift) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(AlignmentShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffsetToAlign) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(FileOffsetToAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FallbackAlignmentShift) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(FallbackAlignmentShift) + ) + ); +} +pub type SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; +pub type PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = *mut _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorUndefined: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 0; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteThrough: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 1; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteBack: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 2; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorStopIoProcessing: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 3; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorRestartIoProcessing: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 4; +pub type _VIRTUAL_STORAGE_BEHAVIOR_CODE = ::std::os::raw::c_int; +pub use self::_VIRTUAL_STORAGE_BEHAVIOR_CODE as VIRTUAL_STORAGE_BEHAVIOR_CODE; +pub type PVIRTUAL_STORAGE_BEHAVIOR_CODE = *mut _VIRTUAL_STORAGE_BEHAVIOR_CODE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT { + pub Size: DWORD, + pub BehaviorCode: VIRTUAL_STORAGE_BEHAVIOR_CODE, +} +#[test] +fn bindgen_test_layout__VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BehaviorCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT), + "::", + stringify!(BehaviorCode) + ) + ); +} +pub type VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT = _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT; +pub type PVIRTUAL_STORAGE_SET_BEHAVIOR_INPUT = *mut _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_KEY_CTRL_INPUT { + pub HeaderSize: DWORD, + pub StructureSize: DWORD, + pub KeyOffset: WORD, + pub KeySize: WORD, + pub DplLock: DWORD, + pub DplUserId: DWORDLONG, + pub DplCredentialId: DWORDLONG, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_KEY_CTRL_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_KEY_CTRL_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_KEY_CTRL_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_KEY_CTRL_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(StructureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(KeyOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplLock) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplLock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplUserId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplUserId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplCredentialId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplCredentialId) + ) + ); +} +pub type ENCRYPTION_KEY_CTRL_INPUT = _ENCRYPTION_KEY_CTRL_INPUT; +pub type PENCRYPTION_KEY_CTRL_INPUT = *mut _ENCRYPTION_KEY_CTRL_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_EXTERNAL_INFO { + pub Version: DWORD, + pub Provider: DWORD, +} +#[test] +fn bindgen_test_layout__WOF_EXTERNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_EXTERNAL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_EXTERNAL_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_WOF_EXTERNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_EXTERNAL_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_WOF_EXTERNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Provider) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_INFO), + "::", + stringify!(Provider) + ) + ); +} +pub type WOF_EXTERNAL_INFO = _WOF_EXTERNAL_INFO; +pub type PWOF_EXTERNAL_INFO = *mut _WOF_EXTERNAL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_EXTERNAL_FILE_ID { + pub FileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout__WOF_EXTERNAL_FILE_ID() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_EXTERNAL_FILE_ID> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_EXTERNAL_FILE_ID>(), + 16usize, + concat!("Size of: ", stringify!(_WOF_EXTERNAL_FILE_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_EXTERNAL_FILE_ID>(), + 1usize, + concat!("Alignment of ", stringify!(_WOF_EXTERNAL_FILE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_FILE_ID), + "::", + stringify!(FileId) + ) + ); +} +pub type WOF_EXTERNAL_FILE_ID = _WOF_EXTERNAL_FILE_ID; +pub type PWOF_EXTERNAL_FILE_ID = *mut _WOF_EXTERNAL_FILE_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_VERSION_INFO { + pub WofVersion: DWORD, +} +#[test] +fn bindgen_test_layout__WOF_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_VERSION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_VERSION_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_WOF_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_VERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_WOF_VERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WofVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_VERSION_INFO), + "::", + stringify!(WofVersion) + ) + ); +} +pub type WOF_VERSION_INFO = _WOF_VERSION_INFO; +pub type PWOF_VERSION_INFO = *mut _WOF_VERSION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_EXTERNAL_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub DataSourceId: LARGE_INTEGER, + pub ResourceHash: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_EXTERNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_EXTERNAL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_EXTERNAL_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_EXTERNAL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceHash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(ResourceHash) + ) + ); +} +pub type WIM_PROVIDER_EXTERNAL_INFO = _WIM_PROVIDER_EXTERNAL_INFO; +pub type PWIM_PROVIDER_EXTERNAL_INFO = *mut _WIM_PROVIDER_EXTERNAL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIM_PROVIDER_ADD_OVERLAY_INPUT { + pub WimType: DWORD, + pub WimIndex: DWORD, + pub WimFileNameOffset: DWORD, + pub WimFileNameLength: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_ADD_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_ADD_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimFileNameLength) + ) + ); +} +pub type WIM_PROVIDER_ADD_OVERLAY_INPUT = _WIM_PROVIDER_ADD_OVERLAY_INPUT; +pub type PWIM_PROVIDER_ADD_OVERLAY_INPUT = *mut _WIM_PROVIDER_ADD_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_UPDATE_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, + pub WimFileNameOffset: DWORD, + pub WimFileNameLength: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_UPDATE_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(WimFileNameLength) + ) + ); +} +pub type WIM_PROVIDER_UPDATE_OVERLAY_INPUT = _WIM_PROVIDER_UPDATE_OVERLAY_INPUT; +pub type PWIM_PROVIDER_UPDATE_OVERLAY_INPUT = *mut _WIM_PROVIDER_UPDATE_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_REMOVE_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_REMOVE_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); +} +pub type WIM_PROVIDER_REMOVE_OVERLAY_INPUT = _WIM_PROVIDER_REMOVE_OVERLAY_INPUT; +pub type PWIM_PROVIDER_REMOVE_OVERLAY_INPUT = *mut _WIM_PROVIDER_REMOVE_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_SUSPEND_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); +} +pub type WIM_PROVIDER_SUSPEND_OVERLAY_INPUT = _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT; +pub type PWIM_PROVIDER_SUSPEND_OVERLAY_INPUT = *mut _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_OVERLAY_ENTRY { + pub NextEntryOffset: DWORD, + pub DataSourceId: LARGE_INTEGER, + pub WimGuid: GUID, + pub WimFileNameOffset: DWORD, + pub WimType: DWORD, + pub WimIndex: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_OVERLAY_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_OVERLAY_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_OVERLAY_ENTRY>(), + 48usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_OVERLAY_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimGuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimIndex) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(Flags) + ) + ); +} +pub type WIM_PROVIDER_OVERLAY_ENTRY = _WIM_PROVIDER_OVERLAY_ENTRY; +pub type PWIM_PROVIDER_OVERLAY_ENTRY = *mut _WIM_PROVIDER_OVERLAY_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PROVIDER_EXTERNAL_INFO_V0 { + pub Version: DWORD, + pub Algorithm: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_PROVIDER_EXTERNAL_INFO_V0() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PROVIDER_EXTERNAL_INFO_V0> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PROVIDER_EXTERNAL_INFO_V0>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PROVIDER_EXTERNAL_INFO_V0>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0), + "::", + stringify!(Algorithm) + ) + ); +} +pub type FILE_PROVIDER_EXTERNAL_INFO_V0 = _FILE_PROVIDER_EXTERNAL_INFO_V0; +pub type PFILE_PROVIDER_EXTERNAL_INFO_V0 = *mut _FILE_PROVIDER_EXTERNAL_INFO_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PROVIDER_EXTERNAL_INFO_V1 { + pub Version: DWORD, + pub Algorithm: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_PROVIDER_EXTERNAL_INFO_V1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PROVIDER_EXTERNAL_INFO_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PROVIDER_EXTERNAL_INFO_V1>(), + 12usize, + concat!("Size of: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PROVIDER_EXTERNAL_INFO_V1>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_PROVIDER_EXTERNAL_INFO_V1 = _FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type PFILE_PROVIDER_EXTERNAL_INFO_V1 = *mut _FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type FILE_PROVIDER_EXTERNAL_INFO = FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type PFILE_PROVIDER_EXTERNAL_INFO = PFILE_PROVIDER_EXTERNAL_INFO_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_VOLUME_STATE { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CONTAINER_VOLUME_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_VOLUME_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_VOLUME_STATE>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_VOLUME_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_VOLUME_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_CONTAINER_VOLUME_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_VOLUME_STATE), + "::", + stringify!(Flags) + ) + ); +} +pub type CONTAINER_VOLUME_STATE = _CONTAINER_VOLUME_STATE; +pub type PCONTAINER_VOLUME_STATE = *mut _CONTAINER_VOLUME_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_ROOT_INFO_INPUT { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CONTAINER_ROOT_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_ROOT_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_ROOT_INFO_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_ROOT_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_ROOT_INFO_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_CONTAINER_ROOT_INFO_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type CONTAINER_ROOT_INFO_INPUT = _CONTAINER_ROOT_INFO_INPUT; +pub type PCONTAINER_ROOT_INFO_INPUT = *mut _CONTAINER_ROOT_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_ROOT_INFO_OUTPUT { + pub ContainerRootIdLength: WORD, + pub ContainerRootId: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__CONTAINER_ROOT_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_ROOT_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_ROOT_INFO_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_ROOT_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_ROOT_INFO_OUTPUT>(), + 2usize, + concat!("Alignment of ", stringify!(_CONTAINER_ROOT_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContainerRootIdLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_OUTPUT), + "::", + stringify!(ContainerRootIdLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContainerRootId) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_OUTPUT), + "::", + stringify!(ContainerRootId) + ) + ); +} +pub type CONTAINER_ROOT_INFO_OUTPUT = _CONTAINER_ROOT_INFO_OUTPUT; +pub type PCONTAINER_ROOT_INFO_OUTPUT = *mut _CONTAINER_ROOT_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_INPUT { + pub NumberOfWorkerThreads: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfWorkerThreads) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT), + "::", + stringify!(NumberOfWorkerThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_INPUT = _VIRTUALIZATION_INSTANCE_INFO_INPUT; +pub type PVIRTUALIZATION_INSTANCE_INFO_INPUT = *mut _VIRTUALIZATION_INSTANCE_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX { + pub HeaderSize: WORD, + pub Flags: DWORD, + pub NotificationInfoSize: DWORD, + pub NotificationInfoOffset: WORD, + pub ProviderMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_INPUT_EX() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>(), + 16usize, + concat!( + "Size of: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationInfoSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(NotificationInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationInfoOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(NotificationInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderMajorVersion) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(ProviderMajorVersion) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_INPUT_EX = _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX; +pub type PVIRTUALIZATION_INSTANCE_INFO_INPUT_EX = *mut _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_OUTPUT { + pub VirtualizationInstanceID: GUID, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT>(), + 16usize, + concat!( + "Size of: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualizationInstanceID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT), + "::", + stringify!(VirtualizationInstanceID) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_OUTPUT = _VIRTUALIZATION_INSTANCE_INFO_OUTPUT; +pub type PVIRTUALIZATION_INSTANCE_INFO_OUTPUT = *mut _VIRTUALIZATION_INSTANCE_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_FILTER_FILE_IDENTIFIER_INPUT { + pub AltitudeLength: WORD, + pub Altitude: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__GET_FILTER_FILE_IDENTIFIER_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_GET_FILTER_FILE_IDENTIFIER_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_FILTER_FILE_IDENTIFIER_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_FILTER_FILE_IDENTIFIER_INPUT>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AltitudeLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT), + "::", + stringify!(AltitudeLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Altitude) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT), + "::", + stringify!(Altitude) + ) + ); +} +pub type GET_FILTER_FILE_IDENTIFIER_INPUT = _GET_FILTER_FILE_IDENTIFIER_INPUT; +pub type PGET_FILTER_FILE_IDENTIFIER_INPUT = *mut _GET_FILTER_FILE_IDENTIFIER_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_FILTER_FILE_IDENTIFIER_OUTPUT { + pub FilterFileIdentifierLength: WORD, + pub FilterFileIdentifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__GET_FILTER_FILE_IDENTIFIER_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_GET_FILTER_FILE_IDENTIFIER_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterFileIdentifierLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), + "::", + stringify!(FilterFileIdentifierLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterFileIdentifier) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), + "::", + stringify!(FilterFileIdentifier) + ) + ); +} +pub type GET_FILTER_FILE_IDENTIFIER_OUTPUT = _GET_FILTER_FILE_IDENTIFIER_OUTPUT; +pub type PGET_FILTER_FILE_IDENTIFIER_OUTPUT = *mut _GET_FILTER_FILE_IDENTIFIER_OUTPUT; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_ENABLE: _FS_BPIO_OPERATIONS = 1; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_DISABLE: _FS_BPIO_OPERATIONS = 2; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_QUERY: _FS_BPIO_OPERATIONS = 3; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_VOLUME_STACK_PAUSE: _FS_BPIO_OPERATIONS = 4; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_VOLUME_STACK_RESUME: _FS_BPIO_OPERATIONS = 5; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_STREAM_PAUSE: _FS_BPIO_OPERATIONS = 6; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_STREAM_RESUME: _FS_BPIO_OPERATIONS = 7; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_GET_INFO: _FS_BPIO_OPERATIONS = 8; +pub const _FS_BPIO_OPERATIONS_FS_BPIO_OP_MAX_OPERATION: _FS_BPIO_OPERATIONS = 9; +pub type _FS_BPIO_OPERATIONS = ::std::os::raw::c_int; +pub use self::_FS_BPIO_OPERATIONS as FS_BPIO_OPERATIONS; +pub const _FS_BPIO_INFLAGS_FSBPIO_INFL_None: _FS_BPIO_INFLAGS = 0; +pub const _FS_BPIO_INFLAGS_FSBPIO_INFL_SKIP_STORAGE_STACK_QUERY: _FS_BPIO_INFLAGS = 1; +pub type _FS_BPIO_INFLAGS = ::std::os::raw::c_int; +pub use self::_FS_BPIO_INFLAGS as FS_BPIO_INFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FS_BPIO_INPUT { + pub Operation: FS_BPIO_OPERATIONS, + pub InFlags: FS_BPIO_INFLAGS, + pub Reserved1: DWORDLONG, + pub Reserved2: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FS_BPIO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FS_BPIO_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FS_BPIO_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_FS_BPIO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FS_BPIO_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FS_BPIO_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INPUT), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INPUT), + "::", + stringify!(InFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INPUT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INPUT), + "::", + stringify!(Reserved2) + ) + ); +} +pub type FS_BPIO_INPUT = _FS_BPIO_INPUT; +pub type PFS_BPIO_INPUT = *mut _FS_BPIO_INPUT; +pub const _FS_BPIO_OUTFLAGS_FSBPIO_OUTFL_None: _FS_BPIO_OUTFLAGS = 0; +pub const _FS_BPIO_OUTFLAGS_FSBPIO_OUTFL_VOLUME_STACK_BYPASS_PAUSED: _FS_BPIO_OUTFLAGS = 1; +pub const _FS_BPIO_OUTFLAGS_FSBPIO_OUTFL_STREAM_BYPASS_PAUSED: _FS_BPIO_OUTFLAGS = 2; +pub const _FS_BPIO_OUTFLAGS_FSBPIO_OUTFL_FILTER_ATTACH_BLOCKED: _FS_BPIO_OUTFLAGS = 4; +pub const _FS_BPIO_OUTFLAGS_FSBPIO_OUTFL_COMPATIBLE_STORAGE_DRIVER: _FS_BPIO_OUTFLAGS = 8; +pub type _FS_BPIO_OUTFLAGS = ::std::os::raw::c_int; +pub use self::_FS_BPIO_OUTFLAGS as FS_BPIO_OUTFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FS_BPIO_RESULTS { + pub OpStatus: DWORD, + pub FailingDriverNameLen: WORD, + pub FailingDriverName: [WCHAR; 32usize], + pub FailureReasonLen: WORD, + pub FailureReason: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__FS_BPIO_RESULTS() { + const UNINIT: ::std::mem::MaybeUninit<_FS_BPIO_RESULTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FS_BPIO_RESULTS>(), + 328usize, + concat!("Size of: ", stringify!(_FS_BPIO_RESULTS)) + ); + assert_eq!( + ::std::mem::align_of::<_FS_BPIO_RESULTS>(), + 4usize, + concat!("Alignment of ", stringify!(_FS_BPIO_RESULTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_RESULTS), + "::", + stringify!(OpStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailingDriverNameLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_RESULTS), + "::", + stringify!(FailingDriverNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailingDriverName) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_RESULTS), + "::", + stringify!(FailingDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailureReasonLen) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_RESULTS), + "::", + stringify!(FailureReasonLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailureReason) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_RESULTS), + "::", + stringify!(FailureReason) + ) + ); +} +pub type FS_BPIO_RESULTS = _FS_BPIO_RESULTS; +pub type PFS_BPIO_RESULTS = *mut _FS_BPIO_RESULTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FS_BPIO_INFO { + pub ActiveBypassIoCount: DWORD, + pub StorageDriverNameLen: WORD, + pub StorageDriverName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout__FS_BPIO_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FS_BPIO_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FS_BPIO_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_FS_BPIO_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FS_BPIO_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FS_BPIO_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveBypassIoCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INFO), + "::", + stringify!(ActiveBypassIoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageDriverNameLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INFO), + "::", + stringify!(StorageDriverNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageDriverName) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_INFO), + "::", + stringify!(StorageDriverName) + ) + ); +} +pub type FS_BPIO_INFO = _FS_BPIO_INFO; +pub type PFS_BPIO_INFO = *mut _FS_BPIO_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FS_BPIO_OUTPUT { + pub Operation: FS_BPIO_OPERATIONS, + pub OutFlags: FS_BPIO_OUTFLAGS, + pub Reserved1: DWORDLONG, + pub Reserved2: DWORDLONG, + pub __bindgen_anon_1: _FS_BPIO_OUTPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FS_BPIO_OUTPUT__bindgen_ty_1 { + pub Enable: FS_BPIO_RESULTS, + pub Query: FS_BPIO_RESULTS, + pub VolumeStackResume: FS_BPIO_RESULTS, + pub StreamResume: FS_BPIO_RESULTS, + pub GetInfo: FS_BPIO_INFO, +} +#[test] +fn bindgen_test_layout__FS_BPIO_OUTPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FS_BPIO_OUTPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FS_BPIO_OUTPUT__bindgen_ty_1>(), + 328usize, + concat!("Size of: ", stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_FS_BPIO_OUTPUT__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1), + "::", + stringify!(Enable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Query) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1), + "::", + stringify!(Query) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeStackResume) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1), + "::", + stringify!(VolumeStackResume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamResume) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1), + "::", + stringify!(StreamResume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT__bindgen_ty_1), + "::", + stringify!(GetInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__FS_BPIO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FS_BPIO_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FS_BPIO_OUTPUT>(), + 352usize, + concat!("Size of: ", stringify!(_FS_BPIO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FS_BPIO_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FS_BPIO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT), + "::", + stringify!(OutFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FS_BPIO_OUTPUT), + "::", + stringify!(Reserved2) + ) + ); +} +pub type FS_BPIO_OUTPUT = _FS_BPIO_OUTPUT; +pub type PFS_BPIO_OUTPUT = *mut _FS_BPIO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SMB_SHARE_FLUSH_AND_PURGE_INPUT { + pub Version: WORD, +} +#[test] +fn bindgen_test_layout__SMB_SHARE_FLUSH_AND_PURGE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SMB_SHARE_FLUSH_AND_PURGE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SMB_SHARE_FLUSH_AND_PURGE_INPUT>(), + 2usize, + concat!("Size of: ", stringify!(_SMB_SHARE_FLUSH_AND_PURGE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SMB_SHARE_FLUSH_AND_PURGE_INPUT>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_SMB_SHARE_FLUSH_AND_PURGE_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SMB_SHARE_FLUSH_AND_PURGE_INPUT), + "::", + stringify!(Version) + ) + ); +} +pub type SMB_SHARE_FLUSH_AND_PURGE_INPUT = _SMB_SHARE_FLUSH_AND_PURGE_INPUT; +pub type PSMB_SHARE_FLUSH_AND_PURGE_INPUT = *mut _SMB_SHARE_FLUSH_AND_PURGE_INPUT; +pub type PCSMB_SHARE_FLUSH_AND_PURGE_INPUT = *const _SMB_SHARE_FLUSH_AND_PURGE_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SMB_SHARE_FLUSH_AND_PURGE_OUTPUT { + pub cEntriesPurged: DWORD, +} +#[test] +fn bindgen_test_layout__SMB_SHARE_FLUSH_AND_PURGE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cEntriesPurged) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SMB_SHARE_FLUSH_AND_PURGE_OUTPUT), + "::", + stringify!(cEntriesPurged) + ) + ); +} +pub type SMB_SHARE_FLUSH_AND_PURGE_OUTPUT = _SMB_SHARE_FLUSH_AND_PURGE_OUTPUT; +pub type PSMB_SHARE_FLUSH_AND_PURGE_OUTPUT = *mut _SMB_SHARE_FLUSH_AND_PURGE_OUTPUT; +pub type PCSMB_SHARE_FLUSH_AND_PURGE_OUTPUT = *const _SMB_SHARE_FLUSH_AND_PURGE_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_EXTENT { + pub DiskNumber: DWORD, + pub StartingOffset: LARGE_INTEGER, + pub ExtentLength: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DISK_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_EXTENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_EXTENT>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_EXTENT>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(DiskNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(ExtentLength) + ) + ); +} +pub type DISK_EXTENT = _DISK_EXTENT; +pub type PDISK_EXTENT = *mut _DISK_EXTENT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _VOLUME_DISK_EXTENTS { + pub NumberOfDiskExtents: DWORD, + pub Extents: [DISK_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout__VOLUME_DISK_EXTENTS() { + const UNINIT: ::std::mem::MaybeUninit<_VOLUME_DISK_EXTENTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VOLUME_DISK_EXTENTS>(), + 32usize, + concat!("Size of: ", stringify!(_VOLUME_DISK_EXTENTS)) + ); + assert_eq!( + ::std::mem::align_of::<_VOLUME_DISK_EXTENTS>(), + 8usize, + concat!("Alignment of ", stringify!(_VOLUME_DISK_EXTENTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDiskExtents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_DISK_EXTENTS), + "::", + stringify!(NumberOfDiskExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_DISK_EXTENTS), + "::", + stringify!(Extents) + ) + ); +} +pub type VOLUME_DISK_EXTENTS = _VOLUME_DISK_EXTENTS; +pub type PVOLUME_DISK_EXTENTS = *mut _VOLUME_DISK_EXTENTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION { + pub GptAttributes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__VOLUME_GET_GPT_ATTRIBUTES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GptAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION), + "::", + stringify!(GptAttributes) + ) + ); +} +pub type VOLUME_GET_GPT_ATTRIBUTES_INFORMATION = _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION; +pub type PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION = *mut _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION; +pub type PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + SourceContext: *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER, + TargetContext: *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER, + RelativeOffset: LONGLONG, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_IRP_EXT_TRACK_OFFSET_HEADER { + pub Validation: WORD, + pub Flags: WORD, + pub TrackedOffsetCallback: PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK, +} +#[test] +fn bindgen_test_layout__IO_IRP_EXT_TRACK_OFFSET_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IO_IRP_EXT_TRACK_OFFSET_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Validation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(Validation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrackedOffsetCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(TrackedOffsetCallback) + ) + ); +} +pub type IO_IRP_EXT_TRACK_OFFSET_HEADER = _IO_IRP_EXT_TRACK_OFFSET_HEADER; +pub type PIO_IRP_EXT_TRACK_OFFSET_HEADER = *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER; +pub type UWORD = WORD; +extern "C" { + pub static GUID_DEVINTERFACE_SMARTCARD_READER: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_IO_REQUEST { + pub dwProtocol: DWORD, + pub cbPciLength: DWORD, +} +#[test] +fn bindgen_test_layout__SCARD_IO_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_IO_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_IO_REQUEST>(), + 8usize, + concat!("Size of: ", stringify!(_SCARD_IO_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_IO_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_IO_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProtocol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_IO_REQUEST), + "::", + stringify!(dwProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPciLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_IO_REQUEST), + "::", + stringify!(cbPciLength) + ) + ); +} +pub type SCARD_IO_REQUEST = _SCARD_IO_REQUEST; +pub type PSCARD_IO_REQUEST = *mut _SCARD_IO_REQUEST; +pub type LPSCARD_IO_REQUEST = *mut _SCARD_IO_REQUEST; +pub type LPCSCARD_IO_REQUEST = *const SCARD_IO_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_T0_COMMAND { + pub bCla: BYTE, + pub bIns: BYTE, + pub bP1: BYTE, + pub bP2: BYTE, + pub bP3: BYTE, +} +#[test] +fn bindgen_test_layout__SCARD_T0_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_COMMAND> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_COMMAND>(), + 5usize, + concat!("Size of: ", stringify!(_SCARD_T0_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_COMMAND>(), + 1usize, + concat!("Alignment of ", stringify!(_SCARD_T0_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCla) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bCla) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIns) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bIns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP2) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP3) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP3) + ) + ); +} +pub type SCARD_T0_COMMAND = _SCARD_T0_COMMAND; +pub type LPSCARD_T0_COMMAND = *mut _SCARD_T0_COMMAND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SCARD_T0_REQUEST { + pub ioRequest: SCARD_IO_REQUEST, + pub bSw1: BYTE, + pub bSw2: BYTE, + pub __bindgen_anon_1: _SCARD_T0_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SCARD_T0_REQUEST__bindgen_ty_1 { + pub CmdBytes: SCARD_T0_COMMAND, + pub rgbHeader: [BYTE; 5usize], +} +#[test] +fn bindgen_test_layout__SCARD_T0_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_REQUEST__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_REQUEST__bindgen_ty_1>(), + 5usize, + concat!("Size of: ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_REQUEST__bindgen_ty_1>(), + 1usize, + concat!("Alignment of ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CmdBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), + "::", + stringify!(CmdBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), + "::", + stringify!(rgbHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__SCARD_T0_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_SCARD_T0_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_T0_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(ioRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSw1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(bSw1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSw2) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(bSw2) + ) + ); +} +pub type SCARD_T0_REQUEST = _SCARD_T0_REQUEST; +pub type PSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +pub type LPSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_T1_REQUEST { + pub ioRequest: SCARD_IO_REQUEST, +} +#[test] +fn bindgen_test_layout__SCARD_T1_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T1_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T1_REQUEST>(), + 8usize, + concat!("Size of: ", stringify!(_SCARD_T1_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T1_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_T1_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T1_REQUEST), + "::", + stringify!(ioRequest) + ) + ); +} +pub type SCARD_T1_REQUEST = _SCARD_T1_REQUEST; +pub type PSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub type LPSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub type LPCBYTE = *const BYTE; +extern "C" { + pub static g_rgSCardT0Pci: SCARD_IO_REQUEST; +} +extern "C" { + pub static g_rgSCardT1Pci: SCARD_IO_REQUEST; +} +extern "C" { + pub static g_rgSCardRawPci: SCARD_IO_REQUEST; +} +pub type SCARDCONTEXT = ULONG_PTR; +pub type PSCARDCONTEXT = *mut SCARDCONTEXT; +pub type LPSCARDCONTEXT = *mut SCARDCONTEXT; +pub type SCARDHANDLE = ULONG_PTR; +pub type PSCARDHANDLE = *mut SCARDHANDLE; +pub type LPSCARDHANDLE = *mut SCARDHANDLE; +extern "C" { + pub fn SCardEstablishContext( + dwScope: DWORD, + pvReserved1: LPCVOID, + pvReserved2: LPCVOID, + phContext: LPSCARDCONTEXT, + ) -> LONG; +} +extern "C" { + pub fn SCardReleaseContext(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardIsValidContext(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardListReaderGroupsA( + hContext: SCARDCONTEXT, + mszGroups: LPSTR, + pcchGroups: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReaderGroupsW( + hContext: SCARDCONTEXT, + mszGroups: LPWSTR, + pcchGroups: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersA( + hContext: SCARDCONTEXT, + mszGroups: LPCSTR, + mszReaders: LPSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersW( + hContext: SCARDCONTEXT, + mszGroups: LPCWSTR, + mszReaders: LPWSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListCardsA( + hContext: SCARDCONTEXT, + pbAtr: LPCBYTE, + rgquidInterfaces: LPCGUID, + cguidInterfaceCount: DWORD, + mszCards: *mut CHAR, + pcchCards: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListCardsW( + hContext: SCARDCONTEXT, + pbAtr: LPCBYTE, + rgquidInterfaces: LPCGUID, + cguidInterfaceCount: DWORD, + mszCards: *mut WCHAR, + pcchCards: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListInterfacesA( + hContext: SCARDCONTEXT, + szCard: LPCSTR, + pguidInterfaces: LPGUID, + pcguidInterfaces: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListInterfacesW( + hContext: SCARDCONTEXT, + szCard: LPCWSTR, + pguidInterfaces: LPGUID, + pcguidInterfaces: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetProviderIdA( + hContext: SCARDCONTEXT, + szCard: LPCSTR, + pguidProviderId: LPGUID, + ) -> LONG; +} +extern "C" { + pub fn SCardGetProviderIdW( + hContext: SCARDCONTEXT, + szCard: LPCWSTR, + pguidProviderId: LPGUID, + ) -> LONG; +} +extern "C" { + pub fn SCardGetCardTypeProviderNameA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + dwProviderId: DWORD, + szProvider: *mut CHAR, + pcchProvider: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetCardTypeProviderNameW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + dwProviderId: DWORD, + szProvider: *mut WCHAR, + pcchProvider: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderGroupA(hContext: SCARDCONTEXT, szGroupName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderGroupW(hContext: SCARDCONTEXT, szGroupName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderGroupA(hContext: SCARDCONTEXT, szGroupName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderGroupW(hContext: SCARDCONTEXT, szGroupName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szDeviceName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szDeviceName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderA(hContext: SCARDCONTEXT, szReaderName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderW(hContext: SCARDCONTEXT, szReaderName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardAddReaderToGroupA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szGroupName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardAddReaderToGroupW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szGroupName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardRemoveReaderFromGroupA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szGroupName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardRemoveReaderFromGroupW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szGroupName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceCardTypeA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + pguidPrimaryProvider: LPCGUID, + rgguidInterfaces: LPCGUID, + dwInterfaceCount: DWORD, + pbAtr: LPCBYTE, + pbAtrMask: LPCBYTE, + cbAtrLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceCardTypeW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + pguidPrimaryProvider: LPCGUID, + rgguidInterfaces: LPCGUID, + dwInterfaceCount: DWORD, + pbAtr: LPCBYTE, + pbAtrMask: LPCBYTE, + cbAtrLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardSetCardTypeProviderNameA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + dwProviderId: DWORD, + szProvider: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardSetCardTypeProviderNameW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + dwProviderId: DWORD, + szProvider: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardForgetCardTypeA(hContext: SCARDCONTEXT, szCardName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetCardTypeW(hContext: SCARDCONTEXT, szCardName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardFreeMemory(hContext: SCARDCONTEXT, pvMem: LPCVOID) -> LONG; +} +extern "C" { + pub fn SCardAccessStartedEvent() -> HANDLE; +} +extern "C" { + pub fn SCardReleaseStartedEvent(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SCARD_READERSTATEA { + pub szReader: LPCSTR, + pub pvUserData: LPVOID, + pub dwCurrentState: DWORD, + pub dwEventState: DWORD, + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout_SCARD_READERSTATEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(SCARD_READERSTATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SCARD_READERSTATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szReader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(szReader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(dwEventState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(rgbAtr) + ) + ); +} +pub type PSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +pub type LPSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SCARD_READERSTATEW { + pub szReader: LPCWSTR, + pub pvUserData: LPVOID, + pub dwCurrentState: DWORD, + pub dwEventState: DWORD, + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout_SCARD_READERSTATEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(SCARD_READERSTATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SCARD_READERSTATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szReader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(szReader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(dwEventState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(rgbAtr) + ) + ); +} +pub type PSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type LPSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type SCARD_READERSTATE = SCARD_READERSTATEA; +pub type PSCARD_READERSTATE = PSCARD_READERSTATEA; +pub type LPSCARD_READERSTATE = LPSCARD_READERSTATEA; +extern "C" { + pub fn SCardLocateCardsA( + hContext: SCARDCONTEXT, + mszCards: LPCSTR, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardLocateCardsW( + hContext: SCARDCONTEXT, + mszCards: LPCWSTR, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_ATRMASK { + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], + pub rgbMask: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__SCARD_ATRMASK() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_ATRMASK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_ATRMASK>(), + 76usize, + concat!("Size of: ", stringify!(_SCARD_ATRMASK)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_ATRMASK>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_ATRMASK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(rgbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(rgbMask) + ) + ); +} +pub type SCARD_ATRMASK = _SCARD_ATRMASK; +pub type PSCARD_ATRMASK = *mut _SCARD_ATRMASK; +pub type LPSCARD_ATRMASK = *mut _SCARD_ATRMASK; +extern "C" { + pub fn SCardLocateCardsByATRA( + hContext: SCARDCONTEXT, + rgAtrMasks: LPSCARD_ATRMASK, + cAtrs: DWORD, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardLocateCardsByATRW( + hContext: SCARDCONTEXT, + rgAtrMasks: LPSCARD_ATRMASK, + cAtrs: DWORD, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetStatusChangeA( + hContext: SCARDCONTEXT, + dwTimeout: DWORD, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetStatusChangeW( + hContext: SCARDCONTEXT, + dwTimeout: DWORD, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardCancel(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardConnectA( + hContext: SCARDCONTEXT, + szReader: LPCSTR, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + phCard: LPSCARDHANDLE, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardConnectW( + hContext: SCARDCONTEXT, + szReader: LPCWSTR, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + phCard: LPSCARDHANDLE, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardReconnect( + hCard: SCARDHANDLE, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + dwInitialization: DWORD, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardDisconnect(hCard: SCARDHANDLE, dwDisposition: DWORD) -> LONG; +} +extern "C" { + pub fn SCardBeginTransaction(hCard: SCARDHANDLE) -> LONG; +} +extern "C" { + pub fn SCardEndTransaction(hCard: SCARDHANDLE, dwDisposition: DWORD) -> LONG; +} +extern "C" { + pub fn SCardCancelTransaction(hCard: SCARDHANDLE) -> LONG; +} +extern "C" { + pub fn SCardState( + hCard: SCARDHANDLE, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardStatusA( + hCard: SCARDHANDLE, + mszReaderNames: LPSTR, + pcchReaderLen: LPDWORD, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardStatusW( + hCard: SCARDHANDLE, + mszReaderNames: LPWSTR, + pcchReaderLen: LPDWORD, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardTransmit( + hCard: SCARDHANDLE, + pioSendPci: LPCSCARD_IO_REQUEST, + pbSendBuffer: LPCBYTE, + cbSendLength: DWORD, + pioRecvPci: LPSCARD_IO_REQUEST, + pbRecvBuffer: LPBYTE, + pcbRecvLength: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetTransmitCount(hCard: SCARDHANDLE, pcTransmitCount: LPDWORD) -> LONG; +} +extern "C" { + pub fn SCardControl( + hCard: SCARDHANDLE, + dwControlCode: DWORD, + lpInBuffer: LPCVOID, + cbInBufferSize: DWORD, + lpOutBuffer: LPVOID, + cbOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetAttrib( + hCard: SCARDHANDLE, + dwAttrId: DWORD, + pbAttr: LPBYTE, + pcbAttrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardSetAttrib( + hCard: SCARDHANDLE, + dwAttrId: DWORD, + pbAttr: LPCBYTE, + cbAttrLen: DWORD, + ) -> LONG; +} +pub type LPOCNCONNPROCA = ::std::option::Option< + unsafe extern "C" fn(arg1: SCARDCONTEXT, arg2: LPSTR, arg3: LPSTR, arg4: PVOID) -> SCARDHANDLE, +>; +pub type LPOCNCONNPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: SCARDCONTEXT, + arg2: LPWSTR, + arg3: LPWSTR, + arg4: PVOID, + ) -> SCARDHANDLE, +>; +pub type LPOCNCHKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: SCARDCONTEXT, arg2: SCARDHANDLE, arg3: PVOID) -> BOOL, +>; +pub type LPOCNDSCPROC = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARD_SEARCH_CRITERIAA { + pub dwStructSize: DWORD, + pub lpstrGroupNames: LPSTR, + pub nMaxGroupNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrCardNames: LPSTR, + pub nMaxCardNames: DWORD, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnConnect: LPOCNCONNPROCA, + pub lpfnDisconnect: LPOCNDSCPROC, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, +} +#[test] +fn bindgen_test_layout_OPENCARD_SEARCH_CRITERIAA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(OPENCARD_SEARCH_CRITERIAA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARD_SEARCH_CRITERIAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwPreferredProtocols) + ) + ); +} +pub type POPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +pub type LPOPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARD_SEARCH_CRITERIAW { + pub dwStructSize: DWORD, + pub lpstrGroupNames: LPWSTR, + pub nMaxGroupNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrCardNames: LPWSTR, + pub nMaxCardNames: DWORD, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnConnect: LPOCNCONNPROCW, + pub lpfnDisconnect: LPOCNDSCPROC, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, +} +#[test] +fn bindgen_test_layout_OPENCARD_SEARCH_CRITERIAW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(OPENCARD_SEARCH_CRITERIAW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARD_SEARCH_CRITERIAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwPreferredProtocols) + ) + ); +} +pub type POPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +pub type LPOPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +pub type OPENCARD_SEARCH_CRITERIA = OPENCARD_SEARCH_CRITERIAA; +pub type POPENCARD_SEARCH_CRITERIA = POPENCARD_SEARCH_CRITERIAA; +pub type LPOPENCARD_SEARCH_CRITERIA = LPOPENCARD_SEARCH_CRITERIAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAME_EXA { + pub dwStructSize: DWORD, + pub hSCardContext: SCARDCONTEXT, + pub hwndOwner: HWND, + pub dwFlags: DWORD, + pub lpstrTitle: LPCSTR, + pub lpstrSearchDesc: LPCSTR, + pub hIcon: HICON, + pub pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAA, + pub lpfnConnect: LPOCNCONNPROCA, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub lpstrRdr: LPSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPSTR, + pub nMaxCard: DWORD, + pub dwActiveProtocol: DWORD, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAME_EXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(OPENCARDNAME_EXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAME_EXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSearchDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrSearchDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOpenCardSearchCriteria) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(pOpenCardSearchCriteria) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +pub type LPOPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAME_EXW { + pub dwStructSize: DWORD, + pub hSCardContext: SCARDCONTEXT, + pub hwndOwner: HWND, + pub dwFlags: DWORD, + pub lpstrTitle: LPCWSTR, + pub lpstrSearchDesc: LPCWSTR, + pub hIcon: HICON, + pub pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAW, + pub lpfnConnect: LPOCNCONNPROCW, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub lpstrRdr: LPWSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPWSTR, + pub nMaxCard: DWORD, + pub dwActiveProtocol: DWORD, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAME_EXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(OPENCARDNAME_EXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAME_EXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSearchDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrSearchDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOpenCardSearchCriteria) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(pOpenCardSearchCriteria) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type LPOPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type OPENCARDNAME_EX = OPENCARDNAME_EXA; +pub type POPENCARDNAME_EX = POPENCARDNAME_EXA; +pub type LPOPENCARDNAME_EX = LPOPENCARDNAME_EXA; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_READER_AND_CONTAINER: + READER_SEL_REQUEST_MATCH_TYPE = 1; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_SERIAL_NUMBER: + READER_SEL_REQUEST_MATCH_TYPE = 2; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_ALL_CARDS: READER_SEL_REQUEST_MATCH_TYPE = 3; +pub type READER_SEL_REQUEST_MATCH_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct READER_SEL_REQUEST { + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub MatchType: READER_SEL_REQUEST_MATCH_TYPE, + pub __bindgen_anon_1: READER_SEL_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union READER_SEL_REQUEST__bindgen_ty_1 { + pub ReaderAndContainerParameter: READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1, + pub SerialNumberParameter: READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1 { + pub cbReaderNameOffset: DWORD, + pub cchReaderNameLength: DWORD, + pub cbContainerNameOffset: DWORD, + pub cchContainerNameLength: DWORD, + pub dwDesiredCardModuleVersion: DWORD, + pub dwCspFlags: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReaderNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbReaderNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchReaderNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cchReaderNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContainerNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbContainerNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchContainerNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cchContainerNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDesiredCardModuleVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwDesiredCardModuleVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCspFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwCspFlags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2 { + pub cbSerialNumberOffset: DWORD, + pub cbSerialNumberLength: DWORD, + pub dwDesiredCardModuleVersion: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!( + "Size of: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSerialNumberOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(cbSerialNumberOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSerialNumberLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(cbSerialNumberLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDesiredCardModuleVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwDesiredCardModuleVersion) + ) + ); +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReaderAndContainerParameter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1), + "::", + stringify!(ReaderAndContainerParameter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberParameter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1), + "::", + stringify!(SerialNumberParameter) + ) + ); +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(READER_SEL_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(READER_SEL_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MatchType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(MatchType) + ) + ); +} +pub type PREADER_SEL_REQUEST = *mut READER_SEL_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_RESPONSE { + pub cbReaderNameOffset: DWORD, + pub cchReaderNameLength: DWORD, + pub cbCardNameOffset: DWORD, + pub cchCardNameLength: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(READER_SEL_RESPONSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(READER_SEL_RESPONSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReaderNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cbReaderNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchReaderNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cchReaderNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCardNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cbCardNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchCardNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cchCardNameLength) + ) + ); +} +pub type PREADER_SEL_RESPONSE = *mut READER_SEL_RESPONSE; +extern "C" { + pub fn SCardUIDlgSelectCardA(arg1: LPOPENCARDNAME_EXA) -> LONG; +} +extern "C" { + pub fn SCardUIDlgSelectCardW(arg1: LPOPENCARDNAME_EXW) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAMEA { + pub dwStructSize: DWORD, + pub hwndOwner: HWND, + pub hSCardContext: SCARDCONTEXT, + pub lpstrGroupNames: LPSTR, + pub nMaxGroupNames: DWORD, + pub lpstrCardNames: LPSTR, + pub nMaxCardNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrRdr: LPSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPSTR, + pub nMaxCard: DWORD, + pub lpstrTitle: LPCSTR, + pub dwFlags: DWORD, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub dwActiveProtocol: DWORD, + pub lpfnConnect: LPOCNCONNPROCA, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnDisconnect: LPOCNDSCPROC, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAMEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(OPENCARDNAMEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAMEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAMEA = *mut OPENCARDNAMEA; +pub type LPOPENCARDNAMEA = *mut OPENCARDNAMEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAMEW { + pub dwStructSize: DWORD, + pub hwndOwner: HWND, + pub hSCardContext: SCARDCONTEXT, + pub lpstrGroupNames: LPWSTR, + pub nMaxGroupNames: DWORD, + pub lpstrCardNames: LPWSTR, + pub nMaxCardNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrRdr: LPWSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPWSTR, + pub nMaxCard: DWORD, + pub lpstrTitle: LPCWSTR, + pub dwFlags: DWORD, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub dwActiveProtocol: DWORD, + pub lpfnConnect: LPOCNCONNPROCW, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnDisconnect: LPOCNDSCPROC, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAMEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(OPENCARDNAMEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAMEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type LPOPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type OPENCARDNAME = OPENCARDNAMEA; +pub type POPENCARDNAME = POPENCARDNAMEA; +pub type LPOPENCARDNAME = LPOPENCARDNAMEA; +extern "C" { + pub fn GetOpenCardNameA(arg1: LPOPENCARDNAMEA) -> LONG; +} +extern "C" { + pub fn GetOpenCardNameW(arg1: LPOPENCARDNAMEW) -> LONG; +} +extern "C" { + pub fn SCardDlgExtendedError() -> LONG; +} +extern "C" { + pub fn SCardReadCacheA( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPSTR, + Data: PBYTE, + DataLen: *mut DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardReadCacheW( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPWSTR, + Data: PBYTE, + DataLen: *mut DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardWriteCacheA( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPSTR, + Data: PBYTE, + DataLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardWriteCacheW( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPWSTR, + Data: PBYTE, + DataLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderIconA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + pbIcon: LPBYTE, + pcbIcon: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderIconW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + pbIcon: LPBYTE, + pcbIcon: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetDeviceTypeIdA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + pdwDeviceTypeId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetDeviceTypeIdW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + pdwDeviceTypeId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderDeviceInstanceIdA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szDeviceInstanceId: LPSTR, + pcchDeviceInstanceId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderDeviceInstanceIdW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szDeviceInstanceId: LPWSTR, + pcchDeviceInstanceId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersWithDeviceInstanceIdA( + hContext: SCARDCONTEXT, + szDeviceInstanceId: LPCSTR, + mszReaders: LPSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersWithDeviceInstanceIdW( + hContext: SCARDCONTEXT, + szDeviceInstanceId: LPCWSTR, + mszReaders: LPWSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardAudit(hContext: SCARDCONTEXT, dwEvent: DWORD) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSP { + _unused: [u8; 0], +} +pub type HPROPSHEETPAGE = *mut _PSP; +pub type LPFNPSPCALLBACKA = ::std::option::Option< + unsafe extern "C" fn(hwnd: HWND, uMsg: UINT, ppsp: *mut _PROPSHEETPAGEA) -> UINT, +>; +pub type LPFNPSPCALLBACKW = ::std::option::Option< + unsafe extern "C" fn(hwnd: HWND, uMsg: UINT, ppsp: *mut _PROPSHEETPAGEW) -> UINT, +>; +pub type PROPSHEETPAGE_RESOURCE = LPCDLGTEMPLATE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V1__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V1__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V1__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V1__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pcRefParent) + ) + ); +} +pub type PROPSHEETPAGEA_V1 = _PROPSHEETPAGEA_V1; +pub type LPPROPSHEETPAGEA_V1 = *mut _PROPSHEETPAGEA_V1; +pub type LPCPROPSHEETPAGEA_V1 = *const PROPSHEETPAGEA_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V2__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V2__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V2__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V2__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2>(), + 88usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszHeaderSubTitle) + ) + ); +} +pub type PROPSHEETPAGEA_V2 = _PROPSHEETPAGEA_V2; +pub type LPPROPSHEETPAGEA_V2 = *mut _PROPSHEETPAGEA_V2; +pub type LPCPROPSHEETPAGEA_V2 = *const PROPSHEETPAGEA_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V3 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V3__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V3__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, + pub hActCtx: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V3__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V3__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEA_V3 = _PROPSHEETPAGEA_V3; +pub type LPPROPSHEETPAGEA_V3 = *mut _PROPSHEETPAGEA_V3; +pub type LPCPROPSHEETPAGEA_V3 = *const PROPSHEETPAGEA_V3; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, + pub hActCtx: HANDLE, + pub __bindgen_anon_3: _PROPSHEETPAGEA__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_3 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_3), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_3), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA>(), + 104usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEA_V4 = _PROPSHEETPAGEA; +pub type LPPROPSHEETPAGEA_V4 = *mut _PROPSHEETPAGEA; +pub type LPCPROPSHEETPAGEA_V4 = *const PROPSHEETPAGEA_V4; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V1__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V1__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V1__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V1__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pcRefParent) + ) + ); +} +pub type PROPSHEETPAGEW_V1 = _PROPSHEETPAGEW_V1; +pub type LPPROPSHEETPAGEW_V1 = *mut _PROPSHEETPAGEW_V1; +pub type LPCPROPSHEETPAGEW_V1 = *const PROPSHEETPAGEW_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V2__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V2__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V2__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V2__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2>(), + 88usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszHeaderSubTitle) + ) + ); +} +pub type PROPSHEETPAGEW_V2 = _PROPSHEETPAGEW_V2; +pub type LPPROPSHEETPAGEW_V2 = *mut _PROPSHEETPAGEW_V2; +pub type LPCPROPSHEETPAGEW_V2 = *const PROPSHEETPAGEW_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V3 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V3__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V3__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, + pub hActCtx: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V3__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V3__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEW_V3 = _PROPSHEETPAGEW_V3; +pub type LPPROPSHEETPAGEW_V3 = *mut _PROPSHEETPAGEW_V3; +pub type LPCPROPSHEETPAGEW_V3 = *const PROPSHEETPAGEW_V3; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, + pub hActCtx: HANDLE, + pub __bindgen_anon_3: _PROPSHEETPAGEW__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_3 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_3), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_3), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW>(), + 104usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEW_V4 = _PROPSHEETPAGEW; +pub type LPPROPSHEETPAGEW_V4 = *mut _PROPSHEETPAGEW; +pub type LPCPROPSHEETPAGEW_V4 = *const PROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA_LATEST = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW_LATEST = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA_LATEST = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW_LATEST = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA_LATEST = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW_LATEST = LPCPROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW = LPCPROPSHEETPAGEW_V4; +pub type PFNPROPSHEETCALLBACK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: LPARAM) -> ::std::os::raw::c_int, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERA_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERA_V1__bindgen_ty_1, + pub pszCaption: LPCSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERA_V1__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERA_V1__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEA, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(pfnCallback) + ) + ); +} +pub type PROPSHEETHEADERA_V1 = _PROPSHEETHEADERA_V1; +pub type LPPROPSHEETHEADERA_V1 = *mut _PROPSHEETHEADERA_V1; +pub type LPCPROPSHEETHEADERA_V1 = *const PROPSHEETHEADERA_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERA_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERA_V2__bindgen_ty_1, + pub pszCaption: LPCSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERA_V2__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERA_V2__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, + pub __bindgen_anon_4: _PROPSHEETHEADERA_V2__bindgen_ty_4, + pub hplWatermark: HPALETTE, + pub __bindgen_anon_5: _PROPSHEETHEADERA_V2__bindgen_ty_5, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEA, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_4 { + pub hbmWatermark: HBITMAP, + pub pszbmWatermark: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4), + "::", + stringify!(hbmWatermark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4), + "::", + stringify!(pszbmWatermark) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_5 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_5>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hplWatermark) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hplWatermark) + ) + ); +} +pub type PROPSHEETHEADERA_V2 = _PROPSHEETHEADERA_V2; +pub type LPPROPSHEETHEADERA_V2 = *mut _PROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERA_V2 = *const PROPSHEETHEADERA_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERW_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERW_V1__bindgen_ty_1, + pub pszCaption: LPCWSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERW_V1__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERW_V1__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEW, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERW_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(pfnCallback) + ) + ); +} +pub type PROPSHEETHEADERW_V1 = _PROPSHEETHEADERW_V1; +pub type LPPROPSHEETHEADERW_V1 = *mut _PROPSHEETHEADERW_V1; +pub type LPCPROPSHEETHEADERW_V1 = *const PROPSHEETHEADERW_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERW_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERW_V2__bindgen_ty_1, + pub pszCaption: LPCWSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERW_V2__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERW_V2__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, + pub __bindgen_anon_4: _PROPSHEETHEADERW_V2__bindgen_ty_4, + pub hplWatermark: HPALETTE, + pub __bindgen_anon_5: _PROPSHEETHEADERW_V2__bindgen_ty_5, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEW, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_4 { + pub hbmWatermark: HBITMAP, + pub pszbmWatermark: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4), + "::", + stringify!(hbmWatermark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4), + "::", + stringify!(pszbmWatermark) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_5 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_5>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERW_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hplWatermark) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hplWatermark) + ) + ); +} +pub type PROPSHEETHEADERW_V2 = _PROPSHEETHEADERW_V2; +pub type LPPROPSHEETHEADERW_V2 = *mut _PROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERW_V2 = *const PROPSHEETHEADERW_V2; +pub type PROPSHEETHEADERA = PROPSHEETHEADERA_V2; +pub type PROPSHEETHEADERW = PROPSHEETHEADERW_V2; +pub type LPPROPSHEETHEADERA = LPPROPSHEETHEADERA_V2; +pub type LPPROPSHEETHEADERW = LPPROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERA = LPCPROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERW = LPCPROPSHEETHEADERW_V2; +extern "C" { + pub fn CreatePropertySheetPageA(constPropSheetPagePointer: LPCPROPSHEETPAGEA) + -> HPROPSHEETPAGE; +} +extern "C" { + pub fn CreatePropertySheetPageW(constPropSheetPagePointer: LPCPROPSHEETPAGEW) + -> HPROPSHEETPAGE; +} +extern "C" { + pub fn DestroyPropertySheetPage(arg1: HPROPSHEETPAGE) -> BOOL; +} +extern "C" { + pub fn PropertySheetA(arg1: LPCPROPSHEETHEADERA) -> INT_PTR; +} +extern "C" { + pub fn PropertySheetW(arg1: LPCPROPSHEETHEADERW) -> INT_PTR; +} +pub type LPFNADDPROPSHEETPAGE = + ::std::option::Option BOOL>; +pub type LPFNADDPROPSHEETPAGES = ::std::option::Option< + unsafe extern "C" fn(arg1: LPVOID, arg2: LPFNADDPROPSHEETPAGE, arg3: LPARAM) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSHNOTIFY { + pub hdr: NMHDR, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout__PSHNOTIFY() { + const UNINIT: ::std::mem::MaybeUninit<_PSHNOTIFY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSHNOTIFY>(), + 32usize, + concat!("Size of: ", stringify!(_PSHNOTIFY)) + ); + assert_eq!( + ::std::mem::align_of::<_PSHNOTIFY>(), + 8usize, + concat!("Alignment of ", stringify!(_PSHNOTIFY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSHNOTIFY), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PSHNOTIFY), + "::", + stringify!(lParam) + ) + ); +} +pub type PSHNOTIFY = _PSHNOTIFY; +pub type LPPSHNOTIFY = *mut _PSHNOTIFY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_1A { + pub Flags: DWORD, + pub pDescription: LPSTR, + pub pName: LPSTR, + pub pComment: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_1A>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pComment) + ) + ); +} +pub type PRINTER_INFO_1A = _PRINTER_INFO_1A; +pub type PPRINTER_INFO_1A = *mut _PRINTER_INFO_1A; +pub type LPPRINTER_INFO_1A = *mut _PRINTER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_1W { + pub Flags: DWORD, + pub pDescription: LPWSTR, + pub pName: LPWSTR, + pub pComment: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_1W>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pComment) + ) + ); +} +pub type PRINTER_INFO_1W = _PRINTER_INFO_1W; +pub type PPRINTER_INFO_1W = *mut _PRINTER_INFO_1W; +pub type LPPRINTER_INFO_1W = *mut _PRINTER_INFO_1W; +pub type PRINTER_INFO_1 = PRINTER_INFO_1A; +pub type PPRINTER_INFO_1 = PPRINTER_INFO_1A; +pub type LPPRINTER_INFO_1 = LPPRINTER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_2A { + pub pServerName: LPSTR, + pub pPrinterName: LPSTR, + pub pShareName: LPSTR, + pub pPortName: LPSTR, + pub pDriverName: LPSTR, + pub pComment: LPSTR, + pub pLocation: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pSepFile: LPSTR, + pub pPrintProcessor: LPSTR, + pub pDatatype: LPSTR, + pub pParameters: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Attributes: DWORD, + pub Priority: DWORD, + pub DefaultPriority: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub Status: DWORD, + pub cJobs: DWORD, + pub AveragePPM: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_2A>(), + 136usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pShareName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pShareName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLocation) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSepFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pSepFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultPriority) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(DefaultPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cJobs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(cJobs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AveragePPM) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(AveragePPM) + ) + ); +} +pub type PRINTER_INFO_2A = _PRINTER_INFO_2A; +pub type PPRINTER_INFO_2A = *mut _PRINTER_INFO_2A; +pub type LPPRINTER_INFO_2A = *mut _PRINTER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_2W { + pub pServerName: LPWSTR, + pub pPrinterName: LPWSTR, + pub pShareName: LPWSTR, + pub pPortName: LPWSTR, + pub pDriverName: LPWSTR, + pub pComment: LPWSTR, + pub pLocation: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pSepFile: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pDatatype: LPWSTR, + pub pParameters: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Attributes: DWORD, + pub Priority: DWORD, + pub DefaultPriority: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub Status: DWORD, + pub cJobs: DWORD, + pub AveragePPM: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_2W>(), + 136usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pShareName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pShareName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLocation) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSepFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pSepFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultPriority) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(DefaultPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cJobs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(cJobs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AveragePPM) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(AveragePPM) + ) + ); +} +pub type PRINTER_INFO_2W = _PRINTER_INFO_2W; +pub type PPRINTER_INFO_2W = *mut _PRINTER_INFO_2W; +pub type LPPRINTER_INFO_2W = *mut _PRINTER_INFO_2W; +pub type PRINTER_INFO_2 = PRINTER_INFO_2A; +pub type PPRINTER_INFO_2 = PPRINTER_INFO_2A; +pub type LPPRINTER_INFO_2 = LPPRINTER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_3 { + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_3() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_3>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_3), + "::", + stringify!(pSecurityDescriptor) + ) + ); +} +pub type PRINTER_INFO_3 = _PRINTER_INFO_3; +pub type PPRINTER_INFO_3 = *mut _PRINTER_INFO_3; +pub type LPPRINTER_INFO_3 = *mut _PRINTER_INFO_3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_4A { + pub pPrinterName: LPSTR, + pub pServerName: LPSTR, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_4A>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(Attributes) + ) + ); +} +pub type PRINTER_INFO_4A = _PRINTER_INFO_4A; +pub type PPRINTER_INFO_4A = *mut _PRINTER_INFO_4A; +pub type LPPRINTER_INFO_4A = *mut _PRINTER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_4W { + pub pPrinterName: LPWSTR, + pub pServerName: LPWSTR, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_4W>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(Attributes) + ) + ); +} +pub type PRINTER_INFO_4W = _PRINTER_INFO_4W; +pub type PPRINTER_INFO_4W = *mut _PRINTER_INFO_4W; +pub type LPPRINTER_INFO_4W = *mut _PRINTER_INFO_4W; +pub type PRINTER_INFO_4 = PRINTER_INFO_4A; +pub type PPRINTER_INFO_4 = PPRINTER_INFO_4A; +pub type LPPRINTER_INFO_4 = LPPRINTER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_5A { + pub pPrinterName: LPSTR, + pub pPortName: LPSTR, + pub Attributes: DWORD, + pub DeviceNotSelectedTimeout: DWORD, + pub TransmissionRetryTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_5A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_5A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_5A>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_5A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_5A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_5A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNotSelectedTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(DeviceNotSelectedTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransmissionRetryTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(TransmissionRetryTimeout) + ) + ); +} +pub type PRINTER_INFO_5A = _PRINTER_INFO_5A; +pub type PPRINTER_INFO_5A = *mut _PRINTER_INFO_5A; +pub type LPPRINTER_INFO_5A = *mut _PRINTER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_5W { + pub pPrinterName: LPWSTR, + pub pPortName: LPWSTR, + pub Attributes: DWORD, + pub DeviceNotSelectedTimeout: DWORD, + pub TransmissionRetryTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_5W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_5W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_5W>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_5W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_5W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_5W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNotSelectedTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(DeviceNotSelectedTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransmissionRetryTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(TransmissionRetryTimeout) + ) + ); +} +pub type PRINTER_INFO_5W = _PRINTER_INFO_5W; +pub type PPRINTER_INFO_5W = *mut _PRINTER_INFO_5W; +pub type LPPRINTER_INFO_5W = *mut _PRINTER_INFO_5W; +pub type PRINTER_INFO_5 = PRINTER_INFO_5A; +pub type PPRINTER_INFO_5 = PPRINTER_INFO_5A; +pub type LPPRINTER_INFO_5 = LPPRINTER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_6 { + pub dwStatus: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_6() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_6> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_6>(), + 4usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_6)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_6>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_6)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_6), + "::", + stringify!(dwStatus) + ) + ); +} +pub type PRINTER_INFO_6 = _PRINTER_INFO_6; +pub type PPRINTER_INFO_6 = *mut _PRINTER_INFO_6; +pub type LPPRINTER_INFO_6 = *mut _PRINTER_INFO_6; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_7A { + pub pszObjectGUID: LPSTR, + pub dwAction: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_7A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_7A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_7A>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_7A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_7A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_7A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjectGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7A), + "::", + stringify!(pszObjectGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7A), + "::", + stringify!(dwAction) + ) + ); +} +pub type PRINTER_INFO_7A = _PRINTER_INFO_7A; +pub type PPRINTER_INFO_7A = *mut _PRINTER_INFO_7A; +pub type LPPRINTER_INFO_7A = *mut _PRINTER_INFO_7A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_7W { + pub pszObjectGUID: LPWSTR, + pub dwAction: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_7W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_7W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_7W>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_7W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_7W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_7W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjectGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7W), + "::", + stringify!(pszObjectGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7W), + "::", + stringify!(dwAction) + ) + ); +} +pub type PRINTER_INFO_7W = _PRINTER_INFO_7W; +pub type PPRINTER_INFO_7W = *mut _PRINTER_INFO_7W; +pub type LPPRINTER_INFO_7W = *mut _PRINTER_INFO_7W; +pub type PRINTER_INFO_7 = PRINTER_INFO_7A; +pub type PPRINTER_INFO_7 = PPRINTER_INFO_7A; +pub type LPPRINTER_INFO_7 = LPPRINTER_INFO_7A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_8A { + pub pDevMode: LPDEVMODEA, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_8A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_8A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_8A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_8A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_8A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_8A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_8A), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_8A = _PRINTER_INFO_8A; +pub type PPRINTER_INFO_8A = *mut _PRINTER_INFO_8A; +pub type LPPRINTER_INFO_8A = *mut _PRINTER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_8W { + pub pDevMode: LPDEVMODEW, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_8W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_8W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_8W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_8W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_8W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_8W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_8W), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_8W = _PRINTER_INFO_8W; +pub type PPRINTER_INFO_8W = *mut _PRINTER_INFO_8W; +pub type LPPRINTER_INFO_8W = *mut _PRINTER_INFO_8W; +pub type PRINTER_INFO_8 = PRINTER_INFO_8A; +pub type PPRINTER_INFO_8 = PPRINTER_INFO_8A; +pub type LPPRINTER_INFO_8 = LPPRINTER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_9A { + pub pDevMode: LPDEVMODEA, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_9A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_9A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_9A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_9A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_9A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_9A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_9A), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_9A = _PRINTER_INFO_9A; +pub type PPRINTER_INFO_9A = *mut _PRINTER_INFO_9A; +pub type LPPRINTER_INFO_9A = *mut _PRINTER_INFO_9A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_9W { + pub pDevMode: LPDEVMODEW, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_9W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_9W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_9W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_9W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_9W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_9W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_9W), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_9W = _PRINTER_INFO_9W; +pub type PPRINTER_INFO_9W = *mut _PRINTER_INFO_9W; +pub type LPPRINTER_INFO_9W = *mut _PRINTER_INFO_9W; +pub type PRINTER_INFO_9 = PRINTER_INFO_9A; +pub type PPRINTER_INFO_9 = PPRINTER_INFO_9A; +pub type LPPRINTER_INFO_9 = LPPRINTER_INFO_9A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_1A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pDatatype: LPSTR, + pub pStatus: LPSTR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub TotalPages: DWORD, + pub PagesPrinted: DWORD, + pub Submitted: SYSTEMTIME, +} +#[test] +fn bindgen_test_layout__JOB_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_1A>(), + 96usize, + concat!("Size of: ", stringify!(_JOB_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Submitted) + ) + ); +} +pub type JOB_INFO_1A = _JOB_INFO_1A; +pub type PJOB_INFO_1A = *mut _JOB_INFO_1A; +pub type LPJOB_INFO_1A = *mut _JOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_1W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pDatatype: LPWSTR, + pub pStatus: LPWSTR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub TotalPages: DWORD, + pub PagesPrinted: DWORD, + pub Submitted: SYSTEMTIME, +} +#[test] +fn bindgen_test_layout__JOB_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_1W>(), + 96usize, + concat!("Size of: ", stringify!(_JOB_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Submitted) + ) + ); +} +pub type JOB_INFO_1W = _JOB_INFO_1W; +pub type PJOB_INFO_1W = *mut _JOB_INFO_1W; +pub type LPJOB_INFO_1W = *mut _JOB_INFO_1W; +pub type JOB_INFO_1 = JOB_INFO_1A; +pub type PJOB_INFO_1 = PJOB_INFO_1A; +pub type LPJOB_INFO_1 = LPJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_2A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pNotifyName: LPSTR, + pub pDatatype: LPSTR, + pub pPrintProcessor: LPSTR, + pub pParameters: LPSTR, + pub pDriverName: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pStatus: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_2A>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(PagesPrinted) + ) + ); +} +pub type JOB_INFO_2A = _JOB_INFO_2A; +pub type PJOB_INFO_2A = *mut _JOB_INFO_2A; +pub type LPJOB_INFO_2A = *mut _JOB_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_2W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pNotifyName: LPWSTR, + pub pDatatype: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pParameters: LPWSTR, + pub pDriverName: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pStatus: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_2W>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(PagesPrinted) + ) + ); +} +pub type JOB_INFO_2W = _JOB_INFO_2W; +pub type PJOB_INFO_2W = *mut _JOB_INFO_2W; +pub type LPJOB_INFO_2W = *mut _JOB_INFO_2W; +pub type JOB_INFO_2 = JOB_INFO_2A; +pub type PJOB_INFO_2 = PJOB_INFO_2A; +pub type LPJOB_INFO_2 = LPJOB_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_3 { + pub JobId: DWORD, + pub NextJobId: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_3() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_3>(), + 12usize, + concat!("Size of: ", stringify!(_JOB_INFO_3)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_3>(), + 4usize, + concat!("Alignment of ", stringify!(_JOB_INFO_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextJobId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(NextJobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(Reserved) + ) + ); +} +pub type JOB_INFO_3 = _JOB_INFO_3; +pub type PJOB_INFO_3 = *mut _JOB_INFO_3; +pub type LPJOB_INFO_3 = *mut _JOB_INFO_3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_4A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pNotifyName: LPSTR, + pub pDatatype: LPSTR, + pub pPrintProcessor: LPSTR, + pub pParameters: LPSTR, + pub pDriverName: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pStatus: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, + pub SizeHigh: LONG, +} +#[test] +fn bindgen_test_layout__JOB_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_4A>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeHigh) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(SizeHigh) + ) + ); +} +pub type JOB_INFO_4A = _JOB_INFO_4A; +pub type PJOB_INFO_4A = *mut _JOB_INFO_4A; +pub type LPJOB_INFO_4A = *mut _JOB_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_4W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pNotifyName: LPWSTR, + pub pDatatype: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pParameters: LPWSTR, + pub pDriverName: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pStatus: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, + pub SizeHigh: LONG, +} +#[test] +fn bindgen_test_layout__JOB_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_4W>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeHigh) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(SizeHigh) + ) + ); +} +pub type JOB_INFO_4W = _JOB_INFO_4W; +pub type PJOB_INFO_4W = *mut _JOB_INFO_4W; +pub type LPJOB_INFO_4W = *mut _JOB_INFO_4W; +pub type JOB_INFO_4 = JOB_INFO_4A; +pub type PJOB_INFO_4 = PJOB_INFO_4A; +pub type LPJOB_INFO_4 = LPJOB_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADDJOB_INFO_1A { + pub Path: LPSTR, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__ADDJOB_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_ADDJOB_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADDJOB_INFO_1A>(), + 16usize, + concat!("Size of: ", stringify!(_ADDJOB_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_ADDJOB_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_ADDJOB_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1A), + "::", + stringify!(Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1A), + "::", + stringify!(JobId) + ) + ); +} +pub type ADDJOB_INFO_1A = _ADDJOB_INFO_1A; +pub type PADDJOB_INFO_1A = *mut _ADDJOB_INFO_1A; +pub type LPADDJOB_INFO_1A = *mut _ADDJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADDJOB_INFO_1W { + pub Path: LPWSTR, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__ADDJOB_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_ADDJOB_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADDJOB_INFO_1W>(), + 16usize, + concat!("Size of: ", stringify!(_ADDJOB_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_ADDJOB_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_ADDJOB_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1W), + "::", + stringify!(Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1W), + "::", + stringify!(JobId) + ) + ); +} +pub type ADDJOB_INFO_1W = _ADDJOB_INFO_1W; +pub type PADDJOB_INFO_1W = *mut _ADDJOB_INFO_1W; +pub type LPADDJOB_INFO_1W = *mut _ADDJOB_INFO_1W; +pub type ADDJOB_INFO_1 = ADDJOB_INFO_1A; +pub type PADDJOB_INFO_1 = PADDJOB_INFO_1A; +pub type LPADDJOB_INFO_1 = LPADDJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type DRIVER_INFO_1A = _DRIVER_INFO_1A; +pub type PDRIVER_INFO_1A = *mut _DRIVER_INFO_1A; +pub type LPDRIVER_INFO_1A = *mut _DRIVER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type DRIVER_INFO_1W = _DRIVER_INFO_1W; +pub type PDRIVER_INFO_1W = *mut _DRIVER_INFO_1W; +pub type LPDRIVER_INFO_1W = *mut _DRIVER_INFO_1W; +pub type DRIVER_INFO_1 = DRIVER_INFO_1A; +pub type PDRIVER_INFO_1 = PDRIVER_INFO_1A; +pub type LPDRIVER_INFO_1 = LPDRIVER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_2A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_2A>(), + 48usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pConfigFile) + ) + ); +} +pub type DRIVER_INFO_2A = _DRIVER_INFO_2A; +pub type PDRIVER_INFO_2A = *mut _DRIVER_INFO_2A; +pub type LPDRIVER_INFO_2A = *mut _DRIVER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_2W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_2W>(), + 48usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pConfigFile) + ) + ); +} +pub type DRIVER_INFO_2W = _DRIVER_INFO_2W; +pub type PDRIVER_INFO_2W = *mut _DRIVER_INFO_2W; +pub type LPDRIVER_INFO_2W = *mut _DRIVER_INFO_2W; +pub type DRIVER_INFO_2 = DRIVER_INFO_2A; +pub type PDRIVER_INFO_2 = PDRIVER_INFO_2A; +pub type LPDRIVER_INFO_2 = LPDRIVER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_3A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_3A>(), + 80usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDefaultDataType) + ) + ); +} +pub type DRIVER_INFO_3A = _DRIVER_INFO_3A; +pub type PDRIVER_INFO_3A = *mut _DRIVER_INFO_3A; +pub type LPDRIVER_INFO_3A = *mut _DRIVER_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_3W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_3W>(), + 80usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDefaultDataType) + ) + ); +} +pub type DRIVER_INFO_3W = _DRIVER_INFO_3W; +pub type PDRIVER_INFO_3W = *mut _DRIVER_INFO_3W; +pub type LPDRIVER_INFO_3W = *mut _DRIVER_INFO_3W; +pub type DRIVER_INFO_3 = DRIVER_INFO_3A; +pub type PDRIVER_INFO_3 = PDRIVER_INFO_3A; +pub type LPDRIVER_INFO_3 = LPDRIVER_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_4A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_4A>(), + 88usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pszzPreviousNames) + ) + ); +} +pub type DRIVER_INFO_4A = _DRIVER_INFO_4A; +pub type PDRIVER_INFO_4A = *mut _DRIVER_INFO_4A; +pub type LPDRIVER_INFO_4A = *mut _DRIVER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_4W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_4W>(), + 88usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pszzPreviousNames) + ) + ); +} +pub type DRIVER_INFO_4W = _DRIVER_INFO_4W; +pub type PDRIVER_INFO_4W = *mut _DRIVER_INFO_4W; +pub type LPDRIVER_INFO_4W = *mut _DRIVER_INFO_4W; +pub type DRIVER_INFO_4 = DRIVER_INFO_4A; +pub type PDRIVER_INFO_4 = PDRIVER_INFO_4A; +pub type LPDRIVER_INFO_4 = LPDRIVER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_5A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub dwDriverAttributes: DWORD, + pub dwConfigVersion: DWORD, + pub dwDriverVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_5A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_5A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_5A>(), + 64usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_5A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_5A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_5A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConfigVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwConfigVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwDriverVersion) + ) + ); +} +pub type DRIVER_INFO_5A = _DRIVER_INFO_5A; +pub type PDRIVER_INFO_5A = *mut _DRIVER_INFO_5A; +pub type LPDRIVER_INFO_5A = *mut _DRIVER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_5W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub dwDriverAttributes: DWORD, + pub dwConfigVersion: DWORD, + pub dwDriverVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_5W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_5W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_5W>(), + 64usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_5W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_5W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_5W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConfigVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwConfigVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwDriverVersion) + ) + ); +} +pub type DRIVER_INFO_5W = _DRIVER_INFO_5W; +pub type PDRIVER_INFO_5W = *mut _DRIVER_INFO_5W; +pub type LPDRIVER_INFO_5W = *mut _DRIVER_INFO_5W; +pub type DRIVER_INFO_5 = DRIVER_INFO_5A; +pub type PDRIVER_INFO_5 = PDRIVER_INFO_5A; +pub type LPDRIVER_INFO_5 = LPDRIVER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_6A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPSTR, + pub pszOEMUrl: LPSTR, + pub pszHardwareID: LPSTR, + pub pszProvider: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_6A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_6A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_6A>(), + 136usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_6A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_6A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_6A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszProvider) + ) + ); +} +pub type DRIVER_INFO_6A = _DRIVER_INFO_6A; +pub type PDRIVER_INFO_6A = *mut _DRIVER_INFO_6A; +pub type LPDRIVER_INFO_6A = *mut _DRIVER_INFO_6A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_6W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPWSTR, + pub pszOEMUrl: LPWSTR, + pub pszHardwareID: LPWSTR, + pub pszProvider: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_6W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_6W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_6W>(), + 136usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_6W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_6W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_6W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszProvider) + ) + ); +} +pub type DRIVER_INFO_6W = _DRIVER_INFO_6W; +pub type PDRIVER_INFO_6W = *mut _DRIVER_INFO_6W; +pub type LPDRIVER_INFO_6W = *mut _DRIVER_INFO_6W; +pub type DRIVER_INFO_6 = DRIVER_INFO_6A; +pub type PDRIVER_INFO_6 = PDRIVER_INFO_6A; +pub type LPDRIVER_INFO_6 = LPDRIVER_INFO_6A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_8A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPSTR, + pub pszOEMUrl: LPSTR, + pub pszHardwareID: LPSTR, + pub pszProvider: LPSTR, + pub pszPrintProcessor: LPSTR, + pub pszVendorSetup: LPSTR, + pub pszzColorProfiles: LPSTR, + pub pszInfPath: LPSTR, + pub dwPrinterDriverAttributes: DWORD, + pub pszzCoreDriverDependencies: LPSTR, + pub ftMinInboxDriverVerDate: FILETIME, + pub dwlMinInboxDriverVerVersion: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_8A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_8A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_8A>(), + 200usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_8A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_8A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_8A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrintProcessor) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVendorSetup) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszVendorSetup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzColorProfiles) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzColorProfiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszInfPath) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszInfPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinterDriverAttributes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwPrinterDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzCoreDriverDependencies) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzCoreDriverDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftMinInboxDriverVerDate) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(ftMinInboxDriverVerDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlMinInboxDriverVerVersion) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwlMinInboxDriverVerVersion) + ) + ); +} +pub type DRIVER_INFO_8A = _DRIVER_INFO_8A; +pub type PDRIVER_INFO_8A = *mut _DRIVER_INFO_8A; +pub type LPDRIVER_INFO_8A = *mut _DRIVER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_8W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPWSTR, + pub pszOEMUrl: LPWSTR, + pub pszHardwareID: LPWSTR, + pub pszProvider: LPWSTR, + pub pszPrintProcessor: LPWSTR, + pub pszVendorSetup: LPWSTR, + pub pszzColorProfiles: LPWSTR, + pub pszInfPath: LPWSTR, + pub dwPrinterDriverAttributes: DWORD, + pub pszzCoreDriverDependencies: LPWSTR, + pub ftMinInboxDriverVerDate: FILETIME, + pub dwlMinInboxDriverVerVersion: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_8W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_8W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_8W>(), + 200usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_8W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_8W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_8W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrintProcessor) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVendorSetup) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszVendorSetup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzColorProfiles) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzColorProfiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszInfPath) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszInfPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinterDriverAttributes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwPrinterDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzCoreDriverDependencies) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzCoreDriverDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftMinInboxDriverVerDate) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(ftMinInboxDriverVerDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlMinInboxDriverVerVersion) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwlMinInboxDriverVerVersion) + ) + ); +} +pub type DRIVER_INFO_8W = _DRIVER_INFO_8W; +pub type PDRIVER_INFO_8W = *mut _DRIVER_INFO_8W; +pub type LPDRIVER_INFO_8W = *mut _DRIVER_INFO_8W; +pub type DRIVER_INFO_8 = DRIVER_INFO_8A; +pub type PDRIVER_INFO_8 = PDRIVER_INFO_8A; +pub type LPDRIVER_INFO_8 = LPDRIVER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_1A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, +} +#[test] +fn bindgen_test_layout__DOC_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_1A>(), + 24usize, + concat!("Size of: ", stringify!(_DOC_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pDatatype) + ) + ); +} +pub type DOC_INFO_1A = _DOC_INFO_1A; +pub type PDOC_INFO_1A = *mut _DOC_INFO_1A; +pub type LPDOC_INFO_1A = *mut _DOC_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_1W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, +} +#[test] +fn bindgen_test_layout__DOC_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_1W>(), + 24usize, + concat!("Size of: ", stringify!(_DOC_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pDatatype) + ) + ); +} +pub type DOC_INFO_1W = _DOC_INFO_1W; +pub type PDOC_INFO_1W = *mut _DOC_INFO_1W; +pub type LPDOC_INFO_1W = *mut _DOC_INFO_1W; +pub type DOC_INFO_1 = DOC_INFO_1A; +pub type PDOC_INFO_1 = PDOC_INFO_1A; +pub type LPDOC_INFO_1 = LPDOC_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_1A { + pub Flags: DWORD, + pub pName: LPSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, +} +#[test] +fn bindgen_test_layout__FORM_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_1A>(), + 40usize, + concat!("Size of: ", stringify!(_FORM_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(ImageableArea) + ) + ); +} +pub type FORM_INFO_1A = _FORM_INFO_1A; +pub type PFORM_INFO_1A = *mut _FORM_INFO_1A; +pub type LPFORM_INFO_1A = *mut _FORM_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_1W { + pub Flags: DWORD, + pub pName: LPWSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, +} +#[test] +fn bindgen_test_layout__FORM_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_1W>(), + 40usize, + concat!("Size of: ", stringify!(_FORM_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(ImageableArea) + ) + ); +} +pub type FORM_INFO_1W = _FORM_INFO_1W; +pub type PFORM_INFO_1W = *mut _FORM_INFO_1W; +pub type LPFORM_INFO_1W = *mut _FORM_INFO_1W; +pub type FORM_INFO_1 = FORM_INFO_1A; +pub type PFORM_INFO_1 = PFORM_INFO_1A; +pub type LPFORM_INFO_1 = LPFORM_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_2A { + pub Flags: DWORD, + pub pName: LPCSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, + pub pKeyword: LPCSTR, + pub StringType: DWORD, + pub pMuiDll: LPCSTR, + pub dwResourceId: DWORD, + pub pDisplayName: LPCSTR, + pub wLangId: LANGID, +} +#[test] +fn bindgen_test_layout__FORM_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_2A>(), + 88usize, + concat!("Size of: ", stringify!(_FORM_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(ImageableArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyword) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pKeyword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(StringType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMuiDll) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pMuiDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResourceId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(dwResourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDisplayName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(wLangId) + ) + ); +} +pub type FORM_INFO_2A = _FORM_INFO_2A; +pub type PFORM_INFO_2A = *mut _FORM_INFO_2A; +pub type LPFORM_INFO_2A = *mut _FORM_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_2W { + pub Flags: DWORD, + pub pName: LPCWSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, + pub pKeyword: LPCSTR, + pub StringType: DWORD, + pub pMuiDll: LPCWSTR, + pub dwResourceId: DWORD, + pub pDisplayName: LPCWSTR, + pub wLangId: LANGID, +} +#[test] +fn bindgen_test_layout__FORM_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_2W>(), + 88usize, + concat!("Size of: ", stringify!(_FORM_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(ImageableArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyword) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pKeyword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(StringType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMuiDll) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pMuiDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResourceId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(dwResourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDisplayName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(wLangId) + ) + ); +} +pub type FORM_INFO_2W = _FORM_INFO_2W; +pub type PFORM_INFO_2W = *mut _FORM_INFO_2W; +pub type LPFORM_INFO_2W = *mut _FORM_INFO_2W; +pub type FORM_INFO_2 = FORM_INFO_2A; +pub type PFORM_INFO_2 = PFORM_INFO_2A; +pub type LPFORM_INFO_2 = LPFORM_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_2A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, + pub dwMode: DWORD, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_2A>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(JobId) + ) + ); +} +pub type DOC_INFO_2A = _DOC_INFO_2A; +pub type PDOC_INFO_2A = *mut _DOC_INFO_2A; +pub type LPDOC_INFO_2A = *mut _DOC_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_2W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, + pub dwMode: DWORD, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_2W>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(JobId) + ) + ); +} +pub type DOC_INFO_2W = _DOC_INFO_2W; +pub type PDOC_INFO_2W = *mut _DOC_INFO_2W; +pub type LPDOC_INFO_2W = *mut _DOC_INFO_2W; +pub type DOC_INFO_2 = DOC_INFO_2A; +pub type PDOC_INFO_2 = PDOC_INFO_2A; +pub type LPDOC_INFO_2 = LPDOC_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_3A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_3A>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DOC_INFO_3A = _DOC_INFO_3A; +pub type PDOC_INFO_3A = *mut _DOC_INFO_3A; +pub type LPDOC_INFO_3A = *mut _DOC_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_3W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_3W>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DOC_INFO_3W = _DOC_INFO_3W; +pub type PDOC_INFO_3W = *mut _DOC_INFO_3W; +pub type LPDOC_INFO_3W = *mut _DOC_INFO_3W; +pub type DOC_INFO_3 = DOC_INFO_3A; +pub type PDOC_INFO_3 = PDOC_INFO_3A; +pub type LPDOC_INFO_3 = LPDOC_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_INFO_1A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type PRINTPROCESSOR_INFO_1A = _PRINTPROCESSOR_INFO_1A; +pub type PPRINTPROCESSOR_INFO_1A = *mut _PRINTPROCESSOR_INFO_1A; +pub type LPPRINTPROCESSOR_INFO_1A = *mut _PRINTPROCESSOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_INFO_1W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type PRINTPROCESSOR_INFO_1W = _PRINTPROCESSOR_INFO_1W; +pub type PPRINTPROCESSOR_INFO_1W = *mut _PRINTPROCESSOR_INFO_1W; +pub type LPPRINTPROCESSOR_INFO_1W = *mut _PRINTPROCESSOR_INFO_1W; +pub type PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1A; +pub type PPRINTPROCESSOR_INFO_1 = PPRINTPROCESSOR_INFO_1A; +pub type LPPRINTPROCESSOR_INFO_1 = LPPRINTPROCESSOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_CAPS_1 { + pub dwLevel: DWORD, + pub dwNupOptions: DWORD, + pub dwPageOrderFlags: DWORD, + pub dwNumberOfCopies: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_CAPS_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_CAPS_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_CAPS_1>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_CAPS_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_CAPS_1>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_CAPS_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupOptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwNupOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageOrderFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwPageOrderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwNumberOfCopies) + ) + ); +} +pub type PRINTPROCESSOR_CAPS_1 = _PRINTPROCESSOR_CAPS_1; +pub type PPRINTPROCESSOR_CAPS_1 = *mut _PRINTPROCESSOR_CAPS_1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_CAPS_2 { + pub dwLevel: DWORD, + pub dwNupOptions: DWORD, + pub dwPageOrderFlags: DWORD, + pub dwNumberOfCopies: DWORD, + pub dwDuplexHandlingCaps: DWORD, + pub dwNupDirectionCaps: DWORD, + pub dwNupBorderCaps: DWORD, + pub dwBookletHandlingCaps: DWORD, + pub dwScalingCaps: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_CAPS_2() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_CAPS_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_CAPS_2>(), + 36usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_CAPS_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_CAPS_2>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_CAPS_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupOptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageOrderFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwPageOrderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNumberOfCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDuplexHandlingCaps) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwDuplexHandlingCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupDirectionCaps) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupDirectionCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupBorderCaps) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupBorderCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBookletHandlingCaps) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwBookletHandlingCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScalingCaps) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwScalingCaps) + ) + ); +} +pub type PRINTPROCESSOR_CAPS_2 = _PRINTPROCESSOR_CAPS_2; +pub type PPRINTPROCESSOR_CAPS_2 = *mut _PRINTPROCESSOR_CAPS_2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__PORT_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_PORT_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type PORT_INFO_1A = _PORT_INFO_1A; +pub type PPORT_INFO_1A = *mut _PORT_INFO_1A; +pub type LPPORT_INFO_1A = *mut _PORT_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PORT_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_PORT_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type PORT_INFO_1W = _PORT_INFO_1W; +pub type PPORT_INFO_1W = *mut _PORT_INFO_1W; +pub type LPPORT_INFO_1W = *mut _PORT_INFO_1W; +pub type PORT_INFO_1 = PORT_INFO_1A; +pub type PPORT_INFO_1 = PPORT_INFO_1A; +pub type LPPORT_INFO_1 = LPPORT_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_2A { + pub pPortName: LPSTR, + pub pMonitorName: LPSTR, + pub pDescription: LPSTR, + pub fPortType: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_2A>(), + 32usize, + concat!("Size of: ", stringify!(_PORT_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPortType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(fPortType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(Reserved) + ) + ); +} +pub type PORT_INFO_2A = _PORT_INFO_2A; +pub type PPORT_INFO_2A = *mut _PORT_INFO_2A; +pub type LPPORT_INFO_2A = *mut _PORT_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_2W { + pub pPortName: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDescription: LPWSTR, + pub fPortType: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_2W>(), + 32usize, + concat!("Size of: ", stringify!(_PORT_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPortType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(fPortType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(Reserved) + ) + ); +} +pub type PORT_INFO_2W = _PORT_INFO_2W; +pub type PPORT_INFO_2W = *mut _PORT_INFO_2W; +pub type LPPORT_INFO_2W = *mut _PORT_INFO_2W; +pub type PORT_INFO_2 = PORT_INFO_2A; +pub type PPORT_INFO_2 = PPORT_INFO_2A; +pub type LPPORT_INFO_2 = LPPORT_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_3A { + pub dwStatus: DWORD, + pub pszStatus: LPSTR, + pub dwSeverity: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_3A>(), + 24usize, + concat!("Size of: ", stringify!(_PORT_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(pszStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeverity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(dwSeverity) + ) + ); +} +pub type PORT_INFO_3A = _PORT_INFO_3A; +pub type PPORT_INFO_3A = *mut _PORT_INFO_3A; +pub type LPPORT_INFO_3A = *mut _PORT_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_3W { + pub dwStatus: DWORD, + pub pszStatus: LPWSTR, + pub dwSeverity: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_3W>(), + 24usize, + concat!("Size of: ", stringify!(_PORT_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(pszStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeverity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(dwSeverity) + ) + ); +} +pub type PORT_INFO_3W = _PORT_INFO_3W; +pub type PPORT_INFO_3W = *mut _PORT_INFO_3W; +pub type LPPORT_INFO_3W = *mut _PORT_INFO_3W; +pub type PORT_INFO_3 = PORT_INFO_3A; +pub type PPORT_INFO_3 = PPORT_INFO_3A; +pub type LPPORT_INFO_3 = LPPORT_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type MONITOR_INFO_1A = _MONITOR_INFO_1A; +pub type PMONITOR_INFO_1A = *mut _MONITOR_INFO_1A; +pub type LPMONITOR_INFO_1A = *mut _MONITOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type MONITOR_INFO_1W = _MONITOR_INFO_1W; +pub type PMONITOR_INFO_1W = *mut _MONITOR_INFO_1W; +pub type LPMONITOR_INFO_1W = *mut _MONITOR_INFO_1W; +pub type MONITOR_INFO_1 = MONITOR_INFO_1A; +pub type PMONITOR_INFO_1 = PMONITOR_INFO_1A; +pub type LPMONITOR_INFO_1 = LPMONITOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_2A { + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDLLName: LPSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_2A>(), + 24usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pDLLName) + ) + ); +} +pub type MONITOR_INFO_2A = _MONITOR_INFO_2A; +pub type PMONITOR_INFO_2A = *mut _MONITOR_INFO_2A; +pub type LPMONITOR_INFO_2A = *mut _MONITOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_2W { + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDLLName: LPWSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_2W>(), + 24usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pDLLName) + ) + ); +} +pub type MONITOR_INFO_2W = _MONITOR_INFO_2W; +pub type PMONITOR_INFO_2W = *mut _MONITOR_INFO_2W; +pub type LPMONITOR_INFO_2W = *mut _MONITOR_INFO_2W; +pub type MONITOR_INFO_2 = MONITOR_INFO_2A; +pub type PMONITOR_INFO_2 = PMONITOR_INFO_2A; +pub type LPMONITOR_INFO_2 = LPMONITOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DATATYPES_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__DATATYPES_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DATATYPES_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DATATYPES_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_DATATYPES_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DATATYPES_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DATATYPES_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DATATYPES_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type DATATYPES_INFO_1A = _DATATYPES_INFO_1A; +pub type PDATATYPES_INFO_1A = *mut _DATATYPES_INFO_1A; +pub type LPDATATYPES_INFO_1A = *mut _DATATYPES_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DATATYPES_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__DATATYPES_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DATATYPES_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DATATYPES_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_DATATYPES_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DATATYPES_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DATATYPES_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DATATYPES_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type DATATYPES_INFO_1W = _DATATYPES_INFO_1W; +pub type PDATATYPES_INFO_1W = *mut _DATATYPES_INFO_1W; +pub type LPDATATYPES_INFO_1W = *mut _DATATYPES_INFO_1W; +pub type DATATYPES_INFO_1 = DATATYPES_INFO_1A; +pub type PDATATYPES_INFO_1 = PDATATYPES_INFO_1A; +pub type LPDATATYPES_INFO_1 = LPDATATYPES_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_DEFAULTSA { + pub pDatatype: LPSTR, + pub pDevMode: LPDEVMODEA, + pub DesiredAccess: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__PRINTER_DEFAULTSA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_DEFAULTSA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_DEFAULTSA>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_DEFAULTSA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_DEFAULTSA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_DEFAULTSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(DesiredAccess) + ) + ); +} +pub type PRINTER_DEFAULTSA = _PRINTER_DEFAULTSA; +pub type PPRINTER_DEFAULTSA = *mut _PRINTER_DEFAULTSA; +pub type LPPRINTER_DEFAULTSA = *mut _PRINTER_DEFAULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_DEFAULTSW { + pub pDatatype: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub DesiredAccess: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__PRINTER_DEFAULTSW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_DEFAULTSW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_DEFAULTSW>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_DEFAULTSW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_DEFAULTSW>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_DEFAULTSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(DesiredAccess) + ) + ); +} +pub type PRINTER_DEFAULTSW = _PRINTER_DEFAULTSW; +pub type PPRINTER_DEFAULTSW = *mut _PRINTER_DEFAULTSW; +pub type LPPRINTER_DEFAULTSW = *mut _PRINTER_DEFAULTSW; +pub type PRINTER_DEFAULTS = PRINTER_DEFAULTSA; +pub type PPRINTER_DEFAULTS = PPRINTER_DEFAULTSA; +pub type LPPRINTER_DEFAULTS = LPPRINTER_DEFAULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_ENUM_VALUESA { + pub pValueName: LPSTR, + pub cbValueName: DWORD, + pub dwType: DWORD, + pub pData: LPBYTE, + pub cbData: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_ENUM_VALUESA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_ENUM_VALUESA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_ENUM_VALUESA>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_ENUM_VALUESA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_ENUM_VALUESA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_ENUM_VALUESA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValueName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(pValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValueName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(cbValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(cbData) + ) + ); +} +pub type PRINTER_ENUM_VALUESA = _PRINTER_ENUM_VALUESA; +pub type PPRINTER_ENUM_VALUESA = *mut _PRINTER_ENUM_VALUESA; +pub type LPPRINTER_ENUM_VALUESA = *mut _PRINTER_ENUM_VALUESA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_ENUM_VALUESW { + pub pValueName: LPWSTR, + pub cbValueName: DWORD, + pub dwType: DWORD, + pub pData: LPBYTE, + pub cbData: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_ENUM_VALUESW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_ENUM_VALUESW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_ENUM_VALUESW>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_ENUM_VALUESW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_ENUM_VALUESW>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_ENUM_VALUESW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValueName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(pValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValueName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(cbValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(cbData) + ) + ); +} +pub type PRINTER_ENUM_VALUESW = _PRINTER_ENUM_VALUESW; +pub type PPRINTER_ENUM_VALUESW = *mut _PRINTER_ENUM_VALUESW; +pub type LPPRINTER_ENUM_VALUESW = *mut _PRINTER_ENUM_VALUESW; +pub type PRINTER_ENUM_VALUES = PRINTER_ENUM_VALUESA; +pub type PPRINTER_ENUM_VALUES = PPRINTER_ENUM_VALUESA; +pub type LPPRINTER_ENUM_VALUES = LPPRINTER_ENUM_VALUESA; +extern "C" { + pub fn EnumPrintersA( + Flags: DWORD, + Name: LPSTR, + Level: DWORD, + pPrinterEnum: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintersW( + Flags: DWORD, + Name: LPWSTR, + Level: DWORD, + pPrinterEnum: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSpoolFileHandle(hPrinter: HANDLE) -> HANDLE; +} +extern "C" { + pub fn CommitSpoolData(hPrinter: HANDLE, hSpoolFile: HANDLE, cbCommit: DWORD) -> HANDLE; +} +extern "C" { + pub fn CloseSpoolFileHandle(hPrinter: HANDLE, hSpoolFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn OpenPrinterA( + pPrinterName: LPSTR, + phPrinter: LPHANDLE, + pDefault: LPPRINTER_DEFAULTSA, + ) -> BOOL; +} +extern "C" { + pub fn OpenPrinterW( + pPrinterName: LPWSTR, + phPrinter: LPHANDLE, + pDefault: LPPRINTER_DEFAULTSW, + ) -> BOOL; +} +extern "C" { + pub fn ResetPrinterA(hPrinter: HANDLE, pDefault: LPPRINTER_DEFAULTSA) -> BOOL; +} +extern "C" { + pub fn ResetPrinterW(hPrinter: HANDLE, pDefault: LPPRINTER_DEFAULTSW) -> BOOL; +} +extern "C" { + pub fn SetJobA( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + Command: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetJobW( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + Command: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetJobA( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetJobW( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumJobsA( + hPrinter: HANDLE, + FirstJob: DWORD, + NoJobs: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumJobsW( + hPrinter: HANDLE, + FirstJob: DWORD, + NoJobs: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterA(pName: LPSTR, Level: DWORD, pPrinter: LPBYTE) -> HANDLE; +} +extern "C" { + pub fn AddPrinterW(pName: LPWSTR, Level: DWORD, pPrinter: LPBYTE) -> HANDLE; +} +extern "C" { + pub fn DeletePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetPrinterA(hPrinter: HANDLE, Level: DWORD, pPrinter: LPBYTE, Command: DWORD) -> BOOL; +} +extern "C" { + pub fn SetPrinterW(hPrinter: HANDLE, Level: DWORD, pPrinter: LPBYTE, Command: DWORD) -> BOOL; +} +extern "C" { + pub fn GetPrinterA( + hPrinter: HANDLE, + Level: DWORD, + pPrinter: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterW( + hPrinter: HANDLE, + Level: DWORD, + pPrinter: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverA(pName: LPSTR, Level: DWORD, pDriverInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverW(pName: LPWSTR, Level: DWORD, pDriverInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverExA( + pName: LPSTR, + Level: DWORD, + lpbDriverInfo: PBYTE, + dwFileCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverExW( + pName: LPWSTR, + Level: DWORD, + lpbDriverInfo: PBYTE, + dwFileCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrinterDriversA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrinterDriversW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverA( + hPrinter: HANDLE, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverW( + hPrinter: HANDLE, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverDirectoryA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pDriverDirectory: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverDirectoryW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverDirectory: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverA(pName: LPSTR, pEnvironment: LPSTR, pDriverName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverW(pName: LPWSTR, pEnvironment: LPWSTR, pDriverName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverExA( + pName: LPSTR, + pEnvironment: LPSTR, + pDriverName: LPSTR, + dwDeleteFlag: DWORD, + dwVersionFlag: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverExW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pDriverName: LPWSTR, + dwDeleteFlag: DWORD, + dwVersionFlag: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrintProcessorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPathName: LPSTR, + pPrintProcessorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn AddPrintProcessorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPathName: LPWSTR, + pPrintProcessorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorsA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorsW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrintProcessorDirectoryA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrintProcessorDirectoryW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorDatatypesA( + pName: LPSTR, + pPrintProcessorName: LPSTR, + Level: DWORD, + pDatatypes: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorDatatypesW( + pName: LPWSTR, + pPrintProcessorName: LPWSTR, + Level: DWORD, + pDatatypes: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProcessorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPrintProcessorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProcessorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPrintProcessorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn StartDocPrinterA(hPrinter: HANDLE, Level: DWORD, pDocInfo: LPBYTE) -> DWORD; +} +extern "C" { + pub fn StartDocPrinterW(hPrinter: HANDLE, Level: DWORD, pDocInfo: LPBYTE) -> DWORD; +} +extern "C" { + pub fn StartPagePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn WritePrinter(hPrinter: HANDLE, pBuf: LPVOID, cbBuf: DWORD, pcWritten: LPDWORD) -> BOOL; +} +extern "C" { + pub fn FlushPrinter( + hPrinter: HANDLE, + pBuf: LPVOID, + cbBuf: DWORD, + pcWritten: LPDWORD, + cSleep: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EndPagePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AbortPrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn ReadPrinter(hPrinter: HANDLE, pBuf: LPVOID, cbBuf: DWORD, pNoBytesRead: LPDWORD) + -> BOOL; +} +extern "C" { + pub fn EndDocPrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AddJobA( + hPrinter: HANDLE, + Level: DWORD, + pData: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddJobW( + hPrinter: HANDLE, + Level: DWORD, + pData: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ScheduleJob(hPrinter: HANDLE, JobId: DWORD) -> BOOL; +} +extern "C" { + pub fn PrinterProperties(hWnd: HWND, hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn DocumentPropertiesA( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPSTR, + pDevModeOutput: PDEVMODEA, + pDevModeInput: PDEVMODEA, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn DocumentPropertiesW( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPWSTR, + pDevModeOutput: PDEVMODEW, + pDevModeInput: PDEVMODEW, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn AdvancedDocumentPropertiesA( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPSTR, + pDevModeOutput: PDEVMODEA, + pDevModeInput: PDEVMODEA, + ) -> LONG; +} +extern "C" { + pub fn AdvancedDocumentPropertiesW( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPWSTR, + pDevModeOutput: PDEVMODEW, + pDevModeInput: PDEVMODEW, + ) -> LONG; +} +extern "C" { + pub fn ExtDeviceMode( + hWnd: HWND, + hInst: HANDLE, + pDevModeOutput: LPDEVMODEA, + pDeviceName: LPSTR, + pPort: LPSTR, + pDevModeInput: LPDEVMODEA, + pProfile: LPSTR, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn GetPrinterDataA( + hPrinter: HANDLE, + pValueName: LPSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataW( + hPrinter: HANDLE, + pValueName: LPWSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pValueName: LPCSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pValueName: LPCWSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataA( + hPrinter: HANDLE, + dwIndex: DWORD, + pValueName: LPSTR, + cbValueName: DWORD, + pcbValueName: LPDWORD, + pType: LPDWORD, + pData: LPBYTE, + cbData: DWORD, + pcbData: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataW( + hPrinter: HANDLE, + dwIndex: DWORD, + pValueName: LPWSTR, + cbValueName: DWORD, + pcbValueName: LPDWORD, + pType: LPDWORD, + pData: LPBYTE, + cbData: DWORD, + pcbData: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pEnumValues: LPBYTE, + cbEnumValues: DWORD, + pcbEnumValues: LPDWORD, + pnEnumValues: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pEnumValues: LPBYTE, + cbEnumValues: DWORD, + pcbEnumValues: LPDWORD, + pnEnumValues: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterKeyA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pSubkey: LPSTR, + cbSubkey: DWORD, + pcbSubkey: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterKeyW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pSubkey: LPWSTR, + cbSubkey: DWORD, + pcbSubkey: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataA( + hPrinter: HANDLE, + pValueName: LPSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataW( + hPrinter: HANDLE, + pValueName: LPWSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pValueName: LPCSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pValueName: LPCWSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataA(hPrinter: HANDLE, pValueName: LPSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataW(hPrinter: HANDLE, pValueName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataExA(hPrinter: HANDLE, pKeyName: LPCSTR, pValueName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataExW(hPrinter: HANDLE, pKeyName: LPCWSTR, pValueName: LPCWSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterKeyA(hPrinter: HANDLE, pKeyName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterKeyW(hPrinter: HANDLE, pKeyName: LPCWSTR) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_OPTIONS_TYPE { + pub Type: WORD, + pub Reserved0: WORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Count: DWORD, + pub pFields: PWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_OPTIONS_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_OPTIONS_TYPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_OPTIONS_TYPE>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_OPTIONS_TYPE>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFields) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(pFields) + ) + ); +} +pub type PRINTER_NOTIFY_OPTIONS_TYPE = _PRINTER_NOTIFY_OPTIONS_TYPE; +pub type PPRINTER_NOTIFY_OPTIONS_TYPE = *mut _PRINTER_NOTIFY_OPTIONS_TYPE; +pub type LPPRINTER_NOTIFY_OPTIONS_TYPE = *mut _PRINTER_NOTIFY_OPTIONS_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_OPTIONS { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub pTypes: PPRINTER_NOTIFY_OPTIONS_TYPE, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_OPTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_OPTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_OPTIONS>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_OPTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_OPTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_OPTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTypes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(pTypes) + ) + ); +} +pub type PRINTER_NOTIFY_OPTIONS = _PRINTER_NOTIFY_OPTIONS; +pub type PPRINTER_NOTIFY_OPTIONS = *mut _PRINTER_NOTIFY_OPTIONS; +pub type LPPRINTER_NOTIFY_OPTIONS = *mut _PRINTER_NOTIFY_OPTIONS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO_DATA { + pub Type: WORD, + pub Field: WORD, + pub Reserved: DWORD, + pub Id: DWORD, + pub NotifyData: _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1 { + pub adwData: [DWORD; 2usize], + pub Data: _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1 { + pub cbBuf: DWORD, + pub pBuf: LPVOID, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pBuf) + ) + ); +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adwData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1), + "::", + stringify!(adwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1), + "::", + stringify!(Data) + ) + ); +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_INFO_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_INFO_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Field) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Field) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotifyData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(NotifyData) + ) + ); +} +pub type PRINTER_NOTIFY_INFO_DATA = _PRINTER_NOTIFY_INFO_DATA; +pub type PPRINTER_NOTIFY_INFO_DATA = *mut _PRINTER_NOTIFY_INFO_DATA; +pub type LPPRINTER_NOTIFY_INFO_DATA = *mut _PRINTER_NOTIFY_INFO_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [PRINTER_NOTIFY_INFO_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(aData) + ) + ); +} +pub type PRINTER_NOTIFY_INFO = _PRINTER_NOTIFY_INFO; +pub type PPRINTER_NOTIFY_INFO = *mut _PRINTER_NOTIFY_INFO; +pub type LPPRINTER_NOTIFY_INFO = *mut _PRINTER_NOTIFY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BINARY_CONTAINER { + pub cbBuf: DWORD, + pub pData: LPBYTE, +} +#[test] +fn bindgen_test_layout__BINARY_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BINARY_CONTAINER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BINARY_CONTAINER>(), + 16usize, + concat!("Size of: ", stringify!(_BINARY_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BINARY_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BINARY_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BINARY_CONTAINER), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BINARY_CONTAINER), + "::", + stringify!(pData) + ) + ); +} +pub type BINARY_CONTAINER = _BINARY_CONTAINER; +pub type PBINARY_CONTAINER = *mut _BINARY_CONTAINER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_DATA { + pub dwBidiType: DWORD, + pub u: _BIDI_DATA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _BIDI_DATA__bindgen_ty_1 { + pub bData: BOOL, + pub iData: LONG, + pub sData: LPWSTR, + pub fData: FLOAT, + pub biData: BINARY_CONTAINER, +} +#[test] +fn bindgen_test_layout__BIDI_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_DATA__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_BIDI_DATA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_DATA__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_DATA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(bData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(iData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(sData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(fData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(biData) + ) + ); +} +#[test] +fn bindgen_test_layout__BIDI_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_BIDI_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBidiType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA), + "::", + stringify!(dwBidiType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA), + "::", + stringify!(u) + ) + ); +} +pub type BIDI_DATA = _BIDI_DATA; +pub type PBIDI_DATA = *mut _BIDI_DATA; +pub type LPBIDI_DATA = *mut _BIDI_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_REQUEST_DATA { + pub dwReqNumber: DWORD, + pub pSchema: LPWSTR, + pub data: BIDI_DATA, +} +#[test] +fn bindgen_test_layout__BIDI_REQUEST_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_REQUEST_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_REQUEST_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_BIDI_REQUEST_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_REQUEST_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_REQUEST_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReqNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(dwReqNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(pSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(data) + ) + ); +} +pub type BIDI_REQUEST_DATA = _BIDI_REQUEST_DATA; +pub type PBIDI_REQUEST_DATA = *mut _BIDI_REQUEST_DATA; +pub type LPBIDI_REQUEST_DATA = *mut _BIDI_REQUEST_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_REQUEST_CONTAINER { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [BIDI_REQUEST_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__BIDI_REQUEST_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_REQUEST_CONTAINER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_REQUEST_CONTAINER>(), + 56usize, + concat!("Size of: ", stringify!(_BIDI_REQUEST_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_REQUEST_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_REQUEST_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(aData) + ) + ); +} +pub type BIDI_REQUEST_CONTAINER = _BIDI_REQUEST_CONTAINER; +pub type PBIDI_REQUEST_CONTAINER = *mut _BIDI_REQUEST_CONTAINER; +pub type LPBIDI_REQUEST_CONTAINER = *mut _BIDI_REQUEST_CONTAINER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_RESPONSE_DATA { + pub dwResult: DWORD, + pub dwReqNumber: DWORD, + pub pSchema: LPWSTR, + pub data: BIDI_DATA, +} +#[test] +fn bindgen_test_layout__BIDI_RESPONSE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_RESPONSE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_RESPONSE_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_BIDI_RESPONSE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_RESPONSE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_RESPONSE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResult) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(dwResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReqNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(dwReqNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(pSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(data) + ) + ); +} +pub type BIDI_RESPONSE_DATA = _BIDI_RESPONSE_DATA; +pub type PBIDI_RESPONSE_DATA = *mut _BIDI_RESPONSE_DATA; +pub type LPBIDI_RESPONSE_DATA = *mut _BIDI_RESPONSE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_RESPONSE_CONTAINER { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [BIDI_RESPONSE_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__BIDI_RESPONSE_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_RESPONSE_CONTAINER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_RESPONSE_CONTAINER>(), + 56usize, + concat!("Size of: ", stringify!(_BIDI_RESPONSE_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_RESPONSE_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_RESPONSE_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(aData) + ) + ); +} +pub type BIDI_RESPONSE_CONTAINER = _BIDI_RESPONSE_CONTAINER; +pub type PBIDI_RESPONSE_CONTAINER = *mut _BIDI_RESPONSE_CONTAINER; +pub type LPBIDI_RESPONSE_CONTAINER = *mut _BIDI_RESPONSE_CONTAINER; +pub const BIDI_TYPE_BIDI_NULL: BIDI_TYPE = 0; +pub const BIDI_TYPE_BIDI_INT: BIDI_TYPE = 1; +pub const BIDI_TYPE_BIDI_FLOAT: BIDI_TYPE = 2; +pub const BIDI_TYPE_BIDI_BOOL: BIDI_TYPE = 3; +pub const BIDI_TYPE_BIDI_STRING: BIDI_TYPE = 4; +pub const BIDI_TYPE_BIDI_TEXT: BIDI_TYPE = 5; +pub const BIDI_TYPE_BIDI_ENUM: BIDI_TYPE = 6; +pub const BIDI_TYPE_BIDI_BLOB: BIDI_TYPE = 7; +pub type BIDI_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn WaitForPrinterChange(hPrinter: HANDLE, Flags: DWORD) -> DWORD; +} +extern "C" { + pub fn FindFirstPrinterChangeNotification( + hPrinter: HANDLE, + fdwFilter: DWORD, + fdwOptions: DWORD, + pPrinterNotifyOptions: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextPrinterChangeNotification( + hChange: HANDLE, + pdwChange: PDWORD, + pvReserved: LPVOID, + ppPrinterNotifyInfo: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn FreePrinterNotifyInfo(pPrinterNotifyInfo: PPRINTER_NOTIFY_INFO) -> BOOL; +} +extern "C" { + pub fn FindClosePrinterChangeNotification(hChange: HANDLE) -> BOOL; +} +extern "C" { + pub fn PrinterMessageBoxA( + hPrinter: HANDLE, + Error: DWORD, + hWnd: HWND, + pText: LPSTR, + pCaption: LPSTR, + dwType: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn PrinterMessageBoxW( + hPrinter: HANDLE, + Error: DWORD, + hWnd: HWND, + pText: LPWSTR, + pCaption: LPWSTR, + dwType: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ClosePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AddFormA(hPrinter: HANDLE, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddFormW(hPrinter: HANDLE, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeleteFormA(hPrinter: HANDLE, pFormName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFormW(hPrinter: HANDLE, pFormName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetFormA( + hPrinter: HANDLE, + pFormName: LPSTR, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFormW( + hPrinter: HANDLE, + pFormName: LPWSTR, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFormA(hPrinter: HANDLE, pFormName: LPSTR, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn SetFormW(hPrinter: HANDLE, pFormName: LPWSTR, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn EnumFormsA( + hPrinter: HANDLE, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumFormsW( + hPrinter: HANDLE, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumMonitorsA( + pName: LPSTR, + Level: DWORD, + pMonitor: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumMonitorsW( + pName: LPWSTR, + Level: DWORD, + pMonitor: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddMonitorA(pName: LPSTR, Level: DWORD, pMonitors: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddMonitorW(pName: LPWSTR, Level: DWORD, pMonitors: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeleteMonitorA(pName: LPSTR, pEnvironment: LPSTR, pMonitorName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeleteMonitorW(pName: LPWSTR, pEnvironment: LPWSTR, pMonitorName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn EnumPortsA( + pName: LPSTR, + Level: DWORD, + pPort: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPortsW( + pName: LPWSTR, + Level: DWORD, + pPort: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPortA(pName: LPSTR, hWnd: HWND, pMonitorName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddPortW(pName: LPWSTR, hWnd: HWND, pMonitorName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn ConfigurePortA(pName: LPSTR, hWnd: HWND, pPortName: LPSTR) -> BOOL; +} +extern "C" { + pub fn ConfigurePortW(pName: LPWSTR, hWnd: HWND, pPortName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePortA(pName: LPSTR, hWnd: HWND, pPortName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePortW(pName: LPWSTR, hWnd: HWND, pPortName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn XcvDataW( + hXcv: HANDLE, + pszDataName: PCWSTR, + pInputData: PBYTE, + cbInputData: DWORD, + pOutputData: PBYTE, + cbOutputData: DWORD, + pcbOutputNeeded: PDWORD, + pdwStatus: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDefaultPrinterA(pszBuffer: LPSTR, pcchBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetDefaultPrinterW(pszBuffer: LPWSTR, pcchBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultPrinterA(pszPrinter: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetDefaultPrinterW(pszPrinter: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetPortA(pName: LPSTR, pPortName: LPSTR, dwLevel: DWORD, pPortInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn SetPortW(pName: LPWSTR, pPortName: LPWSTR, dwLevel: DWORD, pPortInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnectionA(pName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnectionW(pName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterConnectionA(pName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterConnectionW(pName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn ConnectToPrinterDlg(hwnd: HWND, Flags: DWORD) -> HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_1A { + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDLLName: LPSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_1A>(), + 24usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pDLLName) + ) + ); +} +pub type PROVIDOR_INFO_1A = _PROVIDOR_INFO_1A; +pub type PPROVIDOR_INFO_1A = *mut _PROVIDOR_INFO_1A; +pub type LPPROVIDOR_INFO_1A = *mut _PROVIDOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_1W { + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDLLName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_1W>(), + 24usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pDLLName) + ) + ); +} +pub type PROVIDOR_INFO_1W = _PROVIDOR_INFO_1W; +pub type PPROVIDOR_INFO_1W = *mut _PROVIDOR_INFO_1W; +pub type LPPROVIDOR_INFO_1W = *mut _PROVIDOR_INFO_1W; +pub type PROVIDOR_INFO_1 = PROVIDOR_INFO_1A; +pub type PPROVIDOR_INFO_1 = PPROVIDOR_INFO_1A; +pub type LPPROVIDOR_INFO_1 = LPPROVIDOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_2A { + pub pOrder: LPSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_2A>(), + 8usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOrder) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_2A), + "::", + stringify!(pOrder) + ) + ); +} +pub type PROVIDOR_INFO_2A = _PROVIDOR_INFO_2A; +pub type PPROVIDOR_INFO_2A = *mut _PROVIDOR_INFO_2A; +pub type LPPROVIDOR_INFO_2A = *mut _PROVIDOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_2W { + pub pOrder: LPWSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_2W>(), + 8usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOrder) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_2W), + "::", + stringify!(pOrder) + ) + ); +} +pub type PROVIDOR_INFO_2W = _PROVIDOR_INFO_2W; +pub type PPROVIDOR_INFO_2W = *mut _PROVIDOR_INFO_2W; +pub type LPPROVIDOR_INFO_2W = *mut _PROVIDOR_INFO_2W; +pub type PROVIDOR_INFO_2 = PROVIDOR_INFO_2A; +pub type PPROVIDOR_INFO_2 = PPROVIDOR_INFO_2A; +pub type LPPROVIDOR_INFO_2 = LPPROVIDOR_INFO_2A; +extern "C" { + pub fn AddPrintProvidorA(pName: LPSTR, Level: DWORD, pProvidorInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrintProvidorW(pName: LPWSTR, Level: DWORD, pProvidorInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeletePrintProvidorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPrintProvidorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProvidorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPrintProvidorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn IsValidDevmodeA(pDevmode: PDEVMODEA, DevmodeSize: usize) -> BOOL; +} +extern "C" { + pub fn IsValidDevmodeW(pDevmode: PDEVMODEW, DevmodeSize: usize) -> BOOL; +} +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_NO_CACHE: _PRINTER_OPTION_FLAGS = 1; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_CACHE: _PRINTER_OPTION_FLAGS = 2; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_CLIENT_CHANGE: _PRINTER_OPTION_FLAGS = 4; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_NO_CLIENT_DATA: _PRINTER_OPTION_FLAGS = 8; +pub type _PRINTER_OPTION_FLAGS = ::std::os::raw::c_int; +pub use self::_PRINTER_OPTION_FLAGS as PRINTER_OPTION_FLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_OPTIONSA { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_OPTIONSA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_OPTIONSA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_OPTIONSA>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_OPTIONSA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_OPTIONSA>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_OPTIONSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type PRINTER_OPTIONSA = _PRINTER_OPTIONSA; +pub type PPRINTER_OPTIONSA = *mut _PRINTER_OPTIONSA; +pub type LPPRINTER_OPTIONSA = *mut _PRINTER_OPTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_OPTIONSW { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_OPTIONSW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_OPTIONSW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_OPTIONSW>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_OPTIONSW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_OPTIONSW>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_OPTIONSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSW), + "::", + stringify!(dwFlags) + ) + ); +} +pub type PRINTER_OPTIONSW = _PRINTER_OPTIONSW; +pub type PPRINTER_OPTIONSW = *mut _PRINTER_OPTIONSW; +pub type LPPRINTER_OPTIONSW = *mut _PRINTER_OPTIONSW; +pub type PRINTER_OPTIONS = PRINTER_OPTIONSA; +pub type PPRINTER_OPTIONS = PPRINTER_OPTIONSA; +pub type LPPRINTER_OPTIONS = LPPRINTER_OPTIONSA; +extern "C" { + pub fn OpenPrinter2A( + pPrinterName: LPCSTR, + phPrinter: LPHANDLE, + pDefault: PPRINTER_DEFAULTSA, + pOptions: PPRINTER_OPTIONSA, + ) -> BOOL; +} +extern "C" { + pub fn OpenPrinter2W( + pPrinterName: LPCWSTR, + phPrinter: LPHANDLE, + pDefault: PPRINTER_DEFAULTSW, + pOptions: PPRINTER_OPTIONSW, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_CONNECTION_INFO_1A { + pub dwFlags: DWORD, + pub pszDriverName: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_CONNECTION_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_CONNECTION_INFO_1A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_CONNECTION_INFO_1A>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_CONNECTION_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_CONNECTION_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_CONNECTION_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1A), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDriverName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1A), + "::", + stringify!(pszDriverName) + ) + ); +} +pub type PRINTER_CONNECTION_INFO_1A = _PRINTER_CONNECTION_INFO_1A; +pub type PPRINTER_CONNECTION_INFO_1A = *mut _PRINTER_CONNECTION_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_CONNECTION_INFO_1W { + pub dwFlags: DWORD, + pub pszDriverName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_CONNECTION_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_CONNECTION_INFO_1W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_CONNECTION_INFO_1W>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_CONNECTION_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_CONNECTION_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_CONNECTION_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1W), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDriverName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1W), + "::", + stringify!(pszDriverName) + ) + ); +} +pub type PRINTER_CONNECTION_INFO_1W = _PRINTER_CONNECTION_INFO_1W; +pub type PPRINTER_CONNECTION_INFO_1W = *mut _PRINTER_CONNECTION_INFO_1W; +pub type PRINTER_CONNECTION_INFO_1 = PRINTER_CONNECTION_INFO_1A; +pub type PPRINTER_CONNECTION_INFO_1 = PPRINTER_CONNECTION_INFO_1A; +extern "C" { + pub fn AddPrinterConnection2A( + hWnd: HWND, + pszName: LPCSTR, + dwLevel: DWORD, + pConnectionInfo: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnection2W( + hWnd: HWND, + pszName: LPCWSTR, + dwLevel: DWORD, + pConnectionInfo: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn InstallPrinterDriverFromPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszDriverName: LPCSTR, + pszEnvironment: LPCSTR, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn InstallPrinterDriverFromPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszDriverName: LPCWSTR, + pszEnvironment: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UploadPrinterDriverPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszEnvironment: LPCSTR, + dwFlags: DWORD, + hwnd: HWND, + pszDestInfPath: LPSTR, + pcchDestInfPath: PULONG, + ) -> HRESULT; +} +extern "C" { + pub fn UploadPrinterDriverPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszEnvironment: LPCWSTR, + dwFlags: DWORD, + hwnd: HWND, + pszDestInfPath: LPWSTR, + pcchDestInfPath: PULONG, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CORE_PRINTER_DRIVERA { + pub CoreDriverGUID: GUID, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub szPackageID: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__CORE_PRINTER_DRIVERA() { + const UNINIT: ::std::mem::MaybeUninit<_CORE_PRINTER_DRIVERA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CORE_PRINTER_DRIVERA>(), + 296usize, + concat!("Size of: ", stringify!(_CORE_PRINTER_DRIVERA)) + ); + assert_eq!( + ::std::mem::align_of::<_CORE_PRINTER_DRIVERA>(), + 8usize, + concat!("Alignment of ", stringify!(_CORE_PRINTER_DRIVERA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreDriverGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(CoreDriverGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPackageID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(szPackageID) + ) + ); +} +pub type CORE_PRINTER_DRIVERA = _CORE_PRINTER_DRIVERA; +pub type PCORE_PRINTER_DRIVERA = *mut _CORE_PRINTER_DRIVERA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CORE_PRINTER_DRIVERW { + pub CoreDriverGUID: GUID, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub szPackageID: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__CORE_PRINTER_DRIVERW() { + const UNINIT: ::std::mem::MaybeUninit<_CORE_PRINTER_DRIVERW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CORE_PRINTER_DRIVERW>(), + 552usize, + concat!("Size of: ", stringify!(_CORE_PRINTER_DRIVERW)) + ); + assert_eq!( + ::std::mem::align_of::<_CORE_PRINTER_DRIVERW>(), + 8usize, + concat!("Alignment of ", stringify!(_CORE_PRINTER_DRIVERW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreDriverGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(CoreDriverGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPackageID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(szPackageID) + ) + ); +} +pub type CORE_PRINTER_DRIVERW = _CORE_PRINTER_DRIVERW; +pub type PCORE_PRINTER_DRIVERW = *mut _CORE_PRINTER_DRIVERW; +pub type CORE_PRINTER_DRIVER = CORE_PRINTER_DRIVERA; +pub type PCORE_PRINTER_DRIVER = PCORE_PRINTER_DRIVERA; +extern "C" { + pub fn GetCorePrinterDriversA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + pszzCoreDriverDependencies: LPCSTR, + cCorePrinterDrivers: DWORD, + pCorePrinterDrivers: PCORE_PRINTER_DRIVERA, + ) -> HRESULT; +} +extern "C" { + pub fn GetCorePrinterDriversW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + pszzCoreDriverDependencies: LPCWSTR, + cCorePrinterDrivers: DWORD, + pCorePrinterDrivers: PCORE_PRINTER_DRIVERW, + ) -> HRESULT; +} +extern "C" { + pub fn CorePrinterDriverInstalledA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + CoreDriverGUID: GUID, + ftDriverDate: FILETIME, + dwlDriverVersion: DWORDLONG, + pbDriverInstalled: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn CorePrinterDriverInstalledW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + CoreDriverGUID: GUID, + ftDriverDate: FILETIME, + dwlDriverVersion: DWORDLONG, + pbDriverInstalled: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriverPackagePathA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + pszLanguage: LPCSTR, + pszPackageID: LPCSTR, + pszDriverPackageCab: LPSTR, + cchDriverPackageCab: DWORD, + pcchRequiredSize: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriverPackagePathW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + pszLanguage: LPCWSTR, + pszPackageID: LPCWSTR, + pszDriverPackageCab: LPWSTR, + cchDriverPackageCab: DWORD, + pcchRequiredSize: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn DeletePrinterDriverPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszEnvironment: LPCSTR, + ) -> HRESULT; +} +extern "C" { + pub fn DeletePrinterDriverPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszEnvironment: LPCWSTR, + ) -> HRESULT; +} +pub const EPrintPropertyType_kPropertyTypeString: EPrintPropertyType = 1; +pub const EPrintPropertyType_kPropertyTypeInt32: EPrintPropertyType = 2; +pub const EPrintPropertyType_kPropertyTypeInt64: EPrintPropertyType = 3; +pub const EPrintPropertyType_kPropertyTypeByte: EPrintPropertyType = 4; +pub const EPrintPropertyType_kPropertyTypeTime: EPrintPropertyType = 5; +pub const EPrintPropertyType_kPropertyTypeDevMode: EPrintPropertyType = 6; +pub const EPrintPropertyType_kPropertyTypeSD: EPrintPropertyType = 7; +pub const EPrintPropertyType_kPropertyTypeNotificationReply: EPrintPropertyType = 8; +pub const EPrintPropertyType_kPropertyTypeNotificationOptions: EPrintPropertyType = 9; +pub const EPrintPropertyType_kPropertyTypeBuffer: EPrintPropertyType = 10; +pub type EPrintPropertyType = ::std::os::raw::c_int; +pub const EPrintXPSJobProgress_kAddingDocumentSequence: EPrintXPSJobProgress = 0; +pub const EPrintXPSJobProgress_kDocumentSequenceAdded: EPrintXPSJobProgress = 1; +pub const EPrintXPSJobProgress_kAddingFixedDocument: EPrintXPSJobProgress = 2; +pub const EPrintXPSJobProgress_kFixedDocumentAdded: EPrintXPSJobProgress = 3; +pub const EPrintXPSJobProgress_kAddingFixedPage: EPrintXPSJobProgress = 4; +pub const EPrintXPSJobProgress_kFixedPageAdded: EPrintXPSJobProgress = 5; +pub const EPrintXPSJobProgress_kResourceAdded: EPrintXPSJobProgress = 6; +pub const EPrintXPSJobProgress_kFontAdded: EPrintXPSJobProgress = 7; +pub const EPrintXPSJobProgress_kImageAdded: EPrintXPSJobProgress = 8; +pub const EPrintXPSJobProgress_kXpsDocumentCommitted: EPrintXPSJobProgress = 9; +pub type EPrintXPSJobProgress = ::std::os::raw::c_int; +pub const EPrintXPSJobOperation_kJobProduction: EPrintXPSJobOperation = 1; +pub const EPrintXPSJobOperation_kJobConsumption: EPrintXPSJobOperation = 2; +pub type EPrintXPSJobOperation = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PrintPropertyValue { + pub ePropertyType: EPrintPropertyType, + pub value: PrintPropertyValue__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PrintPropertyValue__bindgen_ty_1 { + pub propertyByte: BYTE, + pub propertyString: PWSTR, + pub propertyInt32: LONG, + pub propertyInt64: LONGLONG, + pub propertyBlob: PrintPropertyValue__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PrintPropertyValue__bindgen_ty_1__bindgen_ty_1 { + pub cbBuf: DWORD, + pub pBuf: LPVOID, +} +#[test] +fn bindgen_test_layout_PrintPropertyValue__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pBuf) + ) + ); +} +#[test] +fn bindgen_test_layout_PrintPropertyValue__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PrintPropertyValue__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(PrintPropertyValue__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyByte) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyInt32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyInt32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyBlob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyBlob) + ) + ); +} +#[test] +fn bindgen_test_layout_PrintPropertyValue() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PrintPropertyValue)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintPropertyValue)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ePropertyType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue), + "::", + stringify!(ePropertyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue), + "::", + stringify!(value) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PrintNamedProperty { + pub propertyName: *mut WCHAR, + pub propertyValue: PrintPropertyValue, +} +#[test] +fn bindgen_test_layout_PrintNamedProperty() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PrintNamedProperty)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintNamedProperty)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintNamedProperty), + "::", + stringify!(propertyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintNamedProperty), + "::", + stringify!(propertyValue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PrintPropertiesCollection { + pub numberOfProperties: ULONG, + pub propertiesCollection: *mut PrintNamedProperty, +} +#[test] +fn bindgen_test_layout_PrintPropertiesCollection() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PrintPropertiesCollection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintPropertiesCollection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).numberOfProperties) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertiesCollection), + "::", + stringify!(numberOfProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertiesCollection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertiesCollection), + "::", + stringify!(propertiesCollection) + ) + ); +} +extern "C" { + pub fn ReportJobProcessingProgress( + printerHandle: HANDLE, + jobId: ULONG, + jobOperation: EPrintXPSJobOperation, + jobProgress: EPrintXPSJobProgress, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriver2A( + hWnd: HWND, + hPrinter: HANDLE, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriver2W( + hWnd: HWND, + hPrinter: HANDLE, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_APPLICATION: PRINT_EXECUTION_CONTEXT = 0; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_SPOOLER_SERVICE: PRINT_EXECUTION_CONTEXT = + 1; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_SPOOLER_ISOLATION_HOST: + PRINT_EXECUTION_CONTEXT = 2; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_FILTER_PIPELINE: PRINT_EXECUTION_CONTEXT = + 3; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_WOW64: PRINT_EXECUTION_CONTEXT = 4; +pub type PRINT_EXECUTION_CONTEXT = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PRINT_EXECUTION_DATA { + pub context: PRINT_EXECUTION_CONTEXT, + pub clientAppPID: DWORD, +} +#[test] +fn bindgen_test_layout_PRINT_EXECUTION_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(PRINT_EXECUTION_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PRINT_EXECUTION_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PRINT_EXECUTION_DATA), + "::", + stringify!(context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clientAppPID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PRINT_EXECUTION_DATA), + "::", + stringify!(clientAppPID) + ) + ); +} +extern "C" { + pub fn GetPrintExecutionData(pData: *mut PRINT_EXECUTION_DATA) -> BOOL; +} +extern "C" { + pub fn GetJobNamedPropertyValue( + hPrinter: HANDLE, + JobId: DWORD, + pszName: PCWSTR, + pValue: *mut PrintPropertyValue, + ) -> DWORD; +} +extern "C" { + pub fn FreePrintPropertyValue(pValue: *mut PrintPropertyValue); +} +extern "C" { + pub fn FreePrintNamedPropertyArray( + cProperties: DWORD, + ppProperties: *mut *mut PrintNamedProperty, + ); +} +extern "C" { + pub fn SetJobNamedProperty( + hPrinter: HANDLE, + JobId: DWORD, + pProperty: *const PrintNamedProperty, + ) -> DWORD; +} +extern "C" { + pub fn DeleteJobNamedProperty(hPrinter: HANDLE, JobId: DWORD, pszName: PCWSTR) -> DWORD; +} +extern "C" { + pub fn EnumJobNamedProperties( + hPrinter: HANDLE, + JobId: DWORD, + pcProperties: *mut DWORD, + ppProperties: *mut *mut PrintNamedProperty, + ) -> DWORD; +} +extern "C" { + pub fn GetPrintOutputInfo( + hWnd: HWND, + pszPrinter: PCWSTR, + phFile: *mut HANDLE, + ppszOutputFile: *mut PWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn _calloc_base(_Count: usize, _Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn calloc( + _Count: ::std::os::raw::c_ulonglong, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _callnewh(_Size: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _expand( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _free_base(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn free(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn _malloc_base(_Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc(_Size: ::std::os::raw::c_ulonglong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> usize; +} +extern "C" { + pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> usize; +} +extern "C" { + pub fn _realloc_base( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _recalloc_base( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn _aligned_malloc(_Size: usize, _Alignment: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_offset_malloc( + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_msize( + _Block: *mut ::std::os::raw::c_void, + _Alignment: usize, + _Offset: usize, + ) -> usize; +} +extern "C" { + pub fn _aligned_offset_realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_offset_recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + _Alignment: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + _Alignment: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn __threadid() -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn __threadhandle() -> usize; +} +pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; +pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn bsearch_s( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: rsize_t, + _SizeOfElements: rsize_t, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn qsort_s( + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: rsize_t, + _SizeOfElements: rsize_t, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn bsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: usize, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn qsort( + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: usize, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ); +} +extern "C" { + pub fn _lfind_s( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lfind( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lsearch_s( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn lfind( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn lsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _itow_s( + _Value: ::std::os::raw::c_int, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _itow( + _Value: ::std::os::raw::c_int, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ltow_s( + _Value: ::std::os::raw::c_long, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ltow( + _Value: ::std::os::raw::c_long, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ultow_s( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ultow( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64; +} +extern "C" { + pub fn _wcstod_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn wcstol( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wcstol_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn wcstoll( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoll_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn wcstoul( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _wcstoul_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn wcstoull( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wcstoull_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64; +} +extern "C" { + pub fn _wcstold_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32; +} +extern "C" { + pub fn _wcstof_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f32; +} +extern "C" { + pub fn _wtof(_String: *const wchar_t) -> f64; +} +extern "C" { + pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64; +} +extern "C" { + pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _i64tow_s( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _i64tow( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ui64tow_s( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ui64tow( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoi64( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoi64_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoui64( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wcstoui64_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wfullpath( + _Buffer: *mut wchar_t, + _Path: *const wchar_t, + _BufferCount: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wmakepath_s( + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Drive: *const wchar_t, + _Dir: *const wchar_t, + _Filename: *const wchar_t, + _Ext: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wmakepath( + _Buffer: *mut wchar_t, + _Drive: *const wchar_t, + _Dir: *const wchar_t, + _Filename: *const wchar_t, + _Ext: *const wchar_t, + ); +} +extern "C" { + pub fn _wperror(_ErrorMessage: *const wchar_t); +} +extern "C" { + pub fn _wsplitpath( + _FullPath: *const wchar_t, + _Drive: *mut wchar_t, + _Dir: *mut wchar_t, + _Filename: *mut wchar_t, + _Ext: *mut wchar_t, + ); +} +extern "C" { + pub fn _wsplitpath_s( + _FullPath: *const wchar_t, + _Drive: *mut wchar_t, + _DriveCount: usize, + _Dir: *mut wchar_t, + _DirCount: usize, + _Filename: *mut wchar_t, + _FilenameCount: usize, + _Ext: *mut wchar_t, + _ExtCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wdupenv_s( + _Buffer: *mut *mut wchar_t, + _BufferCount: *mut usize, + _VarName: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wgetenv_s( + _RequiredCount: *mut usize, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _VarName: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t; +} +extern "C" { + pub fn _wsearchenv_s( + _Filename: *const wchar_t, + _VarName: *const wchar_t, + _Buffer: *mut wchar_t, + _BufferCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wsearchenv( + _Filename: *const wchar_t, + _VarName: *const wchar_t, + _ResultPath: *mut wchar_t, + ); +} +extern "C" { + pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _swab( + _Buf1: *mut ::std::os::raw::c_char, + _Buf2: *mut ::std::os::raw::c_char, + _SizeInBytes: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn _exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn _Exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn quick_exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn abort() -> !; +} +extern "C" { + pub fn _set_abort_behavior( + _Flags: ::std::os::raw::c_uint, + _Mask: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_uint; +} +pub type _onexit_t = ::std::option::Option ::std::os::raw::c_int>; +extern "C" { + pub fn atexit(arg1: ::std::option::Option) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _onexit(_Func: _onexit_t) -> _onexit_t; +} +extern "C" { + pub fn at_quick_exit( + arg1: ::std::option::Option, + ) -> ::std::os::raw::c_int; +} +pub type _purecall_handler = ::std::option::Option; +pub type _invalid_parameter_handler = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const wchar_t, + arg2: *const wchar_t, + arg3: *const wchar_t, + arg4: ::std::os::raw::c_uint, + arg5: usize, + ), +>; +extern "C" { + pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler; +} +extern "C" { + pub fn _get_purecall_handler() -> _purecall_handler; +} +extern "C" { + pub fn _set_invalid_parameter_handler( + _Handler: _invalid_parameter_handler, + ) -> _invalid_parameter_handler; +} +extern "C" { + pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler; +} +extern "C" { + pub fn _set_thread_local_invalid_parameter_handler( + _Handler: _invalid_parameter_handler, + ) -> _invalid_parameter_handler; +} +extern "C" { + pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler; +} +extern "C" { + pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __sys_nerr() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn perror(_ErrMsg: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p__wpgmptr() -> *mut *mut wchar_t; +} +extern "C" { + pub fn __p__fmode() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t; +} +extern "C" { + pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t; +} +extern "C" { + pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__div_t() { + const UNINIT: ::std::mem::MaybeUninit<_div_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_div_t>(), + 8usize, + concat!("Size of: ", stringify!(_div_t)) + ); + assert_eq!( + ::std::mem::align_of::<_div_t>(), + 4usize, + concat!("Alignment of ", stringify!(_div_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_div_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_div_t), + "::", + stringify!(rem) + ) + ); +} +pub type div_t = _div_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout__ldiv_t() { + const UNINIT: ::std::mem::MaybeUninit<_ldiv_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ldiv_t>(), + 8usize, + concat!("Size of: ", stringify!(_ldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::<_ldiv_t>(), + 4usize, + concat!("Alignment of ", stringify!(_ldiv_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ldiv_t), + "::", + stringify!(rem) + ) + ); +} +pub type ldiv_t = _ldiv_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__lldiv_t() { + const UNINIT: ::std::mem::MaybeUninit<_lldiv_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_lldiv_t>(), + 16usize, + concat!("Size of: ", stringify!(_lldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::<_lldiv_t>(), + 8usize, + concat!("Alignment of ", stringify!(_lldiv_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_lldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_lldiv_t), + "::", + stringify!(rem) + ) + ); +} +pub type lldiv_t = _lldiv_t; +extern "C" { + pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t; +} +extern "C" { + pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long) + -> ldiv_t; +} +extern "C" { + pub fn lldiv( + _Numerator: ::std::os::raw::c_longlong, + _Denominator: ::std::os::raw::c_longlong, + ) -> lldiv_t; +} +extern "C" { + pub fn _lrotl( + _Value: ::std::os::raw::c_ulong, + _Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _lrotr( + _Value: ::std::os::raw::c_ulong, + _Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn srand(_Seed: ::std::os::raw::c_uint); +} +extern "C" { + pub fn rand() -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDOUBLE { + pub ld: [::std::os::raw::c_uchar; 10usize], +} +#[test] +fn bindgen_test_layout__LDOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_LDOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDOUBLE>(), + 10usize, + concat!("Size of: ", stringify!(_LDOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_LDOUBLE>(), + 1usize, + concat!("Alignment of ", stringify!(_LDOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ld) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDOUBLE), + "::", + stringify!(ld) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRT_DOUBLE { + pub x: f64, +} +#[test] +fn bindgen_test_layout__CRT_DOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRT_DOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRT_DOUBLE>(), + 8usize, + concat!("Size of: ", stringify!(_CRT_DOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRT_DOUBLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRT_DOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRT_DOUBLE), + "::", + stringify!(x) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRT_FLOAT { + pub f: f32, +} +#[test] +fn bindgen_test_layout__CRT_FLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_CRT_FLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRT_FLOAT>(), + 4usize, + concat!("Size of: ", stringify!(_CRT_FLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRT_FLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_CRT_FLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRT_FLOAT), + "::", + stringify!(f) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LONGDOUBLE { + pub x: f64, +} +#[test] +fn bindgen_test_layout__LONGDOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_LONGDOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LONGDOUBLE>(), + 8usize, + concat!("Size of: ", stringify!(_LONGDOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_LONGDOUBLE>(), + 8usize, + concat!("Alignment of ", stringify!(_LONGDOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LONGDOUBLE), + "::", + stringify!(x) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDBL12 { + pub ld12: [::std::os::raw::c_uchar; 12usize], +} +#[test] +fn bindgen_test_layout__LDBL12() { + const UNINIT: ::std::mem::MaybeUninit<_LDBL12> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDBL12>(), + 12usize, + concat!("Size of: ", stringify!(_LDBL12)) + ); + assert_eq!( + ::std::mem::align_of::<_LDBL12>(), + 1usize, + concat!("Alignment of ", stringify!(_LDBL12)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ld12) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDBL12), + "::", + stringify!(ld12) + ) + ); +} +extern "C" { + pub fn atof(_String: *const ::std::os::raw::c_char) -> f64; +} +extern "C" { + pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64; +} +extern "C" { + pub fn _atoi_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atol_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _atoll_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoi64_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoflt( + _Result: *mut _CRT_FLOAT, + _String: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atodbl( + _Result: *mut _CRT_DOUBLE, + _String: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoldbl( + _Result: *mut _LDOUBLE, + _String: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoflt_l( + _Result: *mut _CRT_FLOAT, + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atodbl_l( + _Result: *mut _CRT_DOUBLE, + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoldbl_l( + _Result: *mut _LDOUBLE, + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strtof( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f32; +} +extern "C" { + pub fn _strtof_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f32; +} +extern "C" { + pub fn strtod( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn _strtod_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn strtold( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn _strtold_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn strtol( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _strtol_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn strtoll( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoll_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoul( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _strtoul_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtoull( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoull_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoi64( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoi64_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoui64( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoui64_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _itoa_s( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _itoa( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ltoa_s( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ltoa( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ultoa_s( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ultoa( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _i64toa_s( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _i64toa( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ui64toa_s( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ui64toa( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ecvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ecvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _fcvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _fcvt( + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _gcvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _gcvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mblen_l( + _Ch: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> usize; +} +extern "C" { + pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> usize; +} +extern "C" { + pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _mbstrnlen_l( + _String: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn mbtowc( + _DstCh: *mut wchar_t, + _SrcCh: *const ::std::os::raw::c_char, + _SrcSizeInBytes: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mbtowc_l( + _DstCh: *mut wchar_t, + _SrcCh: *const ::std::os::raw::c_char, + _SrcSizeInBytes: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mbstowcs_s( + _PtNumOfCharConverted: *mut usize, + _DstBuf: *mut wchar_t, + _SizeInWords: usize, + _SrcBuf: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn mbstowcs( + _Dest: *mut wchar_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> usize; +} +extern "C" { + pub fn _mbstowcs_s_l( + _PtNumOfCharConverted: *mut usize, + _DstBuf: *mut wchar_t, + _SizeInWords: usize, + _SrcBuf: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _mbstowcs_l( + _Dest: *mut wchar_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wctomb_l( + _MbCh: *mut ::std::os::raw::c_char, + _WCh: wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wctomb_s( + _SizeConverted: *mut ::std::os::raw::c_int, + _MbCh: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _WCh: wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wctomb_s_l( + _SizeConverted: *mut ::std::os::raw::c_int, + _MbCh: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _WCh: wchar_t, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn wcstombs_s( + _PtNumOfCharConverted: *mut usize, + _Dst: *mut ::std::os::raw::c_char, + _DstSizeInBytes: usize, + _Src: *const wchar_t, + _MaxCountInBytes: usize, + ) -> errno_t; +} +extern "C" { + pub fn wcstombs( + _Dest: *mut ::std::os::raw::c_char, + _Source: *const wchar_t, + _MaxCount: usize, + ) -> usize; +} +extern "C" { + pub fn _wcstombs_s_l( + _PtNumOfCharConverted: *mut usize, + _Dst: *mut ::std::os::raw::c_char, + _DstSizeInBytes: usize, + _Src: *const wchar_t, + _MaxCountInBytes: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _wcstombs_l( + _Dest: *mut ::std::os::raw::c_char, + _Source: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn _fullpath( + _Buffer: *mut ::std::os::raw::c_char, + _Path: *const ::std::os::raw::c_char, + _BufferCount: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _makepath_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Drive: *const ::std::os::raw::c_char, + _Dir: *const ::std::os::raw::c_char, + _Filename: *const ::std::os::raw::c_char, + _Ext: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn _makepath( + _Buffer: *mut ::std::os::raw::c_char, + _Drive: *const ::std::os::raw::c_char, + _Dir: *const ::std::os::raw::c_char, + _Filename: *const ::std::os::raw::c_char, + _Ext: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _splitpath( + _FullPath: *const ::std::os::raw::c_char, + _Drive: *mut ::std::os::raw::c_char, + _Dir: *mut ::std::os::raw::c_char, + _Filename: *mut ::std::os::raw::c_char, + _Ext: *mut ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _splitpath_s( + _FullPath: *const ::std::os::raw::c_char, + _Drive: *mut ::std::os::raw::c_char, + _DriveCount: usize, + _Dir: *mut ::std::os::raw::c_char, + _DirCount: usize, + _Filename: *mut ::std::os::raw::c_char, + _FilenameCount: usize, + _Ext: *mut ::std::os::raw::c_char, + _ExtCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn getenv_s( + _RequiredCount: *mut usize, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: rsize_t, + _VarName: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn __p___argc() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p___wargv() -> *mut *mut *mut wchar_t; +} +extern "C" { + pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p__wenviron() -> *mut *mut *mut wchar_t; +} +extern "C" { + pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _dupenv_s( + _Buffer: *mut *mut ::std::os::raw::c_char, + _BufferCount: *mut usize, + _VarName: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _putenv_s( + _Name: *const ::std::os::raw::c_char, + _Value: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn _searchenv_s( + _Filename: *const ::std::os::raw::c_char, + _VarName: *const ::std::os::raw::c_char, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _searchenv( + _Filename: *const ::std::os::raw::c_char, + _VarName: *const ::std::os::raw::c_char, + _Buffer: *mut ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _seterrormode(_Mode: ::std::os::raw::c_int); +} +extern "C" { + pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint); +} +extern "C" { + pub fn _sleep(_Duration: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn ecvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn fcvt( + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn gcvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _DstBuf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn itoa( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ltoa( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn swab( + _Buf1: *mut ::std::os::raw::c_char, + _Buf2: *mut ::std::os::raw::c_char, + _SizeInBytes: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn ultoa( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn onexit(_Func: _onexit_t) -> _onexit_t; +} +pub const tagREGCLS_REGCLS_SINGLEUSE: tagREGCLS = 0; +pub const tagREGCLS_REGCLS_MULTIPLEUSE: tagREGCLS = 1; +pub const tagREGCLS_REGCLS_MULTI_SEPARATE: tagREGCLS = 2; +pub const tagREGCLS_REGCLS_SUSPENDED: tagREGCLS = 4; +pub const tagREGCLS_REGCLS_SURROGATE: tagREGCLS = 8; +pub const tagREGCLS_REGCLS_AGILE: tagREGCLS = 16; +pub type tagREGCLS = ::std::os::raw::c_int; +pub use self::tagREGCLS as REGCLS; +pub const tagCOINITBASE_COINITBASE_MULTITHREADED: tagCOINITBASE = 0; +pub type tagCOINITBASE = ::std::os::raw::c_int; +pub use self::tagCOINITBASE as COINITBASE; +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPUNKNOWN = *mut IUnknown; +extern "C" { + pub static IID_IUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUnknown { + pub lpVtbl: *mut IUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IUnknown_QueryInterface_Proxy( + This: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IUnknown_QueryInterface_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IUnknown_AddRef_Proxy(This: *mut IUnknown) -> ULONG; +} +extern "C" { + pub fn IUnknown_AddRef_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IUnknown_Release_Proxy(This: *mut IUnknown) -> ULONG; +} +extern "C" { + pub fn IUnknown_Release_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_AsyncIUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_QueryInterface: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIUnknown, riid: *const IID) -> HRESULT, + >, + pub Finish_QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIUnknown, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub Begin_AddRef: + ::std::option::Option HRESULT>, + pub Finish_AddRef: + ::std::option::Option ULONG>, + pub Begin_Release: + ::std::option::Option HRESULT>, + pub Finish_Release: + ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_AsyncIUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(AsyncIUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_QueryInterface) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_QueryInterface) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_AddRef) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_AddRef) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Release) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Release) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIUnknown { + pub lpVtbl: *mut AsyncIUnknownVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCLASSFACTORY = *mut IClassFactory; +extern "C" { + pub static IID_IClassFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassFactory, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub LockServer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IClassFactory, fLock: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClassFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IClassFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockServer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(LockServer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassFactory { + pub lpVtbl: *mut IClassFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IClassFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClassFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IClassFactory_RemoteCreateInstance_Proxy( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_RemoteCreateInstance_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IClassFactory_RemoteLockServer_Proxy(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_RemoteLockServer_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IClassFactory_CreateInstance_Proxy( + This: *mut IClassFactory, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_CreateInstance_Stub( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_LockServer_Proxy(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_LockServer_Stub(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumContextProps { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContext { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IObjContext { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COSERVERINFO { + pub dwReserved1: DWORD, + pub pwszName: LPWSTR, + pub pAuthInfo: *mut COAUTHINFO, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout__COSERVERINFO() { + const UNINIT: ::std::mem::MaybeUninit<_COSERVERINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COSERVERINFO>(), + 32usize, + concat!("Size of: ", stringify!(_COSERVERINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_COSERVERINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_COSERVERINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(pAuthInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type COSERVERINFO = _COSERVERINFO; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMARSHAL = *mut IMarshal; +extern "C" { + pub static IID_IMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetUnmarshalClass: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pCid: *mut CLSID, + ) -> HRESULT, + >, + pub GetMarshalSizeMax: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pSize: *mut DWORD, + ) -> HRESULT, + >, + pub MarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + pStm: *mut IStream, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + ) -> HRESULT, + >, + pub UnmarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + pStm: *mut IStream, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub ReleaseMarshalData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal, pStm: *mut IStream) -> HRESULT, + >, + pub DisconnectObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal, dwReserved: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUnmarshalClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(GetUnmarshalClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMarshalSizeMax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(GetMarshalSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalInterface) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(MarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmarshalInterface) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(UnmarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(ReleaseMarshalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisconnectObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(DisconnectObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal { + pub lpVtbl: *mut IMarshalVtbl, +} +#[test] +fn bindgen_test_layout_IMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_INoMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct INoMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut INoMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_INoMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(INoMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(INoMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct INoMarshal { + pub lpVtbl: *mut INoMarshalVtbl, +} +#[test] +fn bindgen_test_layout_INoMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(INoMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(INoMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(INoMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IAgileObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IAgileObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IAgileObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileObject { + pub lpVtbl: *mut IAgileObjectVtbl, +} +#[test] +fn bindgen_test_layout_IAgileObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAgileObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_UNCATEGORIZED: tagACTIVATIONTYPE = 0; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_MONIKER: tagACTIVATIONTYPE = 1; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_DATA: tagACTIVATIONTYPE = 2; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_STORAGE: tagACTIVATIONTYPE = 4; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_STREAM: tagACTIVATIONTYPE = 8; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_FILE: tagACTIVATIONTYPE = 16; +pub type tagACTIVATIONTYPE = ::std::os::raw::c_int; +pub use self::tagACTIVATIONTYPE as ACTIVATIONTYPE; +extern "C" { + pub static IID_IActivationFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IActivationFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IActivationFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub HandleActivation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IActivationFilter, + dwActivationType: DWORD, + rclsid: *const IID, + pReplacementClsId: *mut CLSID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IActivationFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IActivationFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IActivationFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleActivation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(HandleActivation) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IActivationFilter { + pub lpVtbl: *mut IActivationFilterVtbl, +} +#[test] +fn bindgen_test_layout_IActivationFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IActivationFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IActivationFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMARSHAL2 = *mut IMarshal2; +extern "C" { + pub static IID_IMarshal2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetUnmarshalClass: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pCid: *mut CLSID, + ) -> HRESULT, + >, + pub GetMarshalSizeMax: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pSize: *mut DWORD, + ) -> HRESULT, + >, + pub MarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + pStm: *mut IStream, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + ) -> HRESULT, + >, + pub UnmarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + pStm: *mut IStream, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub ReleaseMarshalData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal2, pStm: *mut IStream) -> HRESULT, + >, + pub DisconnectObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal2, dwReserved: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshal2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMarshal2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUnmarshalClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(GetUnmarshalClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMarshalSizeMax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(GetMarshalSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalInterface) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(MarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmarshalInterface) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(UnmarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(ReleaseMarshalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisconnectObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(DisconnectObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal2 { + pub lpVtbl: *mut IMarshal2Vtbl, +} +#[test] +fn bindgen_test_layout_IMarshal2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshal2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMALLOC = *mut IMalloc; +extern "C" { + pub static IID_IMalloc: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Alloc: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, cb: SIZE_T) -> *mut ::std::os::raw::c_void, + >, + pub Realloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + pv: *mut ::std::os::raw::c_void, + cb: SIZE_T, + ) -> *mut ::std::os::raw::c_void, + >, + pub Free: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, pv: *mut ::std::os::raw::c_void), + >, + pub GetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, pv: *mut ::std::os::raw::c_void) -> SIZE_T, + >, + pub DidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + pv: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + pub HeapMinimize: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IMallocVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMallocVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alloc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Alloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Realloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Realloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Free) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Free) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(GetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DidAlloc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(DidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeapMinimize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(HeapMinimize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMalloc { + pub lpVtbl: *mut IMallocVtbl, +} +#[test] +fn bindgen_test_layout_IMalloc() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMalloc)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMalloc)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMalloc), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPSTDMARSHALINFO = *mut IStdMarshalInfo; +extern "C" { + pub static IID_IStdMarshalInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStdMarshalInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStdMarshalInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassForHandler: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStdMarshalInfo, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + pClsid: *mut CLSID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStdMarshalInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IStdMarshalInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStdMarshalInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassForHandler) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(GetClassForHandler) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStdMarshalInfo { + pub lpVtbl: *mut IStdMarshalInfoVtbl, +} +#[test] +fn bindgen_test_layout_IStdMarshalInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStdMarshalInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStdMarshalInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPEXTERNALCONNECTION = *mut IExternalConnection; +pub const tagEXTCONN_EXTCONN_STRONG: tagEXTCONN = 1; +pub const tagEXTCONN_EXTCONN_WEAK: tagEXTCONN = 2; +pub const tagEXTCONN_EXTCONN_CALLABLE: tagEXTCONN = 4; +pub type tagEXTCONN = ::std::os::raw::c_int; +pub use self::tagEXTCONN as EXTCONN; +extern "C" { + pub static IID_IExternalConnection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IExternalConnectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AddConnection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + extconn: DWORD, + reserved: DWORD, + ) -> DWORD, + >, + pub ReleaseConnection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + extconn: DWORD, + reserved: DWORD, + fLastReleaseCloses: BOOL, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout_IExternalConnectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IExternalConnectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IExternalConnectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddConnection) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(AddConnection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseConnection) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(ReleaseConnection) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IExternalConnection { + pub lpVtbl: *mut IExternalConnectionVtbl, +} +#[test] +fn bindgen_test_layout_IExternalConnection() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IExternalConnection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IExternalConnection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnection), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMULTIQI = *mut IMultiQI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTI_QI { + pub pIID: *const IID, + pub pItf: *mut IUnknown, + pub hr: HRESULT, +} +#[test] +fn bindgen_test_layout_tagMULTI_QI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMULTI_QI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMULTI_QI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(pIID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pItf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(pItf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(hr) + ) + ); +} +pub type MULTI_QI = tagMULTI_QI; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IMultiQI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMultiQIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMultiQI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMultiQI, cMQIs: ULONG, pMQIs: *mut MULTI_QI) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMultiQIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IMultiQIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMultiQIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryMultipleInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(QueryMultipleInterfaces) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMultiQI { + pub lpVtbl: *mut IMultiQIVtbl, +} +#[test] +fn bindgen_test_layout_IMultiQI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMultiQI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMultiQI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMultiQI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIMultiQI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIMultiQIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIMultiQI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIMultiQI, + cMQIs: ULONG, + pMQIs: *mut MULTI_QI, + ) -> HRESULT, + >, + pub Finish_QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIMultiQI, pMQIs: *mut MULTI_QI) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_AsyncIMultiQIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(AsyncIMultiQIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIMultiQIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Begin_QueryMultipleInterfaces) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Begin_QueryMultipleInterfaces) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Finish_QueryMultipleInterfaces) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Finish_QueryMultipleInterfaces) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIMultiQI { + pub lpVtbl: *mut AsyncIMultiQIVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIMultiQI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIMultiQI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIMultiQI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0009_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0009_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternalUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternalUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternalUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryInternalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternalUnknown, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternalUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IInternalUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternalUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInternalInterface) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(QueryInternalInterface) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternalUnknown { + pub lpVtbl: *mut IInternalUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IInternalUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternalUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternalUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMUNKNOWN = *mut IEnumUnknown; +extern "C" { + pub static IID_IEnumUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumUnknown, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumUnknown, ppenum: *mut *mut IEnumUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumUnknown { + pub lpVtbl: *mut IEnumUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IEnumUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumUnknown_RemoteNext_Proxy( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumUnknown_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTRING = *mut IEnumString; +extern "C" { + pub static IID_IEnumString: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumStringVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumString, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: + ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumString, ppenum: *mut *mut IEnumString) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumStringVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumStringVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumStringVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumString { + pub lpVtbl: *mut IEnumStringVtbl, +} +#[test] +fn bindgen_test_layout_IEnumString() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumString)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumString)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumString), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumString_RemoteNext_Proxy( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_ISequentialStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISequentialStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISequentialStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISequentialStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISequentialStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISequentialStream { + pub lpVtbl: *mut ISequentialStreamVtbl, +} +#[test] +fn bindgen_test_layout_ISequentialStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISequentialStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISequentialStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ISequentialStream_RemoteRead_Proxy( + This: *mut ISequentialStream, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_RemoteRead_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ISequentialStream_RemoteWrite_Proxy( + This: *mut ISequentialStream, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_RemoteWrite_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPSTREAM = *mut IStream; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagSTATSTG { + pub pwcsName: LPOLESTR, + pub type_: DWORD, + pub cbSize: ULARGE_INTEGER, + pub mtime: FILETIME, + pub ctime: FILETIME, + pub atime: FILETIME, + pub grfMode: DWORD, + pub grfLocksSupported: DWORD, + pub clsid: CLSID, + pub grfStateBits: DWORD, + pub reserved: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagSTATSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(pwcsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(mtime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ctime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(ctime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(atime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfLocksSupported) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfLocksSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfStateBits) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfStateBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(reserved) + ) + ); +} +pub type STATSTG = tagSTATSTG; +pub const tagSTGTY_STGTY_STORAGE: tagSTGTY = 1; +pub const tagSTGTY_STGTY_STREAM: tagSTGTY = 2; +pub const tagSTGTY_STGTY_LOCKBYTES: tagSTGTY = 3; +pub const tagSTGTY_STGTY_PROPERTY: tagSTGTY = 4; +pub type tagSTGTY = ::std::os::raw::c_int; +pub use self::tagSTGTY as STGTY; +pub const tagSTREAM_SEEK_STREAM_SEEK_SET: tagSTREAM_SEEK = 0; +pub const tagSTREAM_SEEK_STREAM_SEEK_CUR: tagSTREAM_SEEK = 1; +pub const tagSTREAM_SEEK_STREAM_SEEK_END: tagSTREAM_SEEK = 2; +pub type tagSTREAM_SEEK = ::std::os::raw::c_int; +pub use self::tagSTREAM_SEEK as STREAM_SEEK; +pub const tagLOCKTYPE_LOCK_WRITE: tagLOCKTYPE = 1; +pub const tagLOCKTYPE_LOCK_EXCLUSIVE: tagLOCKTYPE = 2; +pub const tagLOCKTYPE_LOCK_ONLYONCE: tagLOCKTYPE = 4; +pub type tagLOCKTYPE = ::std::os::raw::c_int; +pub use self::tagLOCKTYPE as LOCKTYPE; +extern "C" { + pub static IID_IStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, libNewSize: ULARGE_INTEGER) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, ppstm: *mut *mut IStream) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Stat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStream { + pub lpVtbl: *mut IStreamVtbl, +} +#[test] +fn bindgen_test_layout_IStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IStream_RemoteSeek_Proxy( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_RemoteSeek_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStream_RemoteCopyTo_Proxy( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_RemoteCopyTo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type RPCOLEDATAREP = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPCOLEMESSAGE { + pub reserved1: *mut ::std::os::raw::c_void, + pub dataRepresentation: RPCOLEDATAREP, + pub Buffer: *mut ::std::os::raw::c_void, + pub cbBuffer: ULONG, + pub iMethod: ULONG, + pub reserved2: [*mut ::std::os::raw::c_void; 5usize], + pub rpcFlags: ULONG, +} +#[test] +fn bindgen_test_layout_tagRPCOLEMESSAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagRPCOLEMESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPCOLEMESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dataRepresentation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(dataRepresentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(cbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMethod) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(iMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rpcFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(rpcFlags) + ) + ); +} +pub type RPCOLEMESSAGE = tagRPCOLEMESSAGE; +pub type PRPCOLEMESSAGE = *mut RPCOLEMESSAGE; +extern "C" { + pub static IID_IRpcChannelBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer, pMessage: *mut RPCOLEMESSAGE) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IRpcChannelBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IRpcChannelBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(IsConnected) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer { + pub lpVtbl: *mut IRpcChannelBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0015_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0015_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcChannelBuffer2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer2, pdwVersion: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer2 { + pub lpVtbl: *mut IRpcChannelBuffer2Vtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IAsyncRpcChannelBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncRpcChannelBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncRpcChannelBuffer, pdwVersion: *mut DWORD) -> HRESULT, + >, + pub Send: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pSync: *mut ISynchronize, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Receive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub GetDestCtxEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAsyncRpcChannelBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IAsyncRpcChannelBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncRpcChannelBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Send) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Receive) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Receive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtxEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtxEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncRpcChannelBuffer { + pub lpVtbl: *mut IAsyncRpcChannelBufferVtbl, +} +#[test] +fn bindgen_test_layout_IAsyncRpcChannelBuffer() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAsyncRpcChannelBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncRpcChannelBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcChannelBuffer3: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer3Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer3, pdwVersion: *mut DWORD) -> HRESULT, + >, + pub Send: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Receive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + ulSize: ULONG, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Cancel: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer3, pMsg: *mut RPCOLEMESSAGE) -> HRESULT, + >, + pub GetCallContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + riid: *const IID, + pInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetDestCtxEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pState: *mut DWORD, + ) -> HRESULT, + >, + pub RegisterAsync: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pAsyncMgr: *mut IAsyncManager, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer3Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer3Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer3Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Send) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Receive) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Receive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cancel) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Cancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCallContext) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetCallContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtxEx) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetDestCtxEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterAsync) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(RegisterAsync) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer3 { + pub lpVtbl: *mut IRpcChannelBuffer3Vtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcSyntaxNegotiate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcSyntaxNegotiateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcSyntaxNegotiate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub NegotiateSyntax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcSyntaxNegotiate, pMsg: *mut RPCOLEMESSAGE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcSyntaxNegotiateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IRpcSyntaxNegotiateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcSyntaxNegotiateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegotiateSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(NegotiateSyntax) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcSyntaxNegotiate { + pub lpVtbl: *mut IRpcSyntaxNegotiateVtbl, +} +#[test] +fn bindgen_test_layout_IRpcSyntaxNegotiate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcSyntaxNegotiate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcSyntaxNegotiate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcProxyBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcProxyBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcProxyBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Connect: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcProxyBuffer, + pRpcChannelBuffer: *mut IRpcChannelBuffer, + ) -> HRESULT, + >, + pub Disconnect: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IRpcProxyBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcProxyBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcProxyBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Connect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disconnect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Disconnect) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcProxyBuffer { + pub lpVtbl: *mut IRpcProxyBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcProxyBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcProxyBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcProxyBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0020_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0020_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcStubBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcStubBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Connect: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, pUnkServer: *mut IUnknown) -> HRESULT, + >, + pub Disconnect: ::std::option::Option, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + _prpcmsg: *mut RPCOLEMESSAGE, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + ) -> HRESULT, + >, + pub IsIIDSupported: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, riid: *const IID) -> *mut IRpcStubBuffer, + >, + pub CountRefs: ::std::option::Option ULONG>, + pub DebugServerQueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub DebugServerRelease: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, pv: *mut ::std::os::raw::c_void), + >, +} +#[test] +fn bindgen_test_layout_IRpcStubBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IRpcStubBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcStubBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Connect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disconnect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Disconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsIIDSupported) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(IsIIDSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CountRefs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(CountRefs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugServerQueryInterface) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(DebugServerQueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugServerRelease) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(DebugServerRelease) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcStubBuffer { + pub lpVtbl: *mut IRpcStubBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcStubBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcStubBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcStubBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPSFactoryBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPSFactoryBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateProxy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppProxy: *mut *mut IRpcProxyBuffer, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub CreateStub: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + riid: *const IID, + pUnkServer: *mut IUnknown, + ppStub: *mut *mut IRpcStubBuffer, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPSFactoryBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPSFactoryBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPSFactoryBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateProxy) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(CreateProxy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStub) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(CreateStub) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPSFactoryBuffer { + pub lpVtbl: *mut IPSFactoryBufferVtbl, +} +#[test] +fn bindgen_test_layout_IPSFactoryBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPSFactoryBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPSFactoryBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SChannelHookCallInfo { + pub iid: IID, + pub cbSize: DWORD, + pub uCausality: GUID, + pub dwServerPid: DWORD, + pub iMethod: DWORD, + pub pObject: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_SChannelHookCallInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(SChannelHookCallInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SChannelHookCallInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCausality) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(uCausality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerPid) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(dwServerPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMethod) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(iMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pObject) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(pObject) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0022_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0022_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IChannelHook: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IChannelHookVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ClientGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + ), + >, + pub ClientFillBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + ), + >, + pub ClientNotify: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + cbDataSize: ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + lDataRep: DWORD, + hrFault: HRESULT, + ), + >, + pub ServerNotify: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + cbDataSize: ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + lDataRep: DWORD, + ), + >, + pub ServerGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + hrFault: HRESULT, + pDataSize: *mut ULONG, + ), + >, + pub ServerFillBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + hrFault: HRESULT, + ), + >, +} +#[test] +fn bindgen_test_layout_IChannelHookVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IChannelHookVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IChannelHookVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientGetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientFillBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientFillBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientNotify) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientNotify) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerNotify) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerNotify) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerGetSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerFillBuffer) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerFillBuffer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IChannelHook { + pub lpVtbl: *mut IChannelHookVtbl, +} +#[test] +fn bindgen_test_layout_IChannelHook() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IChannelHook)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IChannelHook)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IChannelHook), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_SERVICE { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pPrincipalName: *mut OLECHAR, + pub hr: HRESULT, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_SERVICE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_SERVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_SERVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrincipalName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(pPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(hr) + ) + ); +} +pub type SOLE_AUTHENTICATION_SERVICE = tagSOLE_AUTHENTICATION_SERVICE; +pub type PSOLE_AUTHENTICATION_SERVICE = *mut SOLE_AUTHENTICATION_SERVICE; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_NONE: tagEOLE_AUTHENTICATION_CAPABILITIES = 0; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_MUTUAL_AUTH: + tagEOLE_AUTHENTICATION_CAPABILITIES = 1; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_STATIC_CLOAKING: + tagEOLE_AUTHENTICATION_CAPABILITIES = 32; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DYNAMIC_CLOAKING: + tagEOLE_AUTHENTICATION_CAPABILITIES = 64; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_ANY_AUTHORITY: + tagEOLE_AUTHENTICATION_CAPABILITIES = 128; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_MAKE_FULLSIC: + tagEOLE_AUTHENTICATION_CAPABILITIES = 256; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DEFAULT: tagEOLE_AUTHENTICATION_CAPABILITIES = + 2048; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_SECURE_REFS: + tagEOLE_AUTHENTICATION_CAPABILITIES = 2; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_ACCESS_CONTROL: + tagEOLE_AUTHENTICATION_CAPABILITIES = 4; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_APPID: tagEOLE_AUTHENTICATION_CAPABILITIES = 8; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DYNAMIC: tagEOLE_AUTHENTICATION_CAPABILITIES = + 16; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_REQUIRE_FULLSIC: + tagEOLE_AUTHENTICATION_CAPABILITIES = 512; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_AUTO_IMPERSONATE: + tagEOLE_AUTHENTICATION_CAPABILITIES = 1024; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DISABLE_AAA: + tagEOLE_AUTHENTICATION_CAPABILITIES = 4096; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_NO_CUSTOM_MARSHAL: + tagEOLE_AUTHENTICATION_CAPABILITIES = 8192; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_RESERVED1: tagEOLE_AUTHENTICATION_CAPABILITIES = + 16384; +pub type tagEOLE_AUTHENTICATION_CAPABILITIES = ::std::os::raw::c_int; +pub use self::tagEOLE_AUTHENTICATION_CAPABILITIES as EOLE_AUTHENTICATION_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_INFO { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pAuthInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(pAuthInfo) + ) + ); +} +pub type SOLE_AUTHENTICATION_INFO = tagSOLE_AUTHENTICATION_INFO; +pub type PSOLE_AUTHENTICATION_INFO = *mut tagSOLE_AUTHENTICATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_LIST { + pub cAuthInfo: DWORD, + pub aAuthInfo: *mut SOLE_AUTHENTICATION_INFO, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_LIST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_LIST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_LIST), + "::", + stringify!(cAuthInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aAuthInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_LIST), + "::", + stringify!(aAuthInfo) + ) + ); +} +pub type SOLE_AUTHENTICATION_LIST = tagSOLE_AUTHENTICATION_LIST; +pub type PSOLE_AUTHENTICATION_LIST = *mut tagSOLE_AUTHENTICATION_LIST; +extern "C" { + pub static IID_IClientSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClientSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut *mut OLECHAR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pAuthInfo: *mut *mut ::std::os::raw::c_void, + pCapabilites: *mut DWORD, + ) -> HRESULT, + >, + pub SetBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + dwAuthnSvc: DWORD, + dwAuthzSvc: DWORD, + pServerPrincName: *mut OLECHAR, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthInfo: *mut ::std::os::raw::c_void, + dwCapabilities: DWORD, + ) -> HRESULT, + >, + pub CopyProxy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + ppCopy: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClientSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IClientSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClientSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryBlanket) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(QueryBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBlanket) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(SetBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyProxy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(CopyProxy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClientSecurity { + pub lpVtbl: *mut IClientSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IClientSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClientSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClientSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IServerSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServerSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServerSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServerSecurity, + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut *mut OLECHAR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pPrivs: *mut *mut ::std::os::raw::c_void, + pCapabilities: *mut DWORD, + ) -> HRESULT, + >, + pub ImpersonateClient: + ::std::option::Option HRESULT>, + pub RevertToSelf: + ::std::option::Option HRESULT>, + pub IsImpersonating: + ::std::option::Option BOOL>, +} +#[test] +fn bindgen_test_layout_IServerSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IServerSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServerSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryBlanket) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(QueryBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonateClient) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(ImpersonateClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevertToSelf) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(RevertToSelf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsImpersonating) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(IsImpersonating) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServerSecurity { + pub lpVtbl: *mut IServerSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IServerSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IServerSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServerSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagRPCOPT_PROPERTIES_COMBND_RPCTIMEOUT: tagRPCOPT_PROPERTIES = 1; +pub const tagRPCOPT_PROPERTIES_COMBND_SERVER_LOCALITY: tagRPCOPT_PROPERTIES = 2; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED1: tagRPCOPT_PROPERTIES = 4; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED2: tagRPCOPT_PROPERTIES = 5; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED3: tagRPCOPT_PROPERTIES = 8; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED4: tagRPCOPT_PROPERTIES = 16; +pub type tagRPCOPT_PROPERTIES = ::std::os::raw::c_int; +pub use self::tagRPCOPT_PROPERTIES as RPCOPT_PROPERTIES; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_PROCESS_LOCAL: + tagRPCOPT_SERVER_LOCALITY_VALUES = 0; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_MACHINE_LOCAL: + tagRPCOPT_SERVER_LOCALITY_VALUES = 1; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_REMOTE: + tagRPCOPT_SERVER_LOCALITY_VALUES = 2; +pub type tagRPCOPT_SERVER_LOCALITY_VALUES = ::std::os::raw::c_int; +pub use self::tagRPCOPT_SERVER_LOCALITY_VALUES as RPCOPT_SERVER_LOCALITY_VALUES; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcOptions: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcOptionsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Set: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + pPrx: *mut IUnknown, + dwProperty: RPCOPT_PROPERTIES, + dwValue: ULONG_PTR, + ) -> HRESULT, + >, + pub Query: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + pPrx: *mut IUnknown, + dwProperty: RPCOPT_PROPERTIES, + pdwValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcOptionsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcOptionsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcOptionsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Query) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Query) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcOptions { + pub lpVtbl: *mut IRpcOptionsVtbl, +} +#[test] +fn bindgen_test_layout_IRpcOptions() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcOptions)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptions), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagGLOBALOPT_PROPERTIES_COMGLB_EXCEPTION_HANDLING: tagGLOBALOPT_PROPERTIES = 1; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_APPID: tagGLOBALOPT_PROPERTIES = 2; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_RPC_THREADPOOL_SETTING: tagGLOBALOPT_PROPERTIES = 3; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_RO_SETTINGS: tagGLOBALOPT_PROPERTIES = 4; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_UNMARSHALING_POLICY: tagGLOBALOPT_PROPERTIES = 5; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED1: tagGLOBALOPT_PROPERTIES = 6; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED2: tagGLOBALOPT_PROPERTIES = 7; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED3: tagGLOBALOPT_PROPERTIES = 8; +pub type tagGLOBALOPT_PROPERTIES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_PROPERTIES as GLOBALOPT_PROPERTIES; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_HANDLE: tagGLOBALOPT_EH_VALUES = 0; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE_FATAL: tagGLOBALOPT_EH_VALUES = 1; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE: tagGLOBALOPT_EH_VALUES = 1; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE_ANY: tagGLOBALOPT_EH_VALUES = 2; +pub type tagGLOBALOPT_EH_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_EH_VALUES as GLOBALOPT_EH_VALUES; +pub const tagGLOBALOPT_RPCTP_VALUES_COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL: + tagGLOBALOPT_RPCTP_VALUES = 0; +pub const tagGLOBALOPT_RPCTP_VALUES_COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL: + tagGLOBALOPT_RPCTP_VALUES = 1; +pub type tagGLOBALOPT_RPCTP_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_RPCTP_VALUES as GLOBALOPT_RPCTP_VALUES; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES: tagGLOBALOPT_RO_FLAGS = + 1; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 2; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 4; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_FAST_RUNDOWN: tagGLOBALOPT_RO_FLAGS = 8; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED1: tagGLOBALOPT_RO_FLAGS = 16; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED2: tagGLOBALOPT_RO_FLAGS = 32; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED3: tagGLOBALOPT_RO_FLAGS = 64; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 128; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED4: tagGLOBALOPT_RO_FLAGS = 256; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED5: tagGLOBALOPT_RO_FLAGS = 512; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED6: tagGLOBALOPT_RO_FLAGS = 1024; +pub type tagGLOBALOPT_RO_FLAGS = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_RO_FLAGS as GLOBALOPT_RO_FLAGS; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_NORMAL: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 0; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_STRONG: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 1; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_HYBRID: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 2; +pub type tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_UNMARSHALING_POLICY_VALUES as GLOBALOPT_UNMARSHALING_POLICY_VALUES; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0026_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0026_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IGlobalOptions: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalOptionsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Set: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + dwProperty: GLOBALOPT_PROPERTIES, + dwValue: ULONG_PTR, + ) -> HRESULT, + >, + pub Query: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + dwProperty: GLOBALOPT_PROPERTIES, + pdwValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGlobalOptionsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IGlobalOptionsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalOptionsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Query) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Query) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalOptions { + pub lpVtbl: *mut IGlobalOptionsVtbl, +} +#[test] +fn bindgen_test_layout_IGlobalOptions() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGlobalOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalOptions)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptions), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0027_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0027_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPSURROGATE = *mut ISurrogate; +extern "C" { + pub static IID_ISurrogate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub LoadDllServer: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogate, Clsid: *const IID) -> HRESULT, + >, + pub FreeSurrogate: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISurrogateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISurrogateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoadDllServer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(LoadDllServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSurrogate) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(FreeSurrogate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogate { + pub lpVtbl: *mut ISurrogateVtbl, +} +#[test] +fn bindgen_test_layout_ISurrogate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISurrogate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogate), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPGLOBALINTERFACETABLE = *mut IGlobalInterfaceTable; +extern "C" { + pub static IID_IGlobalInterfaceTable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalInterfaceTableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub RegisterInterfaceInGlobal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + pUnk: *mut IUnknown, + riid: *const IID, + pdwCookie: *mut DWORD, + ) -> HRESULT, + >, + pub RevokeInterfaceFromGlobal: ::std::option::Option< + unsafe extern "C" fn(This: *mut IGlobalInterfaceTable, dwCookie: DWORD) -> HRESULT, + >, + pub GetInterfaceFromGlobal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + dwCookie: DWORD, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGlobalInterfaceTableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IGlobalInterfaceTableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalInterfaceTableVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterInterfaceInGlobal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(RegisterInterfaceInGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeInterfaceFromGlobal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(RevokeInterfaceFromGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetInterfaceFromGlobal) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(GetInterfaceFromGlobal) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalInterfaceTable { + pub lpVtbl: *mut IGlobalInterfaceTableVtbl, +} +#[test] +fn bindgen_test_layout_IGlobalInterfaceTable() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGlobalInterfaceTable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalInterfaceTable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0029_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0029_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_ISynchronize: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronize, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Wait: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronize, + dwFlags: DWORD, + dwMilliseconds: DWORD, + ) -> HRESULT, + >, + pub Signal: ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISynchronizeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(ISynchronizeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wait) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Wait) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Signal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Reset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronize { + pub lpVtbl: *mut ISynchronizeVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronize() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronize)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronize)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronize), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeHandle: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeHandleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeHandle, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeHandle, ph: *mut HANDLE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeHandleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ISynchronizeHandleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeHandleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(GetHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeHandle { + pub lpVtbl: *mut ISynchronizeHandleVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeHandle() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeHandle)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandle), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeEvent: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeEventVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeEvent, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeEvent, ph: *mut HANDLE) -> HRESULT, + >, + pub SetEventHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeEvent, ph: *mut HANDLE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeEventVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISynchronizeEventVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeEventVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(GetHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetEventHandle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(SetEventHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeEvent { + pub lpVtbl: *mut ISynchronizeEventVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeEvent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeEvent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeEvent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEvent), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AddSynchronize: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeContainer, pSync: *mut ISynchronize) -> HRESULT, + >, + pub WaitMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeContainer, + dwFlags: DWORD, + dwTimeOut: DWORD, + ppSync: *mut *mut ISynchronize, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISynchronizeContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddSynchronize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(AddSynchronize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitMultiple) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(WaitMultiple) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeContainer { + pub lpVtbl: *mut ISynchronizeContainerVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeContainer() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeMutex: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeMutexVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeMutex, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Wait: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeMutex, + dwFlags: DWORD, + dwMilliseconds: DWORD, + ) -> HRESULT, + >, + pub Signal: + ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, + pub ReleaseMutex: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISynchronizeMutexVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ISynchronizeMutexVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeMutexVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wait) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Wait) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Signal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMutex) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(ReleaseMutex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeMutex { + pub lpVtbl: *mut ISynchronizeMutexVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeMutex() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeMutex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeMutex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutex), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCANCELMETHODCALLS = *mut ICancelMethodCalls; +extern "C" { + pub static IID_ICancelMethodCalls: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICancelMethodCallsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICancelMethodCalls, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Cancel: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICancelMethodCalls, ulSeconds: ULONG) -> HRESULT, + >, + pub TestCancel: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICancelMethodCallsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICancelMethodCallsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICancelMethodCallsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cancel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(Cancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TestCancel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(TestCancel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICancelMethodCalls { + pub lpVtbl: *mut ICancelMethodCallsVtbl, +} +#[test] +fn bindgen_test_layout_ICancelMethodCalls() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICancelMethodCalls)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICancelMethodCalls)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCalls), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagDCOM_CALL_STATE_DCOM_NONE: tagDCOM_CALL_STATE = 0; +pub const tagDCOM_CALL_STATE_DCOM_CALL_COMPLETE: tagDCOM_CALL_STATE = 1; +pub const tagDCOM_CALL_STATE_DCOM_CALL_CANCELED: tagDCOM_CALL_STATE = 2; +pub type tagDCOM_CALL_STATE = ::std::os::raw::c_int; +pub use self::tagDCOM_CALL_STATE as DCOM_CALL_STATE; +extern "C" { + pub static IID_IAsyncManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CompleteCall: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncManager, Result: HRESULT) -> HRESULT, + >, + pub GetCallContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncManager, + riid: *const IID, + pInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncManager, pulStateFlags: *mut ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAsyncManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IAsyncManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompleteCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(CompleteCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCallContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(GetCallContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetState) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(GetState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncManager { + pub lpVtbl: *mut IAsyncManagerVtbl, +} +#[test] +fn bindgen_test_layout_IAsyncManager() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAsyncManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ICallFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICallFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICallFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICallFactory, + riid: *const IID, + pCtrlUnk: *mut IUnknown, + riid2: *const IID, + ppv: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICallFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ICallFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICallFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(CreateCall) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICallFactory { + pub lpVtbl: *mut ICallFactoryVtbl, +} +#[test] +fn bindgen_test_layout_ICallFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICallFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICallFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICallFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcHelper: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcHelperVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcHelper, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetDCOMProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcHelper, pComVersion: *mut DWORD) -> HRESULT, + >, + pub GetIIDFromOBJREF: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcHelper, + pObjRef: *mut ::std::os::raw::c_void, + piid: *mut *mut IID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcHelperVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcHelperVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcHelperVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDCOMProtocolVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(GetDCOMProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIIDFromOBJREF) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(GetIIDFromOBJREF) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcHelper { + pub lpVtbl: *mut IRpcHelperVtbl, +} +#[test] +fn bindgen_test_layout_IRpcHelper() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcHelper)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcHelper)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelper), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IReleaseMarshalBuffers: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IReleaseMarshalBuffersVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IReleaseMarshalBuffers, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ReleaseMarshalBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IReleaseMarshalBuffers, + pMsg: *mut RPCOLEMESSAGE, + dwFlags: DWORD, + pChnl: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IReleaseMarshalBuffersVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IReleaseMarshalBuffersVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IReleaseMarshalBuffersVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(ReleaseMarshalBuffer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IReleaseMarshalBuffers { + pub lpVtbl: *mut IReleaseMarshalBuffersVtbl, +} +#[test] +fn bindgen_test_layout_IReleaseMarshalBuffers() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IReleaseMarshalBuffers)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IReleaseMarshalBuffers)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffers), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IWaitMultiple: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWaitMultipleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWaitMultiple, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub WaitMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWaitMultiple, + timeout: DWORD, + pSync: *mut *mut ISynchronize, + ) -> HRESULT, + >, + pub AddSynchronize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IWaitMultiple, pSync: *mut ISynchronize) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWaitMultipleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWaitMultipleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWaitMultipleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitMultiple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(WaitMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddSynchronize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(AddSynchronize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWaitMultiple { + pub lpVtbl: *mut IWaitMultipleVtbl, +} +#[test] +fn bindgen_test_layout_IWaitMultiple() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWaitMultiple)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWaitMultiple)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultiple), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADDRTRACKINGCONTROL = *mut IAddrTrackingControl; +extern "C" { + pub static IID_IAddrTrackingControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrTrackingControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrTrackingControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub EnableCOMDynamicAddrTracking: + ::std::option::Option HRESULT>, + pub DisableCOMDynamicAddrTracking: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IAddrTrackingControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAddrTrackingControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrTrackingControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EnableCOMDynamicAddrTracking) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(EnableCOMDynamicAddrTracking) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DisableCOMDynamicAddrTracking) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(DisableCOMDynamicAddrTracking) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrTrackingControl { + pub lpVtbl: *mut IAddrTrackingControlVtbl, +} +#[test] +fn bindgen_test_layout_IAddrTrackingControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAddrTrackingControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrTrackingControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControl), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADDREXCLUSIONCONTROL = *mut IAddrExclusionControl; +extern "C" { + pub static IID_IAddrExclusionControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrExclusionControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetCurrentAddrExclusionList: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + riid: *const IID, + ppEnumerator: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub UpdateAddrExclusionList: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + pEnumerator: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAddrExclusionControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAddrExclusionControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrExclusionControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentAddrExclusionList) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(GetCurrentAddrExclusionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpdateAddrExclusionList) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(UpdateAddrExclusionList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrExclusionControl { + pub lpVtbl: *mut IAddrExclusionControlVtbl, +} +#[test] +fn bindgen_test_layout_IAddrExclusionControl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAddrExclusionControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrExclusionControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeByte: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeByteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeByte, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeByte, + buf: *mut BYTE, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeByte, buf: *mut BYTE, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeByteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeByteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeByteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeByte { + pub lpVtbl: *mut IPipeByteVtbl, +} +#[test] +fn bindgen_test_layout_IPipeByte() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeByte)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeByte)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeByte), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeByte: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeByteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeByte, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeByte, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeByte, + buf: *mut BYTE, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeByte, buf: *mut BYTE, cSent: ULONG) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeByteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeByteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeByteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeByte { + pub lpVtbl: *mut AsyncIPipeByteVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeByte() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeByte)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeByte)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByte), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeLong: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeLongVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeLong, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeLong, + buf: *mut LONG, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeLong, buf: *mut LONG, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeLongVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeLongVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeLongVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeLong { + pub lpVtbl: *mut IPipeLongVtbl, +} +#[test] +fn bindgen_test_layout_IPipeLong() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeLong)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeLong)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeLong), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeLong: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeLongVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeLong, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeLong, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeLong, + buf: *mut LONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeLong, buf: *mut LONG, cSent: ULONG) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeLongVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeLongVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeLongVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeLong { + pub lpVtbl: *mut AsyncIPipeLongVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeLong() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeLong)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeLong)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLong), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeDouble: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeDoubleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeDouble, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeDouble, + buf: *mut DOUBLE, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeDouble, buf: *mut DOUBLE, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeDoubleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeDoubleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeDoubleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeDouble { + pub lpVtbl: *mut IPipeDoubleVtbl, +} +#[test] +fn bindgen_test_layout_IPipeDouble() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeDouble)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeDouble)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeDouble), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeDouble: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeDoubleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeDouble, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + buf: *mut DOUBLE, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + buf: *mut DOUBLE, + cSent: ULONG, + ) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeDoubleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeDoubleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeDoubleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeDouble { + pub lpVtbl: *mut AsyncIPipeDoubleVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeDouble() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeDouble)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeDouble)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDouble), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NONE: _APTTYPEQUALIFIER = 0; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_IMPLICIT_MTA: _APTTYPEQUALIFIER = 1; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_MTA: _APTTYPEQUALIFIER = 2; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_STA: _APTTYPEQUALIFIER = 3; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA: _APTTYPEQUALIFIER = 4; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_MAINSTA: _APTTYPEQUALIFIER = 5; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_APPLICATION_STA: _APTTYPEQUALIFIER = 6; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_RESERVED_1: _APTTYPEQUALIFIER = 7; +pub type _APTTYPEQUALIFIER = ::std::os::raw::c_int; +pub use self::_APTTYPEQUALIFIER as APTTYPEQUALIFIER; +pub const _APTTYPE_APTTYPE_CURRENT: _APTTYPE = -1; +pub const _APTTYPE_APTTYPE_STA: _APTTYPE = 0; +pub const _APTTYPE_APTTYPE_MTA: _APTTYPE = 1; +pub const _APTTYPE_APTTYPE_NA: _APTTYPE = 2; +pub const _APTTYPE_APTTYPE_MAINSTA: _APTTYPE = 3; +pub type _APTTYPE = ::std::os::raw::c_int; +pub use self::_APTTYPE as APTTYPE; +pub const _THDTYPE_THDTYPE_BLOCKMESSAGES: _THDTYPE = 0; +pub const _THDTYPE_THDTYPE_PROCESSMESSAGES: _THDTYPE = 1; +pub type _THDTYPE = ::std::os::raw::c_int; +pub use self::_THDTYPE as THDTYPE; +pub type APARTMENTID = DWORD; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0048_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0048_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IComThreadingInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IComThreadingInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IComThreadingInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetCurrentApartmentType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, pAptType: *mut APTTYPE) -> HRESULT, + >, + pub GetCurrentThreadType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, pThreadType: *mut THDTYPE) -> HRESULT, + >, + pub GetCurrentLogicalThreadId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IComThreadingInfo, + pguidLogicalThreadId: *mut GUID, + ) -> HRESULT, + >, + pub SetCurrentLogicalThreadId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, rguid: *const GUID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IComThreadingInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IComThreadingInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IComThreadingInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentApartmentType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentApartmentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentThreadType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentThreadType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentLogicalThreadId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentLogicalThreadId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCurrentLogicalThreadId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(SetCurrentLogicalThreadId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IComThreadingInfo { + pub lpVtbl: *mut IComThreadingInfoVtbl, +} +#[test] +fn bindgen_test_layout_IComThreadingInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IComThreadingInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IComThreadingInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IProcessInitControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessInitControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProcessInitControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ResetInitializerTimeout: ::std::option::Option< + unsafe extern "C" fn(This: *mut IProcessInitControl, dwSecondsRemaining: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IProcessInitControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IProcessInitControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessInitControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetInitializerTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(ResetInitializerTimeout) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessInitControl { + pub lpVtbl: *mut IProcessInitControlVtbl, +} +#[test] +fn bindgen_test_layout_IProcessInitControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProcessInitControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessInitControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IFastRundown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFastRundownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFastRundown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IFastRundownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IFastRundownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFastRundownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFastRundown { + pub lpVtbl: *mut IFastRundownVtbl, +} +#[test] +fn bindgen_test_layout_IFastRundown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IFastRundown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFastRundown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFastRundown), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_SOURCE_IS_APP_CONTAINER: + CO_MARSHALING_CONTEXT_ATTRIBUTES = 0; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483648; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483647; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483646; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483645; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483644; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483643; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483642; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483641; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483640; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483639; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483638; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483637; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483636; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483635; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483634; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483633; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483632; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_18: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483631; +pub type CO_MARSHALING_CONTEXT_ATTRIBUTES = ::std::os::raw::c_int; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0051_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0051_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IMarshalingStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalingStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, libNewSize: ULARGE_INTEGER) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: + ::std::option::Option HRESULT>, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, ppstm: *mut *mut IStream) -> HRESULT, + >, + pub GetMarshalingContextAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + attribute: CO_MARSHALING_CONTEXT_ATTRIBUTES, + pAttributeValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshalingStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IMarshalingStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalingStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Stat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Clone) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetMarshalingContextAttribute) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(GetMarshalingContextAttribute) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalingStream { + pub lpVtbl: *mut IMarshalingStreamVtbl, +} +#[test] +fn bindgen_test_layout_IMarshalingStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshalingStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalingStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0052_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0052_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IAgileReference: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileReferenceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileReference, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Resolve: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileReference, + riid: *const IID, + ppvObjectReference: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAgileReferenceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IAgileReferenceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileReferenceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resolve) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(Resolve) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileReference { + pub lpVtbl: *mut IAgileReferenceVtbl, +} +#[test] +fn bindgen_test_layout_IAgileReference() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAgileReference)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileReference)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileReference), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ICallbackWithNoReentrancyToApplicationSTA: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MachineGlobalObjectTableRegistrationToken__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_MachineGlobalObjectTableRegistrationToken__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(MachineGlobalObjectTableRegistrationToken__) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(MachineGlobalObjectTableRegistrationToken__) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MachineGlobalObjectTableRegistrationToken__), + "::", + stringify!(unused) + ) + ); +} +pub type MachineGlobalObjectTableRegistrationToken = + *mut MachineGlobalObjectTableRegistrationToken__; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IMachineGlobalObjectTable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMachineGlobalObjectTableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMachineGlobalObjectTable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub RegisterObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMachineGlobalObjectTable, + clsid: *const IID, + identifier: LPCWSTR, + object: *mut IUnknown, + token: *mut MachineGlobalObjectTableRegistrationToken, + ) -> HRESULT, + >, + pub GetObjectA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMachineGlobalObjectTable, + clsid: *const IID, + identifier: LPCWSTR, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub RevokeObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMachineGlobalObjectTable, + token: MachineGlobalObjectTableRegistrationToken, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMachineGlobalObjectTableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IMachineGlobalObjectTableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMachineGlobalObjectTableVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterObject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(RegisterObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectA) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(GetObjectA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeObject) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTableVtbl), + "::", + stringify!(RevokeObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMachineGlobalObjectTable { + pub lpVtbl: *mut IMachineGlobalObjectTableVtbl, +} +#[test] +fn bindgen_test_layout_IMachineGlobalObjectTable() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMachineGlobalObjectTable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMachineGlobalObjectTable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMachineGlobalObjectTable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0054_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0054_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_ISupportAllowLowerTrustActivation: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportAllowLowerTrustActivationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISupportAllowLowerTrustActivation, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISupportAllowLowerTrustActivation) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISupportAllowLowerTrustActivation) -> ULONG, + >, +} +#[test] +fn bindgen_test_layout_ISupportAllowLowerTrustActivationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(ISupportAllowLowerTrustActivationVtbl) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(ISupportAllowLowerTrustActivationVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportAllowLowerTrustActivationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISupportAllowLowerTrustActivationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISupportAllowLowerTrustActivationVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportAllowLowerTrustActivation { + pub lpVtbl: *mut ISupportAllowLowerTrustActivationVtbl, +} +#[test] +fn bindgen_test_layout_ISupportAllowLowerTrustActivation() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISupportAllowLowerTrustActivation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(ISupportAllowLowerTrustActivation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportAllowLowerTrustActivation), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0055_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0055_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IEnumUnknown_Next_Proxy( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumUnknown_Next_Stub( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_Next_Proxy( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_Next_Stub( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Read_Proxy( + This: *mut ISequentialStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Read_Stub( + This: *mut ISequentialStream, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Write_Proxy( + This: *mut ISequentialStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Write_Stub( + This: *mut ISequentialStream, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_Seek_Proxy( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_Seek_Stub( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_CopyTo_Proxy( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_CopyTo_Stub( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub static GUID_NULL: IID; +} +extern "C" { + pub static CATID_MARSHALER: IID; +} +extern "C" { + pub static IID_IRpcChannel: IID; +} +extern "C" { + pub static IID_IRpcStub: IID; +} +extern "C" { + pub static IID_IStubManager: IID; +} +extern "C" { + pub static IID_IRpcProxy: IID; +} +extern "C" { + pub static IID_IProxyManager: IID; +} +extern "C" { + pub static IID_IPSFactory: IID; +} +extern "C" { + pub static IID_IInternalMoniker: IID; +} +extern "C" { + pub static IID_IDfReserved1: IID; +} +extern "C" { + pub static IID_IDfReserved2: IID; +} +extern "C" { + pub static IID_IDfReserved3: IID; +} +extern "C" { + pub static CLSID_StdMarshal: CLSID; +} +extern "C" { + pub static CLSID_AggStdMarshal: CLSID; +} +extern "C" { + pub static CLSID_StdAsyncActManager: CLSID; +} +extern "C" { + pub static IID_IStub: IID; +} +extern "C" { + pub static IID_IProxy: IID; +} +extern "C" { + pub static IID_IEnumGeneric: IID; +} +extern "C" { + pub static IID_IEnumHolder: IID; +} +extern "C" { + pub static IID_IEnumCallback: IID; +} +extern "C" { + pub static IID_IOleManager: IID; +} +extern "C" { + pub static IID_IOlePresObj: IID; +} +extern "C" { + pub static IID_IDebug: IID; +} +extern "C" { + pub static IID_IDebugStream: IID; +} +extern "C" { + pub static CLSID_PSGenObject: CLSID; +} +extern "C" { + pub static CLSID_PSClientSite: CLSID; +} +extern "C" { + pub static CLSID_PSClassObject: CLSID; +} +extern "C" { + pub static CLSID_PSInPlaceActive: CLSID; +} +extern "C" { + pub static CLSID_PSInPlaceFrame: CLSID; +} +extern "C" { + pub static CLSID_PSDragDrop: CLSID; +} +extern "C" { + pub static CLSID_PSBindCtx: CLSID; +} +extern "C" { + pub static CLSID_PSEnumerators: CLSID; +} +extern "C" { + pub static CLSID_StaticMetafile: CLSID; +} +extern "C" { + pub static CLSID_StaticDib: CLSID; +} +extern "C" { + pub static CID_CDfsVolume: CLSID; +} +extern "C" { + pub static CLSID_DCOMAccessControl: CLSID; +} +extern "C" { + pub static CLSID_GlobalOptions: CLSID; +} +extern "C" { + pub static CLSID_StdGlobalInterfaceTable: CLSID; +} +extern "C" { + pub static CLSID_MachineGlobalObjectTable: CLSID; +} +extern "C" { + pub static CLSID_ActivationCapabilities: CLSID; +} +extern "C" { + pub static CLSID_ComBinding: CLSID; +} +extern "C" { + pub static CLSID_StdEvent: CLSID; +} +extern "C" { + pub static CLSID_ManualResetEvent: CLSID; +} +extern "C" { + pub static CLSID_SynchronizeContainer: CLSID; +} +extern "C" { + pub static CLSID_AddrControl: CLSID; +} +extern "C" { + pub static CLSID_ContextSwitcher: CLSID; +} +extern "C" { + pub static CLSID_CCDFormKrnl: CLSID; +} +extern "C" { + pub static CLSID_CCDPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDFormDialog: CLSID; +} +extern "C" { + pub static CLSID_CCDCommandButton: CLSID; +} +extern "C" { + pub static CLSID_CCDComboBox: CLSID; +} +extern "C" { + pub static CLSID_CCDTextBox: CLSID; +} +extern "C" { + pub static CLSID_CCDCheckBox: CLSID; +} +extern "C" { + pub static CLSID_CCDLabel: CLSID; +} +extern "C" { + pub static CLSID_CCDOptionButton: CLSID; +} +extern "C" { + pub static CLSID_CCDListBox: CLSID; +} +extern "C" { + pub static CLSID_CCDScrollBar: CLSID; +} +extern "C" { + pub static CLSID_CCDGroupBox: CLSID; +} +extern "C" { + pub static CLSID_CCDGeneralPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDGenericPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDFontPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDColorPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDLabelPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDCheckBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDTextBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDOptionButtonPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDListBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDCommandButtonPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDComboBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDScrollBarPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDGroupBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDXObjectPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CStdPropertyFrame: CLSID; +} +extern "C" { + pub static CLSID_CFormPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CGridPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CWSJArticlePage: CLSID; +} +extern "C" { + pub static CLSID_CSystemPage: CLSID; +} +extern "C" { + pub static CLSID_IdentityUnmarshal: CLSID; +} +extern "C" { + pub static CLSID_InProcFreeMarshaler: CLSID; +} +extern "C" { + pub static CLSID_Picture_Metafile: CLSID; +} +extern "C" { + pub static CLSID_Picture_EnhMetafile: CLSID; +} +extern "C" { + pub static CLSID_Picture_Dib: CLSID; +} +extern "C" { + pub static GUID_TRISTATE: GUID; +} +extern "C" { + pub fn CoGetMalloc(dwMemContext: DWORD, ppMalloc: *mut LPMALLOC) -> HRESULT; +} +extern "C" { + pub fn CreateStreamOnHGlobal( + hGlobal: HGLOBAL, + fDeleteOnRelease: BOOL, + ppstm: *mut LPSTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn GetHGlobalFromStream(pstm: LPSTREAM, phglobal: *mut HGLOBAL) -> HRESULT; +} +extern "C" { + pub fn CoUninitialize(); +} +extern "C" { + pub fn CoGetCurrentProcess() -> DWORD; +} +extern "C" { + pub fn CoInitializeEx(pvReserved: LPVOID, dwCoInit: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetCallerTID(lpdwTID: LPDWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetCurrentLogicalThreadId(pguid: *mut GUID) -> HRESULT; +} +extern "C" { + pub fn CoGetContextToken(pToken: *mut ULONG_PTR) -> HRESULT; +} +extern "C" { + pub fn CoGetDefaultContext( + aptType: APTTYPE, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetApartmentType( + pAptType: *mut APTTYPE, + pAptQualifier: *mut APTTYPEQUALIFIER, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagServerInformation { + pub dwServerPid: DWORD, + pub dwServerTid: DWORD, + pub ui64ServerAddress: UINT64, +} +#[test] +fn bindgen_test_layout_tagServerInformation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagServerInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagServerInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerPid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(dwServerPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerTid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(dwServerTid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ui64ServerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(ui64ServerAddress) + ) + ); +} +pub type ServerInformation = tagServerInformation; +pub type PServerInformation = *mut tagServerInformation; +extern "C" { + pub fn CoDecodeProxy( + dwClientPid: DWORD, + ui64ProxyAddress: UINT64, + pServerInformation: PServerInformation, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CO_MTA_USAGE_COOKIE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_CO_MTA_USAGE_COOKIE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(CO_MTA_USAGE_COOKIE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CO_MTA_USAGE_COOKIE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CO_MTA_USAGE_COOKIE__), + "::", + stringify!(unused) + ) + ); +} +pub type CO_MTA_USAGE_COOKIE = *mut CO_MTA_USAGE_COOKIE__; +extern "C" { + pub fn CoIncrementMTAUsage(pCookie: *mut CO_MTA_USAGE_COOKIE) -> HRESULT; +} +extern "C" { + pub fn CoDecrementMTAUsage(Cookie: CO_MTA_USAGE_COOKIE) -> HRESULT; +} +extern "C" { + pub fn CoAllowUnmarshalerCLSID(clsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn CoGetObjectContext(riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoGetClassObject( + rclsid: *const IID, + dwClsContext: DWORD, + pvReserved: LPVOID, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterClassObject( + rclsid: *const IID, + pUnk: LPUNKNOWN, + dwClsContext: DWORD, + flags: DWORD, + lpdwRegister: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeClassObject(dwRegister: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoResumeClassObjects() -> HRESULT; +} +extern "C" { + pub fn CoSuspendClassObjects() -> HRESULT; +} +extern "C" { + pub fn CoAddRefServerProcess() -> ULONG; +} +extern "C" { + pub fn CoReleaseServerProcess() -> ULONG; +} +extern "C" { + pub fn CoGetPSClsid(riid: *const IID, pClsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterPSClsid(riid: *const IID, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterSurrogate(pSurrogate: LPSURROGATE) -> HRESULT; +} +extern "C" { + pub fn CoGetMarshalSizeMax( + pulSize: *mut ULONG, + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoMarshalInterface( + pStm: LPSTREAM, + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoUnmarshalInterface(pStm: LPSTREAM, riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoMarshalHresult(pstm: LPSTREAM, hresult: HRESULT) -> HRESULT; +} +extern "C" { + pub fn CoUnmarshalHresult(pstm: LPSTREAM, phresult: *mut HRESULT) -> HRESULT; +} +extern "C" { + pub fn CoReleaseMarshalData(pStm: LPSTREAM) -> HRESULT; +} +extern "C" { + pub fn CoDisconnectObject(pUnk: LPUNKNOWN, dwReserved: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoLockObjectExternal(pUnk: LPUNKNOWN, fLock: BOOL, fLastUnlockReleases: BOOL) + -> HRESULT; +} +extern "C" { + pub fn CoGetStandardMarshal( + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ppMarshal: *mut LPMARSHAL, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetStdMarshalEx( + pUnkOuter: LPUNKNOWN, + smexflags: DWORD, + ppUnkInner: *mut LPUNKNOWN, + ) -> HRESULT; +} +pub const tagSTDMSHLFLAGS_SMEXF_SERVER: tagSTDMSHLFLAGS = 1; +pub const tagSTDMSHLFLAGS_SMEXF_HANDLER: tagSTDMSHLFLAGS = 2; +pub type tagSTDMSHLFLAGS = ::std::os::raw::c_int; +pub use self::tagSTDMSHLFLAGS as STDMSHLFLAGS; +extern "C" { + pub fn CoIsHandlerConnected(pUnk: LPUNKNOWN) -> BOOL; +} +extern "C" { + pub fn CoMarshalInterThreadInterfaceInStream( + riid: *const IID, + pUnk: LPUNKNOWN, + ppStm: *mut LPSTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetInterfaceAndReleaseStream( + pStm: LPSTREAM, + iid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateFreeThreadedMarshaler( + punkOuter: LPUNKNOWN, + ppunkMarshal: *mut LPUNKNOWN, + ) -> HRESULT; +} +extern "C" { + pub fn CoFreeUnusedLibraries(); +} +extern "C" { + pub fn CoFreeUnusedLibrariesEx(dwUnloadDelay: DWORD, dwReserved: DWORD); +} +extern "C" { + pub fn CoDisconnectContext(dwTimeout: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoInitializeSecurity( + pSecDesc: PSECURITY_DESCRIPTOR, + cAuthSvc: LONG, + asAuthSvc: *mut SOLE_AUTHENTICATION_SERVICE, + pReserved1: *mut ::std::os::raw::c_void, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthList: *mut ::std::os::raw::c_void, + dwCapabilities: DWORD, + pReserved3: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetCallContext( + riid: *const IID, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoQueryProxyBlanket( + pProxy: *mut IUnknown, + pwAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut LPOLESTR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pAuthInfo: *mut RPC_AUTH_IDENTITY_HANDLE, + pCapabilites: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoSetProxyBlanket( + pProxy: *mut IUnknown, + dwAuthnSvc: DWORD, + dwAuthzSvc: DWORD, + pServerPrincName: *mut OLECHAR, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthInfo: RPC_AUTH_IDENTITY_HANDLE, + dwCapabilities: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoCopyProxy(pProxy: *mut IUnknown, ppCopy: *mut *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn CoQueryClientBlanket( + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut LPOLESTR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pPrivs: *mut RPC_AUTHZ_HANDLE, + pCapabilities: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoImpersonateClient() -> HRESULT; +} +extern "C" { + pub fn CoRevertToSelf() -> HRESULT; +} +extern "C" { + pub fn CoQueryAuthenticationServices( + pcAuthSvc: *mut DWORD, + asAuthSvc: *mut *mut SOLE_AUTHENTICATION_SERVICE, + ) -> HRESULT; +} +extern "C" { + pub fn CoSwitchCallContext( + pNewObject: *mut IUnknown, + ppOldObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstance( + rclsid: *const IID, + pUnkOuter: LPUNKNOWN, + dwClsContext: DWORD, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstanceEx( + Clsid: *const IID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + pServerInfo: *mut COSERVERINFO, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstanceFromApp( + Clsid: *const IID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + reserved: PVOID, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterActivationFilter(pActivationFilter: *mut IActivationFilter) -> HRESULT; +} +extern "C" { + pub fn CoGetCancelObject( + dwThreadId: DWORD, + iid: *const IID, + ppUnk: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoSetCancelObject(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn CoCancelCall(dwThreadId: DWORD, ulTimeout: ULONG) -> HRESULT; +} +extern "C" { + pub fn CoTestCancel() -> HRESULT; +} +extern "C" { + pub fn CoEnableCallCancellation(pReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoDisableCallCancellation(pReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn StringFromCLSID(rclsid: *const IID, lplpsz: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromString(lpsz: LPCOLESTR, pclsid: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn StringFromIID(rclsid: *const IID, lplpsz: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn IIDFromString(lpsz: LPCOLESTR, lpiid: LPIID) -> HRESULT; +} +extern "C" { + pub fn ProgIDFromCLSID(clsid: *const IID, lplpszProgID: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromProgID(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn StringFromGUID2( + rguid: *const GUID, + lpsz: LPOLESTR, + cchMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CoCreateGuid(pguid: *mut GUID) -> HRESULT; +} +pub type PROPVARIANT = tagPROPVARIANT; +extern "C" { + pub fn PropVariantCopy(pvarDest: *mut PROPVARIANT, pvarSrc: *const PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn PropVariantClear(pvar: *mut PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn FreePropVariantArray(cVariants: ULONG, rgvars: *mut PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn CoWaitForMultipleHandles( + dwFlags: DWORD, + dwTimeout: DWORD, + cHandles: ULONG, + pHandles: LPHANDLE, + lpdwindex: LPDWORD, + ) -> HRESULT; +} +pub const tagCOWAIT_FLAGS_COWAIT_DEFAULT: tagCOWAIT_FLAGS = 0; +pub const tagCOWAIT_FLAGS_COWAIT_WAITALL: tagCOWAIT_FLAGS = 1; +pub const tagCOWAIT_FLAGS_COWAIT_ALERTABLE: tagCOWAIT_FLAGS = 2; +pub const tagCOWAIT_FLAGS_COWAIT_INPUTAVAILABLE: tagCOWAIT_FLAGS = 4; +pub const tagCOWAIT_FLAGS_COWAIT_DISPATCH_CALLS: tagCOWAIT_FLAGS = 8; +pub const tagCOWAIT_FLAGS_COWAIT_DISPATCH_WINDOW_MESSAGES: tagCOWAIT_FLAGS = 16; +pub type tagCOWAIT_FLAGS = ::std::os::raw::c_int; +pub use self::tagCOWAIT_FLAGS as COWAIT_FLAGS; +pub const CWMO_FLAGS_CWMO_DEFAULT: CWMO_FLAGS = 0; +pub const CWMO_FLAGS_CWMO_DISPATCH_CALLS: CWMO_FLAGS = 1; +pub const CWMO_FLAGS_CWMO_DISPATCH_WINDOW_MESSAGES: CWMO_FLAGS = 2; +pub type CWMO_FLAGS = ::std::os::raw::c_int; +extern "C" { + pub fn CoWaitForMultipleObjects( + dwFlags: DWORD, + dwTimeout: DWORD, + cHandles: ULONG, + pHandles: *const HANDLE, + lpdwindex: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetTreatAsClass(clsidOld: *const IID, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn CoInvalidateRemoteMachineBindings(pszMachineName: LPOLESTR) -> HRESULT; +} +pub const AgileReferenceOptions_AGILEREFERENCE_DEFAULT: AgileReferenceOptions = 0; +pub const AgileReferenceOptions_AGILEREFERENCE_DELAYEDMARSHAL: AgileReferenceOptions = 1; +pub type AgileReferenceOptions = ::std::os::raw::c_int; +extern "C" { + pub fn RoGetAgileReference( + options: AgileReferenceOptions, + riid: *const IID, + pUnk: *mut IUnknown, + ppAgileReference: *mut *mut IAgileReference, + ) -> HRESULT; +} +pub type LPFNGETCLASSOBJECT = ::std::option::Option< + unsafe extern "C" fn(arg1: *const IID, arg2: *const IID, arg3: *mut LPVOID) -> HRESULT, +>; +pub type LPFNCANUNLOADNOW = ::std::option::Option HRESULT>; +extern "C" { + pub fn DllGetClassObject(rclsid: *const IID, riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn DllCanUnloadNow() -> HRESULT; +} +extern "C" { + pub fn CoTaskMemAlloc(cb: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn CoTaskMemRealloc(pv: LPVOID, cb: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn CoTaskMemFree(pv: LPVOID); +} +extern "C" { + pub fn CoFileTimeNow(lpFileTime: *mut FILETIME) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromProgIDEx(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CO_DEVICE_CATALOG_COOKIE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_CO_DEVICE_CATALOG_COOKIE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(CO_DEVICE_CATALOG_COOKIE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CO_DEVICE_CATALOG_COOKIE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CO_DEVICE_CATALOG_COOKIE__), + "::", + stringify!(unused) + ) + ); +} +pub type CO_DEVICE_CATALOG_COOKIE = *mut CO_DEVICE_CATALOG_COOKIE__; +extern "C" { + pub fn CoRegisterDeviceCatalog( + deviceInstanceId: PCWSTR, + cookie: *mut CO_DEVICE_CATALOG_COOKIE, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeDeviceCatalog(cookie: CO_DEVICE_CATALOG_COOKIE) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0055_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0055_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMALLOCSPY = *mut IMallocSpy; +extern "C" { + pub static IID_IMallocSpy: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocSpyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PreAlloc: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMallocSpy, cbRequest: SIZE_T) -> SIZE_T, + >, + pub PostAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pActual: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void, + >, + pub PreFree: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostFree: ::std::option::Option, + pub PreRealloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + cbRequest: SIZE_T, + ppNewRequest: *mut *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> SIZE_T, + >, + pub PostRealloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pActual: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PreGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostGetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMallocSpy, cbActual: SIZE_T, fSpyed: BOOL) -> SIZE_T, + >, + pub PreDidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostDidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + fActual: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub PreHeapMinimize: ::std::option::Option, + pub PostHeapMinimize: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IMallocSpyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IMallocSpyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocSpyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreAlloc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostAlloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostFree) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreRealloc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreRealloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostRealloc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostRealloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreGetSize) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostGetSize) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreDidAlloc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreDidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostDidAlloc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostDidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreHeapMinimize) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreHeapMinimize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostHeapMinimize) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostHeapMinimize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocSpy { + pub lpVtbl: *mut IMallocSpyVtbl, +} +#[test] +fn bindgen_test_layout_IMallocSpy() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMallocSpy)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocSpy)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpy), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0056_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0056_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBC = *mut IBindCtx; +pub type LPBINDCTX = *mut IBindCtx; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBIND_OPTS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(dwTickCountDeadline) + ) + ); +} +pub type BIND_OPTS = tagBIND_OPTS; +pub type LPBIND_OPTS = *mut tagBIND_OPTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS2 { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, + pub dwTrackFlags: DWORD, + pub dwClassContext: DWORD, + pub locale: LCID, + pub pServerInfo: *mut COSERVERINFO, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagBIND_OPTS2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwTickCountDeadline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrackFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwTrackFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClassContext) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwClassContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(pServerInfo) + ) + ); +} +pub type BIND_OPTS2 = tagBIND_OPTS2; +pub type LPBIND_OPTS2 = *mut tagBIND_OPTS2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS3 { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, + pub dwTrackFlags: DWORD, + pub dwClassContext: DWORD, + pub locale: LCID, + pub pServerInfo: *mut COSERVERINFO, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagBIND_OPTS3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwTickCountDeadline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrackFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwTrackFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClassContext) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwClassContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(pServerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(hwnd) + ) + ); +} +pub type BIND_OPTS3 = tagBIND_OPTS3; +pub type LPBIND_OPTS3 = *mut tagBIND_OPTS3; +pub const tagBIND_FLAGS_BIND_MAYBOTHERUSER: tagBIND_FLAGS = 1; +pub const tagBIND_FLAGS_BIND_JUSTTESTEXISTENCE: tagBIND_FLAGS = 2; +pub type tagBIND_FLAGS = ::std::os::raw::c_int; +pub use self::tagBIND_FLAGS as BIND_FLAGS; +extern "C" { + pub static IID_IBindCtx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCtxVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCtx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RegisterObjectBound: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, punk: *mut IUnknown) -> HRESULT, + >, + pub RevokeObjectBound: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, punk: *mut IUnknown) -> HRESULT, + >, + pub ReleaseBoundObjects: + ::std::option::Option HRESULT>, + pub SetBindOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT, + >, + pub GetBindOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT, + >, + pub GetRunningObjectTable: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pprot: *mut *mut IRunningObjectTable) -> HRESULT, + >, + pub RegisterObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pszKey: LPOLESTR, punk: *mut IUnknown) -> HRESULT, + >, + pub GetObjectParam: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCtx, + pszKey: LPOLESTR, + ppunk: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub EnumObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, ppenum: *mut *mut IEnumString) -> HRESULT, + >, + pub RevokeObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pszKey: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindCtxVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IBindCtxVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCtxVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterObjectBound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RegisterObjectBound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeObjectBound) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RevokeObjectBound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseBoundObjects) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(ReleaseBoundObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBindOptions) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(SetBindOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindOptions) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetBindOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRunningObjectTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetRunningObjectTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterObjectParam) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RegisterObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectParam) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjectParam) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(EnumObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeObjectParam) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RevokeObjectParam) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCtx { + pub lpVtbl: *mut IBindCtxVtbl, +} +#[test] +fn bindgen_test_layout_IBindCtx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindCtx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCtx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCtx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindCtx_RemoteSetBindOptions_Proxy( + This: *mut IBindCtx, + pbindopts: *mut BIND_OPTS2, + ) -> HRESULT; +} +extern "C" { + pub fn IBindCtx_RemoteSetBindOptions_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindCtx_RemoteGetBindOptions_Proxy( + This: *mut IBindCtx, + pbindopts: *mut BIND_OPTS2, + ) -> HRESULT; +} +extern "C" { + pub fn IBindCtx_RemoteGetBindOptions_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMMONIKER = *mut IEnumMoniker; +extern "C" { + pub static IID_IEnumMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumMoniker, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumMoniker, ppenum: *mut *mut IEnumMoniker) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumMoniker { + pub lpVtbl: *mut IEnumMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IEnumMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumMoniker_RemoteNext_Proxy( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0058_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0058_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPRUNNABLEOBJECT = *mut IRunnableObject; +extern "C" { + pub static IID_IRunnableObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunnableObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunnableObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetRunningClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, lpClsid: LPCLSID) -> HRESULT, + >, + pub Run: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, pbc: LPBINDCTX) -> HRESULT, + >, + pub IsRunning: ::std::option::Option BOOL>, + pub LockRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunnableObject, + fLock: BOOL, + fLastUnlockCloses: BOOL, + ) -> HRESULT, + >, + pub SetContainedObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, fContained: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRunnableObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IRunnableObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunnableObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRunningClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(GetRunningClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Run) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(Run) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRunning) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(LockRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetContainedObject) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(SetContainedObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunnableObject { + pub lpVtbl: *mut IRunnableObjectVtbl, +} +#[test] +fn bindgen_test_layout_IRunnableObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRunnableObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunnableObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IRunnableObject_RemoteIsRunning_Proxy(This: *mut IRunnableObject) -> HRESULT; +} +extern "C" { + pub fn IRunnableObject_RemoteIsRunning_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPRUNNINGOBJECTTABLE = *mut IRunningObjectTable; +extern "C" { + pub static IID_IRunningObjectTable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunningObjectTableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Register: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + grfFlags: DWORD, + punkObject: *mut IUnknown, + pmkObjectName: *mut IMoniker, + pdwRegister: *mut DWORD, + ) -> HRESULT, + >, + pub Revoke: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunningObjectTable, dwRegister: DWORD) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + ) -> HRESULT, + >, + pub GetObjectA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + ppunkObject: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub NoteChangeTime: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + dwRegister: DWORD, + pfiletime: *mut FILETIME, + ) -> HRESULT, + >, + pub GetTimeOfLastChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + pfiletime: *mut FILETIME, + ) -> HRESULT, + >, + pub EnumRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + ppenumMoniker: *mut *mut IEnumMoniker, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRunningObjectTableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IRunningObjectTableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunningObjectTableVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Register) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Register) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revoke) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Revoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectA) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(GetObjectA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoteChangeTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(NoteChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTimeOfLastChange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(GetTimeOfLastChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumRunning) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(EnumRunning) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunningObjectTable { + pub lpVtbl: *mut IRunningObjectTableVtbl, +} +#[test] +fn bindgen_test_layout_IRunningObjectTable() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRunningObjectTable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunningObjectTable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0060_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0060_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSIST = *mut IPersist; +extern "C" { + pub static IID_IPersist: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersist, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersist, pClassID: *mut CLSID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IPersistVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(GetClassID) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersist { + pub lpVtbl: *mut IPersistVtbl, +} +#[test] +fn bindgen_test_layout_IPersist() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersist)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersist)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersist), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPERSISTSTREAM = *mut IPersistStream; +extern "C" { + pub static IID_IPersistStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pStm: *mut IStream) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStream, + pStm: *mut IStream, + fClearDirty: BOOL, + ) -> HRESULT, + >, + pub GetSizeMax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pcbSize: *mut ULARGE_INTEGER) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IPersistStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSizeMax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(GetSizeMax) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStream { + pub lpVtbl: *mut IPersistStreamVtbl, +} +#[test] +fn bindgen_test_layout_IPersistStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStream), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMONIKER = *mut IMoniker; +pub const tagMKSYS_MKSYS_NONE: tagMKSYS = 0; +pub const tagMKSYS_MKSYS_GENERICCOMPOSITE: tagMKSYS = 1; +pub const tagMKSYS_MKSYS_FILEMONIKER: tagMKSYS = 2; +pub const tagMKSYS_MKSYS_ANTIMONIKER: tagMKSYS = 3; +pub const tagMKSYS_MKSYS_ITEMMONIKER: tagMKSYS = 4; +pub const tagMKSYS_MKSYS_POINTERMONIKER: tagMKSYS = 5; +pub const tagMKSYS_MKSYS_CLASSMONIKER: tagMKSYS = 7; +pub const tagMKSYS_MKSYS_OBJREFMONIKER: tagMKSYS = 8; +pub const tagMKSYS_MKSYS_SESSIONMONIKER: tagMKSYS = 9; +pub const tagMKSYS_MKSYS_LUAMONIKER: tagMKSYS = 10; +pub type tagMKSYS = ::std::os::raw::c_int; +pub use self::tagMKSYS as MKSYS; +pub const tagMKREDUCE_MKRREDUCE_ONE: tagMKREDUCE = 196608; +pub const tagMKREDUCE_MKRREDUCE_TOUSER: tagMKREDUCE = 131072; +pub const tagMKREDUCE_MKRREDUCE_THROUGHUSER: tagMKREDUCE = 65536; +pub const tagMKREDUCE_MKRREDUCE_ALL: tagMKREDUCE = 0; +pub type tagMKREDUCE = ::std::os::raw::c_int; +pub use self::tagMKREDUCE as MKRREDUCE; +extern "C" { + pub static IID_IMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pStm: *mut IStream) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pStm: *mut IStream, fClearDirty: BOOL) -> HRESULT, + >, + pub GetSizeMax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pcbSize: *mut ULARGE_INTEGER) -> HRESULT, + >, + pub BindToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub BindToStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub Reduce: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + dwReduceHowFar: DWORD, + ppmkToLeft: *mut *mut IMoniker, + ppmkReduced: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub ComposeWith: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkRight: *mut IMoniker, + fOnlyIfNotGeneric: BOOL, + ppmkComposite: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + fForward: BOOL, + ppenumMoniker: *mut *mut IEnumMoniker, + ) -> HRESULT, + >, + pub IsEqual: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pmkOtherMoniker: *mut IMoniker) -> HRESULT, + >, + pub Hash: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pdwHash: *mut DWORD) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pmkNewlyRunning: *mut IMoniker, + ) -> HRESULT, + >, + pub GetTimeOfLastChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pFileTime: *mut FILETIME, + ) -> HRESULT, + >, + pub Inverse: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, ppmk: *mut *mut IMoniker) -> HRESULT, + >, + pub CommonPrefixWith: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkOther: *mut IMoniker, + ppmkPrefix: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub RelativePathTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkOther: *mut IMoniker, + ppmkRelPath: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub GetDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + ppszDisplayName: *mut LPOLESTR, + ) -> HRESULT, + >, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub IsSystemMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pdwMksys: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!("Size of: ", stringify!(IMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSizeMax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(BindToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToStorage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(BindToStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reduce) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Reduce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComposeWith) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(ComposeWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Enum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEqual) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsEqual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTimeOfLastChange) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetTimeOfLastChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Inverse) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Inverse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommonPrefixWith) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(CommonPrefixWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathTo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(RelativePathTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayName) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSystemMoniker) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsSystemMoniker) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMoniker { + pub lpVtbl: *mut IMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IMoniker_RemoteBindToObject_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_RemoteBindToObject_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IMoniker_RemoteBindToStorage_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_RemoteBindToStorage_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0063_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0063_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IROTData: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IROTDataVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IROTData, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetComparisonData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IROTData, + pbData: *mut byte, + cbMax: ULONG, + pcbData: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IROTDataVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IROTDataVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IROTDataVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetComparisonData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(GetComparisonData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IROTData { + pub lpVtbl: *mut IROTDataVtbl, +} +#[test] +fn bindgen_test_layout_IROTData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IROTData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IROTData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IROTData), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0064_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0064_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMSTATSTG = *mut IEnumSTATSTG; +extern "C" { + pub static IID_IEnumSTATSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATSTG, ppenum: *mut *mut IEnumSTATSTG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATSTG { + pub lpVtbl: *mut IEnumSTATSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATSTG_RemoteNext_Proxy( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPSTORAGE = *mut IStorage; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemSNB { + pub ulCntStr: ULONG, + pub ulCntChar: ULONG, + pub rgString: [OLECHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemSNB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRemSNB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemSNB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulCntStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(ulCntStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulCntChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(ulCntChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(rgString) + ) + ); +} +pub type RemSNB = tagRemSNB; +pub type wireSNB = *mut RemSNB; +pub type SNB = *mut LPOLESTR; +extern "C" { + pub static IID_IStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateStream: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + grfMode: DWORD, + reserved1: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT, + >, + pub OpenStream: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + reserved1: *mut ::std::os::raw::c_void, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT, + >, + pub CreateStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + grfMode: DWORD, + reserved1: DWORD, + reserved2: DWORD, + ppstg: *mut *mut IStorage, + ) -> HRESULT, + >, + pub OpenStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstg: *mut *mut IStorage, + ) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT, + >, + pub MoveElementTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pstgDest: *mut IStorage, + pwcsNewName: *const OLECHAR, + grfFlags: DWORD, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub EnumElements: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + reserved1: DWORD, + reserved2: *mut ::std::os::raw::c_void, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT, + >, + pub DestroyElement: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, pwcsName: *const OLECHAR) -> HRESULT, + >, + pub RenameElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsOldName: *const OLECHAR, + pwcsNewName: *const OLECHAR, + ) -> HRESULT, + >, + pub SetElementTimes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT, + >, + pub SetClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, clsid: *const IID) -> HRESULT, + >, + pub SetStateBits: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, grfStateBits: DWORD, grfMask: DWORD) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(IStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStream) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CreateStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStream) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(OpenStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStorage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CreateStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStorage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(OpenStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveElementTo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(MoveElementTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumElements) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(EnumElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyElement) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(DestroyElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RenameElement) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(RenameElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetElementTimes) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetElementTimes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClass) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetStateBits) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetStateBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStorage { + pub lpVtbl: *mut IStorageVtbl, +} +#[test] +fn bindgen_test_layout_IStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IStorage_RemoteOpenStream_Proxy( + This: *mut IStorage, + pwcsName: *const OLECHAR, + cbReserved1: ULONG, + reserved1: *mut byte, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteOpenStream_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStorage_RemoteCopyTo_Proxy( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteCopyTo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStorage_RemoteEnumElements_Proxy( + This: *mut IStorage, + reserved1: DWORD, + cbReserved2: ULONG, + reserved2: *mut byte, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteEnumElements_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0066_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0066_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSISTFILE = *mut IPersistFile; +extern "C" { + pub static IID_IPersistFile: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistFileVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + pszFileName: LPCOLESTR, + dwMode: DWORD, + ) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + pszFileName: LPCOLESTR, + fRemember: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, pszFileName: LPCOLESTR) -> HRESULT, + >, + pub GetCurFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, ppszFileName: *mut LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistFileVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IPersistFileVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistFileVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(GetCurFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistFile { + pub lpVtbl: *mut IPersistFileVtbl, +} +#[test] +fn bindgen_test_layout_IPersistFile() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistFile)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistFile)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistFile), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPERSISTSTORAGE = *mut IPersistStorage; +extern "C" { + pub static IID_IPersistStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub InitNew: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStg: *mut IStorage) -> HRESULT, + >, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStg: *mut IStorage) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStorage, + pStgSave: *mut IStorage, + fSameAsLoad: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStgNew: *mut IStorage) -> HRESULT, + >, + pub HandsOffStorage: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IPersistStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IPersistStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitNew) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(InitNew) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandsOffStorage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(HandsOffStorage) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStorage { + pub lpVtbl: *mut IPersistStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPersistStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0068_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0068_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPLOCKBYTES = *mut ILockBytes; +extern "C" { + pub static IID_ILockBytes: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILockBytesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ReadAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub WriteAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Flush: ::std::option::Option HRESULT>, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILockBytes, cb: ULARGE_INTEGER) -> HRESULT, + >, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ILockBytesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(ILockBytesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILockBytesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadAt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(ReadAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteAt) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(WriteAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Flush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILockBytes { + pub lpVtbl: *mut ILockBytesVtbl, +} +#[test] +fn bindgen_test_layout_ILockBytes() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ILockBytes)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILockBytes)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILockBytes), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ILockBytes_RemoteReadAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_RemoteReadAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ILockBytes_RemoteWriteAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_RemoteWriteAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMFORMATETC = *mut IEnumFORMATETC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDVTARGETDEVICE { + pub tdSize: DWORD, + pub tdDriverNameOffset: WORD, + pub tdDeviceNameOffset: WORD, + pub tdPortNameOffset: WORD, + pub tdExtDevmodeOffset: WORD, + pub tdData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagDVTARGETDEVICE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagDVTARGETDEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDVTARGETDEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdDriverNameOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdDriverNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdDeviceNameOffset) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdDeviceNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdPortNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdPortNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdExtDevmodeOffset) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdExtDevmodeOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdData) + ) + ); +} +pub type DVTARGETDEVICE = tagDVTARGETDEVICE; +pub type LPCLIPFORMAT = *mut CLIPFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFORMATETC { + pub cfFormat: CLIPFORMAT, + pub ptd: *mut DVTARGETDEVICE, + pub dwAspect: DWORD, + pub lindex: LONG, + pub tymed: DWORD, +} +#[test] +fn bindgen_test_layout_tagFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(ptd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAspect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(dwAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lindex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(lindex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(tymed) + ) + ); +} +pub type FORMATETC = tagFORMATETC; +pub type LPFORMATETC = *mut tagFORMATETC; +extern "C" { + pub static IID_IEnumFORMATETC: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumFORMATETCVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumFORMATETC, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + ppenum: *mut *mut IEnumFORMATETC, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumFORMATETCVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumFORMATETCVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumFORMATETCVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumFORMATETC { + pub lpVtbl: *mut IEnumFORMATETCVtbl, +} +#[test] +fn bindgen_test_layout_IEnumFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETC), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumFORMATETC_RemoteNext_Proxy( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTATDATA = *mut IEnumSTATDATA; +pub const tagADVF_ADVF_NODATA: tagADVF = 1; +pub const tagADVF_ADVF_PRIMEFIRST: tagADVF = 2; +pub const tagADVF_ADVF_ONLYONCE: tagADVF = 4; +pub const tagADVF_ADVF_DATAONSTOP: tagADVF = 64; +pub const tagADVF_ADVFCACHE_NOHANDLER: tagADVF = 8; +pub const tagADVF_ADVFCACHE_FORCEBUILTIN: tagADVF = 16; +pub const tagADVF_ADVFCACHE_ONSAVE: tagADVF = 32; +pub type tagADVF = ::std::os::raw::c_int; +pub use self::tagADVF as ADVF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATDATA { + pub formatetc: FORMATETC, + pub advf: DWORD, + pub pAdvSink: *mut IAdviseSink, + pub dwConnection: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSTATDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatetc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(formatetc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).advf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(advf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAdvSink) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(pAdvSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConnection) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(dwConnection) + ) + ); +} +pub type STATDATA = tagSTATDATA; +pub type LPSTATDATA = *mut STATDATA; +extern "C" { + pub static IID_IEnumSTATDATA: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATDATAVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATDATA, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATDATA, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATDATA, ppenum: *mut *mut IEnumSTATDATA) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATDATAVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATDATAVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATDATAVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATDATA { + pub lpVtbl: *mut IEnumSTATDATAVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATA), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATDATA_RemoteNext_Proxy( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPROOTSTORAGE = *mut IRootStorage; +extern "C" { + pub static IID_IRootStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRootStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRootStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SwitchToFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRootStorage, pszFile: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRootStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IRootStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRootStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SwitchToFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(SwitchToFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRootStorage { + pub lpVtbl: *mut IRootStorageVtbl, +} +#[test] +fn bindgen_test_layout_IRootStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRootStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRootStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRootStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADVISESINK = *mut IAdviseSink; +pub const tagTYMED_TYMED_HGLOBAL: tagTYMED = 1; +pub const tagTYMED_TYMED_FILE: tagTYMED = 2; +pub const tagTYMED_TYMED_ISTREAM: tagTYMED = 4; +pub const tagTYMED_TYMED_ISTORAGE: tagTYMED = 8; +pub const tagTYMED_TYMED_GDI: tagTYMED = 16; +pub const tagTYMED_TYMED_MFPICT: tagTYMED = 32; +pub const tagTYMED_TYMED_ENHMF: tagTYMED = 64; +pub const tagTYMED_TYMED_NULL: tagTYMED = 0; +pub type tagTYMED = ::std::os::raw::c_int; +pub use self::tagTYMED as TYMED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemSTGMEDIUM { + pub tymed: DWORD, + pub dwHandleType: DWORD, + pub pData: ULONG, + pub pUnkForRelease: ULONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRemSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHandleType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(dwHandleType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(data) + ) + ); +} +pub type RemSTGMEDIUM = tagRemSTGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagSTGMEDIUM { + pub tymed: DWORD, + pub __bindgen_anon_1: tagSTGMEDIUM__bindgen_ty_1, + pub pUnkForRelease: *mut IUnknown, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagSTGMEDIUM__bindgen_ty_1 { + pub hBitmap: HBITMAP, + pub hMetaFilePict: HMETAFILEPICT, + pub hEnhMetaFile: HENHMETAFILE, + pub hGlobal: HGLOBAL, + pub lpszFileName: LPOLESTR, + pub pstm: *mut IStream, + pub pstg: *mut IStorage, +} +#[test] +fn bindgen_test_layout_tagSTGMEDIUM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTGMEDIUM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGMEDIUM__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBitmap) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hBitmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMetaFilePict) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hMetaFilePict) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEnhMetaFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hEnhMetaFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(lpszFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(pstm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(pstg) + ) + ); +} +#[test] +fn bindgen_test_layout_tagSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); +} +pub type uSTGMEDIUM = tagSTGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GDI_OBJECT { + pub ObjectType: DWORD, + pub u: _GDI_OBJECT___MIDL_IAdviseSink_0002, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GDI_OBJECT___MIDL_IAdviseSink_0002 { + pub hBitmap: wireHBITMAP, + pub hPalette: wireHPALETTE, + pub hGeneric: wireHGLOBAL, +} +#[test] +fn bindgen_test_layout__GDI_OBJECT___MIDL_IAdviseSink_0002() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_OBJECT___MIDL_IAdviseSink_0002> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_OBJECT___MIDL_IAdviseSink_0002>(), + 8usize, + concat!("Size of: ", stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_OBJECT___MIDL_IAdviseSink_0002>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBitmap) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hBitmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPalette) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hPalette) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGeneric) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hGeneric) + ) + ); +} +#[test] +fn bindgen_test_layout__GDI_OBJECT() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_OBJECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_OBJECT>(), + 16usize, + concat!("Size of: ", stringify!(_GDI_OBJECT)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_OBJECT>(), + 8usize, + concat!("Alignment of ", stringify!(_GDI_OBJECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT), + "::", + stringify!(u) + ) + ); +} +pub type GDI_OBJECT = _GDI_OBJECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userSTGMEDIUM { + pub __bindgen_padding_0: [u64; 2usize], + pub pUnkForRelease: *mut IUnknown, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userSTGMEDIUM__STGMEDIUM_UNION { + pub tymed: DWORD, + pub u: _userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003 { + pub hMetaFilePict: wireHMETAFILEPICT, + pub hHEnhMetaFile: wireHENHMETAFILE, + pub hGdiHandle: *mut GDI_OBJECT, + pub hGlobal: wireHGLOBAL, + pub lpszFileName: LPOLESTR, + pub pstm: *mut BYTE_BLOB, + pub pstg: *mut BYTE_BLOB, +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMetaFilePict) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hMetaFilePict) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hHEnhMetaFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hHEnhMetaFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGdiHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hGdiHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(lpszFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(pstm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(pstg) + ) + ); +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM__STGMEDIUM_UNION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM__STGMEDIUM_UNION>(), + 16usize, + concat!("Size of: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION)) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM__STGMEDIUM_UNION>(), + 8usize, + concat!("Alignment of ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), + "::", + stringify!(u) + ) + ); +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM>(), + 24usize, + concat!("Size of: ", stringify!(_userSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_userSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); +} +pub type userSTGMEDIUM = _userSTGMEDIUM; +pub type wireSTGMEDIUM = *mut userSTGMEDIUM; +pub type STGMEDIUM = uSTGMEDIUM; +pub type wireASYNC_STGMEDIUM = *mut userSTGMEDIUM; +pub type ASYNC_STGMEDIUM = STGMEDIUM; +pub type LPSTGMEDIUM = *mut STGMEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userFLAG_STGMEDIUM { + pub ContextFlags: LONG, + pub fPassOwnership: LONG, + pub Stgmed: userSTGMEDIUM, +} +#[test] +fn bindgen_test_layout__userFLAG_STGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_userFLAG_STGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userFLAG_STGMEDIUM>(), + 32usize, + concat!("Size of: ", stringify!(_userFLAG_STGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_userFLAG_STGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_userFLAG_STGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPassOwnership) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(fPassOwnership) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stgmed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(Stgmed) + ) + ); +} +pub type userFLAG_STGMEDIUM = _userFLAG_STGMEDIUM; +pub type wireFLAG_STGMEDIUM = *mut userFLAG_STGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FLAG_STGMEDIUM { + pub ContextFlags: LONG, + pub fPassOwnership: LONG, + pub Stgmed: STGMEDIUM, +} +#[test] +fn bindgen_test_layout__FLAG_STGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_FLAG_STGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAG_STGMEDIUM>(), + 32usize, + concat!("Size of: ", stringify!(_FLAG_STGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAG_STGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_FLAG_STGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPassOwnership) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(fPassOwnership) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stgmed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(Stgmed) + ) + ); +} +pub type FLAG_STGMEDIUM = _FLAG_STGMEDIUM; +extern "C" { + pub static IID_IAdviseSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG), + >, + pub OnRename: + ::std::option::Option, + pub OnSave: ::std::option::Option, + pub OnClose: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IAdviseSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IAdviseSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnViewChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRename) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSave) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnClose) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink { + pub lpVtbl: *mut IAdviseSinkVtbl, +} +#[test] +fn bindgen_test_layout_IAdviseSink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAdviseSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnDataChange_Proxy( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnViewChange_Proxy( + This: *mut IAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnRename_Proxy(This: *mut IAdviseSink, pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnSave_Proxy(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnClose_Proxy(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_AsyncIAdviseSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub Finish_OnDataChange: + ::std::option::Option, + pub Begin_OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink, dwAspect: DWORD, lindex: LONG), + >, + pub Finish_OnViewChange: + ::std::option::Option, + pub Begin_OnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink, pmk: *mut IMoniker), + >, + pub Finish_OnRename: ::std::option::Option, + pub Begin_OnSave: ::std::option::Option, + pub Finish_OnSave: ::std::option::Option, + pub Begin_OnClose: ::std::option::Option, + pub Finish_OnClose: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(AsyncIAdviseSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnDataChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnViewChange) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnViewChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnRename) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnRename) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnSave) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnSave) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnClose) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnClose) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink { + pub lpVtbl: *mut AsyncIAdviseSinkVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(This: *mut AsyncIAdviseSink) + -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(This: *mut AsyncIAdviseSink) + -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( + This: *mut AsyncIAdviseSink, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0073_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0073_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPADVISESINK2 = *mut IAdviseSink2; +extern "C" { + pub static IID_IAdviseSink2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink2, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAdviseSink2, dwAspect: DWORD, lindex: LONG), + >, + pub OnRename: + ::std::option::Option, + pub OnSave: ::std::option::Option, + pub OnClose: ::std::option::Option, + pub OnLinkSrcChange: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IAdviseSink2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IAdviseSink2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnViewChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRename) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSave) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnClose) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLinkSrcChange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnLinkSrcChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink2 { + pub lpVtbl: *mut IAdviseSink2Vtbl, +} +#[test] +fn bindgen_test_layout_IAdviseSink2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAdviseSink2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IAdviseSink2_RemoteOnLinkSrcChange_Proxy( + This: *mut IAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink2_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_AsyncIAdviseSink2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink2, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub Finish_OnDataChange: + ::std::option::Option, + pub Begin_OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, dwAspect: DWORD, lindex: LONG), + >, + pub Finish_OnViewChange: + ::std::option::Option, + pub Begin_OnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker), + >, + pub Finish_OnRename: ::std::option::Option, + pub Begin_OnSave: ::std::option::Option, + pub Finish_OnSave: ::std::option::Option, + pub Begin_OnClose: ::std::option::Option, + pub Finish_OnClose: ::std::option::Option, + pub Begin_OnLinkSrcChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker), + >, + pub Finish_OnLinkSrcChange: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnDataChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnViewChange) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnViewChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnRename) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnRename) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnSave) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnSave) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnClose) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnClose) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnLinkSrcChange) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnLinkSrcChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnLinkSrcChange) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnLinkSrcChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink2 { + pub lpVtbl: *mut AsyncIAdviseSink2Vtbl, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0074_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0074_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAOBJECT = *mut IDataObject; +pub const tagDATADIR_DATADIR_GET: tagDATADIR = 1; +pub const tagDATADIR_DATADIR_SET: tagDATADIR = 2; +pub type tagDATADIR = ::std::os::raw::c_int; +pub use self::tagDATADIR as DATADIR; +extern "C" { + pub static IID_IDataObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub GetDataHere: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub QueryGetData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataObject, pformatetc: *mut FORMATETC) -> HRESULT, + >, + pub GetCanonicalFormatEtc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatectIn: *mut FORMATETC, + pformatetcOut: *mut FORMATETC, + ) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, + pub EnumFormatEtc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + dwDirection: DWORD, + ppenumFormatEtc: *mut *mut IEnumFORMATETC, + ) -> HRESULT, + >, + pub DAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub DUnadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataObject, dwConnection: DWORD) -> HRESULT, + >, + pub EnumDAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IDataObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDataHere) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetDataHere) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryGetData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(QueryGetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCanonicalFormatEtc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetCanonicalFormatEtc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(SetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumFormatEtc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(EnumFormatEtc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DAdvise) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(DAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DUnadvise) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(DUnadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumDAdvise) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(EnumDAdvise) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataObject { + pub lpVtbl: *mut IDataObjectVtbl, +} +#[test] +fn bindgen_test_layout_IDataObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IDataObject_RemoteGetData_Proxy( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteGetData_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IDataObject_RemoteGetDataHere_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteGetDataHere_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IDataObject_RemoteSetData_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut FLAG_STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteSetData_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0075_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0075_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAADVISEHOLDER = *mut IDataAdviseHolder; +extern "C" { + pub static IID_IDataAdviseHolder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataAdviseHolderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + pDataObject: *mut IDataObject, + pFetc: *mut FORMATETC, + advf: DWORD, + pAdvise: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataAdviseHolder, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub SendOnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + pDataObject: *mut IDataObject, + dwReserved: DWORD, + advf: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataAdviseHolderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDataAdviseHolderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataAdviseHolderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnDataChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(SendOnDataChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataAdviseHolder { + pub lpVtbl: *mut IDataAdviseHolderVtbl, +} +#[test] +fn bindgen_test_layout_IDataAdviseHolder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataAdviseHolder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataAdviseHolder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolder), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMESSAGEFILTER = *mut IMessageFilter; +pub const tagCALLTYPE_CALLTYPE_TOPLEVEL: tagCALLTYPE = 1; +pub const tagCALLTYPE_CALLTYPE_NESTED: tagCALLTYPE = 2; +pub const tagCALLTYPE_CALLTYPE_ASYNC: tagCALLTYPE = 3; +pub const tagCALLTYPE_CALLTYPE_TOPLEVEL_CALLPENDING: tagCALLTYPE = 4; +pub const tagCALLTYPE_CALLTYPE_ASYNC_CALLPENDING: tagCALLTYPE = 5; +pub type tagCALLTYPE = ::std::os::raw::c_int; +pub use self::tagCALLTYPE as CALLTYPE; +pub const tagSERVERCALL_SERVERCALL_ISHANDLED: tagSERVERCALL = 0; +pub const tagSERVERCALL_SERVERCALL_REJECTED: tagSERVERCALL = 1; +pub const tagSERVERCALL_SERVERCALL_RETRYLATER: tagSERVERCALL = 2; +pub type tagSERVERCALL = ::std::os::raw::c_int; +pub use self::tagSERVERCALL as SERVERCALL; +pub const tagPENDINGTYPE_PENDINGTYPE_TOPLEVEL: tagPENDINGTYPE = 1; +pub const tagPENDINGTYPE_PENDINGTYPE_NESTED: tagPENDINGTYPE = 2; +pub type tagPENDINGTYPE = ::std::os::raw::c_int; +pub use self::tagPENDINGTYPE as PENDINGTYPE; +pub const tagPENDINGMSG_PENDINGMSG_CANCELCALL: tagPENDINGMSG = 0; +pub const tagPENDINGMSG_PENDINGMSG_WAITNOPROCESS: tagPENDINGMSG = 1; +pub const tagPENDINGMSG_PENDINGMSG_WAITDEFPROCESS: tagPENDINGMSG = 2; +pub type tagPENDINGMSG = ::std::os::raw::c_int; +pub use self::tagPENDINGMSG as PENDINGMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINTERFACEINFO { + pub pUnk: *mut IUnknown, + pub iid: IID, + pub wMethod: WORD, +} +#[test] +fn bindgen_test_layout_tagINTERFACEINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagINTERFACEINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINTERFACEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMethod) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(wMethod) + ) + ); +} +pub type INTERFACEINFO = tagINTERFACEINFO; +pub type LPINTERFACEINFO = *mut tagINTERFACEINFO; +extern "C" { + pub static IID_IMessageFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMessageFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub HandleInComingCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + dwCallType: DWORD, + htaskCaller: HTASK, + dwTickCount: DWORD, + lpInterfaceInfo: LPINTERFACEINFO, + ) -> DWORD, + >, + pub RetryRejectedCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + htaskCallee: HTASK, + dwTickCount: DWORD, + dwRejectType: DWORD, + ) -> DWORD, + >, + pub MessagePending: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + htaskCallee: HTASK, + dwTickCount: DWORD, + dwPendingType: DWORD, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout_IMessageFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IMessageFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMessageFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInComingCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(HandleInComingCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryRejectedCall) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(RetryRejectedCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MessagePending) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(MessagePending) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMessageFilter { + pub lpVtbl: *mut IMessageFilterVtbl, +} +#[test] +fn bindgen_test_layout_IMessageFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMessageFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMessageFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static FMTID_SummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_DocSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_UserDefinedProperties: FMTID; +} +extern "C" { + pub static FMTID_DiscardableInformation: FMTID; +} +extern "C" { + pub static FMTID_ImageSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_AudioSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_VideoSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_MediaFileSummaryInformation: FMTID; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0077_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0077_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IClassActivator: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassActivatorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassActivator, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassActivator, + rclsid: *const IID, + dwClassContext: DWORD, + locale: LCID, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClassActivatorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IClassActivatorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassActivatorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassObject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(GetClassObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassActivator { + pub lpVtbl: *mut IClassActivatorVtbl, +} +#[test] +fn bindgen_test_layout_IClassActivator() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClassActivator)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassActivator)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassActivator), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0078_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0078_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IFillLockBytes: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFillLockBytesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub FillAppend: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub FillAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub SetFillSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IFillLockBytes, ulSize: ULARGE_INTEGER) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IFillLockBytes, bCanceled: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IFillLockBytesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IFillLockBytesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFillLockBytesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FillAppend) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(FillAppend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FillAt) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(FillAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFillSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(SetFillSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(Terminate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFillLockBytes { + pub lpVtbl: *mut IFillLockBytesVtbl, +} +#[test] +fn bindgen_test_layout_IFillLockBytes() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IFillLockBytes)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFillLockBytes)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytes), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAppend_Proxy( + This: *mut IFillLockBytes, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAppend_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAt_Proxy( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0079_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0079_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IProgressNotify: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProgressNotifyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProgressNotify, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProgressNotify, + dwProgressCurrent: DWORD, + dwProgressMaximum: DWORD, + fAccurate: BOOL, + fOwner: BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IProgressNotifyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IProgressNotifyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProgressNotifyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(OnProgress) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProgressNotify { + pub lpVtbl: *mut IProgressNotifyVtbl, +} +#[test] +fn bindgen_test_layout_IProgressNotify() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProgressNotify)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProgressNotify)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotify), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0080_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0080_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagStorageLayout { + pub LayoutType: DWORD, + pub pwcsElementName: *mut OLECHAR, + pub cOffset: LARGE_INTEGER, + pub cBytes: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagStorageLayout() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagStorageLayout)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagStorageLayout)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayoutType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(LayoutType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsElementName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(pwcsElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(cOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(cBytes) + ) + ); +} +pub type StorageLayout = tagStorageLayout; +extern "C" { + pub static IID_ILayoutStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILayoutStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILayoutStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub LayoutScript: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILayoutStorage, + pStorageLayout: *mut StorageLayout, + nEntries: DWORD, + glfInterleavedFlag: DWORD, + ) -> HRESULT, + >, + pub BeginMonitor: + ::std::option::Option HRESULT>, + pub EndMonitor: + ::std::option::Option HRESULT>, + pub ReLayoutDocfile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILayoutStorage, pwcsNewDfName: *mut OLECHAR) -> HRESULT, + >, + pub ReLayoutDocfileOnILockBytes: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILayoutStorage, pILockBytes: *mut ILockBytes) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ILayoutStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ILayoutStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILayoutStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayoutScript) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(LayoutScript) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginMonitor) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(BeginMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndMonitor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(EndMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReLayoutDocfile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(ReLayoutDocfile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReLayoutDocfileOnILockBytes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(ReLayoutDocfileOnILockBytes) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILayoutStorage { + pub lpVtbl: *mut ILayoutStorageVtbl, +} +#[test] +fn bindgen_test_layout_ILayoutStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ILayoutStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILayoutStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0081_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0081_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IBlockingLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBlockingLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBlockingLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Lock: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBlockingLock, dwTimeout: DWORD) -> HRESULT, + >, + pub Unlock: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IBlockingLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IBlockingLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBlockingLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lock) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Lock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unlock) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Unlock) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBlockingLock { + pub lpVtbl: *mut IBlockingLockVtbl, +} +#[test] +fn bindgen_test_layout_IBlockingLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBlockingLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBlockingLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITimeAndNoticeControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITimeAndNoticeControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITimeAndNoticeControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SuppressChanges: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITimeAndNoticeControl, res1: DWORD, res2: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITimeAndNoticeControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITimeAndNoticeControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITimeAndNoticeControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuppressChanges) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(SuppressChanges) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITimeAndNoticeControl { + pub lpVtbl: *mut ITimeAndNoticeControlVtbl, +} +#[test] +fn bindgen_test_layout_ITimeAndNoticeControl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITimeAndNoticeControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITimeAndNoticeControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IOplockStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOplockStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateStorageEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + pwcsName: LPCWSTR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + riid: *const IID, + ppstgOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub OpenStorageEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + pwcsName: LPCWSTR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + riid: *const IID, + ppstgOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOplockStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOplockStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOplockStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStorageEx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(CreateStorageEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStorageEx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(OpenStorageEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOplockStorage { + pub lpVtbl: *mut IOplockStorageVtbl, +} +#[test] +fn bindgen_test_layout_IOplockStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOplockStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOplockStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0084_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0084_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IDirectWriterLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDirectWriterLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDirectWriterLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub WaitForWriteAccess: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDirectWriterLock, dwTimeout: DWORD) -> HRESULT, + >, + pub ReleaseWriteAccess: + ::std::option::Option HRESULT>, + pub HaveWriteAccess: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IDirectWriterLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IDirectWriterLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDirectWriterLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitForWriteAccess) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(WaitForWriteAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseWriteAccess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(ReleaseWriteAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HaveWriteAccess) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(HaveWriteAccess) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDirectWriterLock { + pub lpVtbl: *mut IDirectWriterLockVtbl, +} +#[test] +fn bindgen_test_layout_IDirectWriterLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDirectWriterLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDirectWriterLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0085_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0085_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IUrlMon: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUrlMonVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUrlMon, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AsyncGetClassBits: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUrlMon, + rclsid: *const IID, + pszTYPE: LPCWSTR, + pszExt: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + pszCodeBase: LPCWSTR, + pbc: *mut IBindCtx, + dwClassContext: DWORD, + riid: *const IID, + flags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUrlMonVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IUrlMonVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUrlMonVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsyncGetClassBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(AsyncGetClassBits) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUrlMon { + pub lpVtbl: *mut IUrlMonVtbl, +} +#[test] +fn bindgen_test_layout_IUrlMon() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUrlMon)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUrlMon)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUrlMon), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IForegroundTransfer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IForegroundTransferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IForegroundTransfer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AllowForegroundTransfer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IForegroundTransfer, + lpvReserved: *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IForegroundTransferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IForegroundTransferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IForegroundTransferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllowForegroundTransfer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(AllowForegroundTransfer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IForegroundTransfer { + pub lpVtbl: *mut IForegroundTransferVtbl, +} +#[test] +fn bindgen_test_layout_IForegroundTransfer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IForegroundTransfer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IForegroundTransfer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransfer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IThumbnailExtractor: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IThumbnailExtractorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IThumbnailExtractor, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ExtractThumbnail: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IThumbnailExtractor, + pStg: *mut IStorage, + ulLength: ULONG, + ulHeight: ULONG, + pulOutputLength: *mut ULONG, + pulOutputHeight: *mut ULONG, + phOutputBitmap: *mut HBITMAP, + ) -> HRESULT, + >, + pub OnFileUpdated: ::std::option::Option< + unsafe extern "C" fn(This: *mut IThumbnailExtractor, pStg: *mut IStorage) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IThumbnailExtractorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IThumbnailExtractorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IThumbnailExtractorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtractThumbnail) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(ExtractThumbnail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnFileUpdated) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(OnFileUpdated) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IThumbnailExtractor { + pub lpVtbl: *mut IThumbnailExtractorVtbl, +} +#[test] +fn bindgen_test_layout_IThumbnailExtractor() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IThumbnailExtractor)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IThumbnailExtractor)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractor), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IDummyHICONIncluder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDummyHICONIncluderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDummyHICONIncluder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Dummy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDummyHICONIncluder, h1: HICON, h2: HDC) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDummyHICONIncluderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IDummyHICONIncluderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDummyHICONIncluderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dummy) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(Dummy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDummyHICONIncluder { + pub lpVtbl: *mut IDummyHICONIncluderVtbl, +} +#[test] +fn bindgen_test_layout_IDummyHICONIncluder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDummyHICONIncluder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDummyHICONIncluder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluder), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagApplicationType_ServerApplication: tagApplicationType = 0; +pub const tagApplicationType_LibraryApplication: tagApplicationType = 1; +pub type tagApplicationType = ::std::os::raw::c_int; +pub use self::tagApplicationType as ApplicationType; +pub const tagShutdownType_IdleShutdown: tagShutdownType = 0; +pub const tagShutdownType_ForcedShutdown: tagShutdownType = 1; +pub type tagShutdownType = ::std::os::raw::c_int; +pub use self::tagShutdownType as ShutdownType; +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0089_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0089_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IProcessLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProcessLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AddRefOnProcess: + ::std::option::Option ULONG>, + pub ReleaseRefOnProcess: + ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IProcessLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IProcessLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefOnProcess) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(AddRefOnProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseRefOnProcess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(ReleaseRefOnProcess) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessLock { + pub lpVtbl: *mut IProcessLockVtbl, +} +#[test] +fn bindgen_test_layout_IProcessLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProcessLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISurrogateService: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateServiceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Init: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + rguidProcessID: *const GUID, + pProcessLock: *mut IProcessLock, + pfApplicationAware: *mut BOOL, + ) -> HRESULT, + >, + pub ApplicationLaunch: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + rguidApplID: *const GUID, + appType: ApplicationType, + ) -> HRESULT, + >, + pub ApplicationFree: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, rguidApplID: *const GUID) -> HRESULT, + >, + pub CatalogRefresh: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, ulReserved: ULONG) -> HRESULT, + >, + pub ProcessShutdown: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, shutdownType: ShutdownType) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISurrogateServiceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ISurrogateServiceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateServiceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Init) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(Init) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationLaunch) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ApplicationLaunch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ApplicationFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CatalogRefresh) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(CatalogRefresh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessShutdown) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ProcessShutdown) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateService { + pub lpVtbl: *mut ISurrogateServiceVtbl, +} +#[test] +fn bindgen_test_layout_ISurrogateService() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISurrogateService)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateService)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateService), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0091_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0091_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPINITIALIZESPY = *mut IInitializeSpy; +extern "C" { + pub static IID_IInitializeSpy: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInitializeSpyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PreInitialize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + dwCoInit: DWORD, + dwCurThreadAptRefs: DWORD, + ) -> HRESULT, + >, + pub PostInitialize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + hrCoInit: HRESULT, + dwCoInit: DWORD, + dwNewThreadAptRefs: DWORD, + ) -> HRESULT, + >, + pub PreUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInitializeSpy, dwCurThreadAptRefs: DWORD) -> HRESULT, + >, + pub PostUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInitializeSpy, dwNewThreadAptRefs: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInitializeSpyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInitializeSpyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInitializeSpyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreInitialize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PreInitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostInitialize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PostInitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreUninitialize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PreUninitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostUninitialize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PostUninitialize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInitializeSpy { + pub lpVtbl: *mut IInitializeSpyVtbl, +} +#[test] +fn bindgen_test_layout_IInitializeSpy() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInitializeSpy)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInitializeSpy)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpy), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0092_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0092_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IApartmentShutdown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IApartmentShutdownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IApartmentShutdown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IApartmentShutdown, ui64ApartmentIdentifier: UINT64), + >, +} +#[test] +fn bindgen_test_layout_IApartmentShutdownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IApartmentShutdownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IApartmentShutdownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUninitialize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(OnUninitialize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IApartmentShutdown { + pub lpVtbl: *mut IApartmentShutdownVtbl, +} +#[test] +fn bindgen_test_layout_IApartmentShutdown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IApartmentShutdown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IApartmentShutdown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0093_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0093_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ASYNC_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ASYNC_STGMEDIUM); +} +extern "C" { + pub fn CLIPFORMAT_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLIPFORMAT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLIPFORMAT_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut FLAG_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); +} +extern "C" { + pub fn HBITMAP_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HBITMAP, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HBITMAP_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); +} +extern "C" { + pub fn HDC_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HDC, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HDC_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); +} +extern "C" { + pub fn HICON_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HICON, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HICON_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); +} +extern "C" { + pub fn SNB_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut SNB, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn SNB_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); +} +extern "C" { + pub fn STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ASYNC_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserFree64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ASYNC_STGMEDIUM, + ); +} +extern "C" { + pub fn CLIPFORMAT_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLIPFORMAT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLIPFORMAT_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut FLAG_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); +} +extern "C" { + pub fn HBITMAP_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HBITMAP, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HBITMAP_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); +} +extern "C" { + pub fn HDC_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HDC, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HDC_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); +} +extern "C" { + pub fn HICON_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HICON, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HICON_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); +} +extern "C" { + pub fn SNB_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut SNB, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn SNB_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); +} +extern "C" { + pub fn STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); +} +extern "C" { + pub fn IBindCtx_SetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_SetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_GetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_GetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) + -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_Next_Proxy( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_Next_Stub( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IRunnableObject_IsRunning_Proxy(This: *mut IRunnableObject) -> BOOL; +} +extern "C" { + pub fn IRunnableObject_IsRunning_Stub(This: *mut IRunnableObject) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToObject_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToObject_Stub( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToStorage_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToStorage_Stub( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_Next_Proxy( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_Next_Stub( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_OpenStream_Proxy( + This: *mut IStorage, + pwcsName: *const OLECHAR, + reserved1: *mut ::std::os::raw::c_void, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_OpenStream_Stub( + This: *mut IStorage, + pwcsName: *const OLECHAR, + cbReserved1: ULONG, + reserved1: *mut byte, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_CopyTo_Proxy( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_CopyTo_Stub( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_EnumElements_Proxy( + This: *mut IStorage, + reserved1: DWORD, + reserved2: *mut ::std::os::raw::c_void, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_EnumElements_Stub( + This: *mut IStorage, + reserved1: DWORD, + cbReserved2: ULONG, + reserved2: *mut byte, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_ReadAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_ReadAt_Stub( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_WriteAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_WriteAt_Stub( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_Next_Proxy( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_Next_Stub( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_Next_Proxy( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_Next_Stub( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnDataChange_Proxy( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ); +} +extern "C" { + pub fn IAdviseSink_OnDataChange_Stub( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnViewChange_Proxy(This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG); +} +extern "C" { + pub fn IAdviseSink_OnViewChange_Stub( + This: *mut IAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnRename_Proxy(This: *mut IAdviseSink, pmk: *mut IMoniker); +} +extern "C" { + pub fn IAdviseSink_OnRename_Stub(This: *mut IAdviseSink, pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnSave_Proxy(This: *mut IAdviseSink); +} +extern "C" { + pub fn IAdviseSink_OnSave_Stub(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnClose_Proxy(This: *mut IAdviseSink); +} +extern "C" { + pub fn IAdviseSink_OnClose_Stub(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnDataChange_Proxy( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnDataChange_Stub( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnDataChange_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnDataChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnViewChange_Proxy( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnViewChange_Stub( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnViewChange_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnViewChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnRename_Proxy(This: *mut AsyncIAdviseSink, pmk: *mut IMoniker); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnRename_Stub( + This: *mut AsyncIAdviseSink, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnRename_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnRename_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnSave_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnSave_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnClose_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnClose_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink2_OnLinkSrcChange_Proxy(This: *mut IAdviseSink2, pmk: *mut IMoniker); +} +extern "C" { + pub fn IAdviseSink2_OnLinkSrcChange_Stub( + This: *mut IAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(This: *mut AsyncIAdviseSink2); +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(This: *mut AsyncIAdviseSink2) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetData_Proxy( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetData_Stub( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetDataHere_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetDataHere_Stub( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_SetData_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_SetData_Stub( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut FLAG_STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAppend_Proxy( + This: *mut IFillLockBytes, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAppend_Stub( + This: *mut IFillLockBytes, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAt_Proxy( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAt_Stub( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type CURRENCY = CY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSAFEARRAYBOUND { + pub cElements: ULONG, + pub lLbound: LONG, +} +#[test] +fn bindgen_test_layout_tagSAFEARRAYBOUND() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSAFEARRAYBOUND)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSAFEARRAYBOUND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElements) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAYBOUND), + "::", + stringify!(cElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLbound) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAYBOUND), + "::", + stringify!(lLbound) + ) + ); +} +pub type SAFEARRAYBOUND = tagSAFEARRAYBOUND; +pub type LPSAFEARRAYBOUND = *mut tagSAFEARRAYBOUND; +pub type wireVARIANT = *mut _wireVARIANT; +pub type wireBRECORD = *mut _wireBRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_BSTR { + pub Size: ULONG, + pub aBstr: *mut wireBSTR, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_BSTR() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_BSTR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_BSTR>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_BSTR)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_BSTR>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_BSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BSTR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aBstr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BSTR), + "::", + stringify!(aBstr) + ) + ); +} +pub type SAFEARR_BSTR = _wireSAFEARR_BSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_UNKNOWN { + pub Size: ULONG, + pub apUnknown: *mut *mut IUnknown, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_UNKNOWN() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_UNKNOWN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_UNKNOWN>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_UNKNOWN)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_UNKNOWN>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_UNKNOWN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_UNKNOWN), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apUnknown) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_UNKNOWN), + "::", + stringify!(apUnknown) + ) + ); +} +pub type SAFEARR_UNKNOWN = _wireSAFEARR_UNKNOWN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_DISPATCH { + pub Size: ULONG, + pub apDispatch: *mut *mut IDispatch, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_DISPATCH() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_DISPATCH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_DISPATCH>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_DISPATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_DISPATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_DISPATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_DISPATCH), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apDispatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_DISPATCH), + "::", + stringify!(apDispatch) + ) + ); +} +pub type SAFEARR_DISPATCH = _wireSAFEARR_DISPATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_VARIANT { + pub Size: ULONG, + pub aVariant: *mut wireVARIANT, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_VARIANT() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_VARIANT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_VARIANT>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_VARIANT)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_VARIANT>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_VARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_VARIANT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aVariant) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_VARIANT), + "::", + stringify!(aVariant) + ) + ); +} +pub type SAFEARR_VARIANT = _wireSAFEARR_VARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_BRECORD { + pub Size: ULONG, + pub aRecord: *mut wireBRECORD, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_BRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_BRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_BRECORD>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_BRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_BRECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_BRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BRECORD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BRECORD), + "::", + stringify!(aRecord) + ) + ); +} +pub type SAFEARR_BRECORD = _wireSAFEARR_BRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_HAVEIID { + pub Size: ULONG, + pub apUnknown: *mut *mut IUnknown, + pub iid: IID, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_HAVEIID() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_HAVEIID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_HAVEIID>(), + 32usize, + concat!("Size of: ", stringify!(_wireSAFEARR_HAVEIID)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_HAVEIID>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_HAVEIID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apUnknown) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(apUnknown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(iid) + ) + ); +} +pub type SAFEARR_HAVEIID = _wireSAFEARR_HAVEIID; +pub const tagSF_TYPE_SF_ERROR: tagSF_TYPE = 10; +pub const tagSF_TYPE_SF_I1: tagSF_TYPE = 16; +pub const tagSF_TYPE_SF_I2: tagSF_TYPE = 2; +pub const tagSF_TYPE_SF_I4: tagSF_TYPE = 3; +pub const tagSF_TYPE_SF_I8: tagSF_TYPE = 20; +pub const tagSF_TYPE_SF_BSTR: tagSF_TYPE = 8; +pub const tagSF_TYPE_SF_UNKNOWN: tagSF_TYPE = 13; +pub const tagSF_TYPE_SF_DISPATCH: tagSF_TYPE = 9; +pub const tagSF_TYPE_SF_VARIANT: tagSF_TYPE = 12; +pub const tagSF_TYPE_SF_RECORD: tagSF_TYPE = 36; +pub const tagSF_TYPE_SF_HAVEIID: tagSF_TYPE = 32781; +pub type tagSF_TYPE = ::std::os::raw::c_int; +pub use self::tagSF_TYPE as SF_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireSAFEARRAY_UNION { + pub sfType: ULONG, + pub u: _wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001 { + pub BstrStr: SAFEARR_BSTR, + pub UnknownStr: SAFEARR_UNKNOWN, + pub DispatchStr: SAFEARR_DISPATCH, + pub VariantStr: SAFEARR_VARIANT, + pub RecordStr: SAFEARR_BRECORD, + pub HaveIidStr: SAFEARR_HAVEIID, + pub ByteStr: BYTE_SIZEDARR, + pub WordStr: WORD_SIZEDARR, + pub LongStr: DWORD_SIZEDARR, + pub HyperStr: HYPER_SIZEDARR, +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>(), + 32usize, + concat!( + "Size of: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BstrStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(BstrStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnknownStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(UnknownStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(DispatchStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VariantStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(VariantStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(RecordStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HaveIidStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(HaveIidStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(ByteStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WordStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(WordStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(LongStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HyperStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(HyperStr) + ) + ); +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY_UNION() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY_UNION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY_UNION>(), + 40usize, + concat!("Size of: ", stringify!(_wireSAFEARRAY_UNION)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY_UNION>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARRAY_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sfType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION), + "::", + stringify!(sfType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION), + "::", + stringify!(u) + ) + ); +} +pub type SAFEARRAYUNION = _wireSAFEARRAY_UNION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireSAFEARRAY { + pub cDims: USHORT, + pub fFeatures: USHORT, + pub cbElements: ULONG, + pub cLocks: ULONG, + pub uArrayStructs: SAFEARRAYUNION, + pub rgsabound: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY>(), + 64usize, + concat!("Size of: ", stringify!(_wireSAFEARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFeatures) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(fFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cbElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cLocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uArrayStructs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(uArrayStructs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgsabound) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(rgsabound) + ) + ); +} +pub type wireSAFEARRAY = *mut _wireSAFEARRAY; +pub type wirePSAFEARRAY = *mut wireSAFEARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSAFEARRAY { + pub cDims: USHORT, + pub fFeatures: USHORT, + pub cbElements: ULONG, + pub cLocks: ULONG, + pub pvData: PVOID, + pub rgsabound: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout_tagSAFEARRAY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagSAFEARRAY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSAFEARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFeatures) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(fFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cbElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cLocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(pvData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgsabound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(rgsabound) + ) + ); +} +pub type SAFEARRAY = tagSAFEARRAY; +pub type LPSAFEARRAY = *mut SAFEARRAY; +pub type VARIANT = tagVARIANT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARIANT { + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARIANT__bindgen_ty_1 { + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1, + pub decVal: DECIMAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARIANT__bindgen_ty_1__bindgen_ty_1 { + pub vt: VARTYPE, + pub wReserved1: WORD, + pub wReserved2: WORD, + pub wReserved3: WORD, + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub llVal: LONGLONG, + pub lVal: LONG, + pub bVal: BYTE, + pub iVal: SHORT, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub __OBSOLETE__VARIANT_BOOL: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub bstrVal: BSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub parray: *mut SAFEARRAY, + pub pbVal: *mut BYTE, + pub piVal: *mut SHORT, + pub plVal: *mut LONG, + pub pllVal: *mut LONGLONG, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub __OBSOLETE__VARIANT_PBOOL: *mut VARIANT_BOOL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut BSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut *mut SAFEARRAY, + pub pvarVal: *mut VARIANT, + pub byref: PVOID, + pub cVal: CHAR, + pub uiVal: USHORT, + pub ulVal: ULONG, + pub ullVal: ULONGLONG, + pub intVal: INT, + pub uintVal: UINT, + pub pdecVal: *mut DECIMAL, + pub pcVal: *mut CHAR, + pub puiVal: *mut USHORT, + pub pulVal: *mut ULONG, + pub pullVal: *mut ULONGLONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub pvRecord: PVOID, + pub pRecInfo: *mut IRecordInfo, +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pRecInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).llVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(llVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_BOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_BOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pllVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pllVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_PBOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_PBOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).byref) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(byref) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved3) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARIANT)) + ); +} +pub type LPVARIANT = *mut VARIANT; +pub type VARIANTARG = VARIANT; +pub type LPVARIANTARG = *mut VARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireBRECORD { + pub fFlags: ULONG, + pub clSize: ULONG, + pub pRecInfo: *mut IRecordInfo, + pub pRecord: *mut byte, +} +#[test] +fn bindgen_test_layout__wireBRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_wireBRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireBRECORD>(), + 24usize, + concat!("Size of: ", stringify!(_wireBRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_wireBRECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_wireBRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(pRecInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecord) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(pRecord) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireVARIANT { + pub clSize: DWORD, + pub rpcReserved: DWORD, + pub vt: USHORT, + pub wReserved1: USHORT, + pub wReserved2: USHORT, + pub wReserved3: USHORT, + pub __bindgen_anon_1: _wireVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _wireVARIANT__bindgen_ty_1 { + pub llVal: LONGLONG, + pub lVal: LONG, + pub bVal: BYTE, + pub iVal: SHORT, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub bstrVal: wireBSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub parray: wirePSAFEARRAY, + pub brecVal: wireBRECORD, + pub pbVal: *mut BYTE, + pub piVal: *mut SHORT, + pub plVal: *mut LONG, + pub pllVal: *mut LONGLONG, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut wireBSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut wirePSAFEARRAY, + pub pvarVal: *mut wireVARIANT, + pub cVal: CHAR, + pub uiVal: USHORT, + pub ulVal: ULONG, + pub ullVal: ULONGLONG, + pub intVal: INT, + pub uintVal: UINT, + pub decVal: DECIMAL, + pub pdecVal: *mut DECIMAL, + pub pcVal: *mut CHAR, + pub puiVal: *mut USHORT, + pub pulVal: *mut ULONG, + pub pullVal: *mut ULONGLONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, +} +#[test] +fn bindgen_test_layout__wireVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_wireVARIANT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireVARIANT__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_wireVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_wireVARIANT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_wireVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).llVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(llVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).brecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(brecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pllVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pllVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); +} +#[test] +fn bindgen_test_layout__wireVARIANT() { + const UNINIT: ::std::mem::MaybeUninit<_wireVARIANT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireVARIANT>(), + 32usize, + concat!("Size of: ", stringify!(_wireVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::<_wireVARIANT>(), + 8usize, + concat!("Alignment of ", stringify!(_wireVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rpcReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(rpcReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved3) + ) + ); +} +pub type DISPID = LONG; +pub type MEMBERID = DISPID; +pub type HREFTYPE = DWORD; +pub const tagTYPEKIND_TKIND_ENUM: tagTYPEKIND = 0; +pub const tagTYPEKIND_TKIND_RECORD: tagTYPEKIND = 1; +pub const tagTYPEKIND_TKIND_MODULE: tagTYPEKIND = 2; +pub const tagTYPEKIND_TKIND_INTERFACE: tagTYPEKIND = 3; +pub const tagTYPEKIND_TKIND_DISPATCH: tagTYPEKIND = 4; +pub const tagTYPEKIND_TKIND_COCLASS: tagTYPEKIND = 5; +pub const tagTYPEKIND_TKIND_ALIAS: tagTYPEKIND = 6; +pub const tagTYPEKIND_TKIND_UNION: tagTYPEKIND = 7; +pub const tagTYPEKIND_TKIND_MAX: tagTYPEKIND = 8; +pub type tagTYPEKIND = ::std::os::raw::c_int; +pub use self::tagTYPEKIND as TYPEKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagTYPEDESC { + pub __bindgen_anon_1: tagTYPEDESC__bindgen_ty_1, + pub vt: VARTYPE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagTYPEDESC__bindgen_ty_1 { + pub lptdesc: *mut tagTYPEDESC, + pub lpadesc: *mut tagARRAYDESC, + pub hreftype: HREFTYPE, +} +#[test] +fn bindgen_test_layout_tagTYPEDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagTYPEDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lptdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(lptdesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpadesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(lpadesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hreftype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(hreftype) + ) + ); +} +#[test] +fn bindgen_test_layout_tagTYPEDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTYPEDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC), + "::", + stringify!(vt) + ) + ); +} +pub type TYPEDESC = tagTYPEDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagARRAYDESC { + pub tdescElem: TYPEDESC, + pub cDims: USHORT, + pub rgbounds: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout_tagARRAYDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagARRAYDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagARRAYDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdescElem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(tdescElem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbounds) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(rgbounds) + ) + ); +} +pub type ARRAYDESC = tagARRAYDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPARAMDESCEX { + pub cBytes: ULONG, + pub varDefaultValue: VARIANTARG, +} +#[test] +fn bindgen_test_layout_tagPARAMDESCEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagPARAMDESCEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDESCEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESCEX), + "::", + stringify!(cBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varDefaultValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESCEX), + "::", + stringify!(varDefaultValue) + ) + ); +} +pub type PARAMDESCEX = tagPARAMDESCEX; +pub type LPPARAMDESCEX = *mut tagPARAMDESCEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPARAMDESC { + pub pparamdescex: LPPARAMDESCEX, + pub wParamFlags: USHORT, +} +#[test] +fn bindgen_test_layout_tagPARAMDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPARAMDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparamdescex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESC), + "::", + stringify!(pparamdescex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESC), + "::", + stringify!(wParamFlags) + ) + ); +} +pub type PARAMDESC = tagPARAMDESC; +pub type LPPARAMDESC = *mut tagPARAMDESC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagIDLDESC { + pub dwReserved: ULONG_PTR, + pub wIDLFlags: USHORT, +} +#[test] +fn bindgen_test_layout_tagIDLDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagIDLDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagIDLDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagIDLDESC), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wIDLFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagIDLDESC), + "::", + stringify!(wIDLFlags) + ) + ); +} +pub type IDLDESC = tagIDLDESC; +pub type LPIDLDESC = *mut tagIDLDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagELEMDESC { + pub tdesc: TYPEDESC, + pub __bindgen_anon_1: tagELEMDESC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagELEMDESC__bindgen_ty_1 { + pub idldesc: IDLDESC, + pub paramdesc: PARAMDESC, +} +#[test] +fn bindgen_test_layout_tagELEMDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagELEMDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagELEMDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idldesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC__bindgen_ty_1), + "::", + stringify!(idldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC__bindgen_ty_1), + "::", + stringify!(paramdesc) + ) + ); +} +#[test] +fn bindgen_test_layout_tagELEMDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagELEMDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagELEMDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC), + "::", + stringify!(tdesc) + ) + ); +} +pub type ELEMDESC = tagELEMDESC; +pub type LPELEMDESC = *mut tagELEMDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagTYPEATTR { + pub guid: GUID, + pub lcid: LCID, + pub dwReserved: DWORD, + pub memidConstructor: MEMBERID, + pub memidDestructor: MEMBERID, + pub lpstrSchema: LPOLESTR, + pub cbSizeInstance: ULONG, + pub typekind: TYPEKIND, + pub cFuncs: WORD, + pub cVars: WORD, + pub cImplTypes: WORD, + pub cbSizeVft: WORD, + pub cbAlignment: WORD, + pub wTypeFlags: WORD, + pub wMajorVerNum: WORD, + pub wMinorVerNum: WORD, + pub tdescAlias: TYPEDESC, + pub idldescType: IDLDESC, +} +#[test] +fn bindgen_test_layout_tagTYPEATTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagTYPEATTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(lcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memidConstructor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(memidConstructor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memidDestructor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(memidDestructor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSchema) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(lpstrSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSizeInstance) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbSizeInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).typekind) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(typekind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFuncs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cFuncs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVars) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cVars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cImplTypes) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cImplTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSizeVft) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbSizeVft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlignment) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTypeFlags) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMajorVerNum) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wMajorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinorVerNum) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wMinorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdescAlias) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(tdescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idldescType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(idldescType) + ) + ); +} +pub type TYPEATTR = tagTYPEATTR; +pub type LPTYPEATTR = *mut tagTYPEATTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDISPPARAMS { + pub rgvarg: *mut VARIANTARG, + pub rgdispidNamedArgs: *mut DISPID, + pub cArgs: UINT, + pub cNamedArgs: UINT, +} +#[test] +fn bindgen_test_layout_tagDISPPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagDISPPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDISPPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgvarg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(rgvarg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdispidNamedArgs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(rgdispidNamedArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cArgs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(cArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cNamedArgs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(cNamedArgs) + ) + ); +} +pub type DISPPARAMS = tagDISPPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXCEPINFO { + pub wCode: WORD, + pub wReserved: WORD, + pub bstrSource: BSTR, + pub bstrDescription: BSTR, + pub bstrHelpFile: BSTR, + pub dwHelpContext: DWORD, + pub pvReserved: PVOID, + pub pfnDeferredFillIn: + ::std::option::Option HRESULT>, + pub scode: SCODE, +} +#[test] +fn bindgen_test_layout_tagEXCEPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagEXCEPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEXCEPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(wCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrHelpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHelpContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(dwHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDeferredFillIn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(pfnDeferredFillIn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(scode) + ) + ); +} +pub type EXCEPINFO = tagEXCEPINFO; +pub type LPEXCEPINFO = *mut tagEXCEPINFO; +pub const tagCALLCONV_CC_FASTCALL: tagCALLCONV = 0; +pub const tagCALLCONV_CC_CDECL: tagCALLCONV = 1; +pub const tagCALLCONV_CC_MSCPASCAL: tagCALLCONV = 2; +pub const tagCALLCONV_CC_PASCAL: tagCALLCONV = 2; +pub const tagCALLCONV_CC_MACPASCAL: tagCALLCONV = 3; +pub const tagCALLCONV_CC_STDCALL: tagCALLCONV = 4; +pub const tagCALLCONV_CC_FPFASTCALL: tagCALLCONV = 5; +pub const tagCALLCONV_CC_SYSCALL: tagCALLCONV = 6; +pub const tagCALLCONV_CC_MPWCDECL: tagCALLCONV = 7; +pub const tagCALLCONV_CC_MPWPASCAL: tagCALLCONV = 8; +pub const tagCALLCONV_CC_MAX: tagCALLCONV = 9; +pub type tagCALLCONV = ::std::os::raw::c_int; +pub use self::tagCALLCONV as CALLCONV; +pub const tagFUNCKIND_FUNC_VIRTUAL: tagFUNCKIND = 0; +pub const tagFUNCKIND_FUNC_PUREVIRTUAL: tagFUNCKIND = 1; +pub const tagFUNCKIND_FUNC_NONVIRTUAL: tagFUNCKIND = 2; +pub const tagFUNCKIND_FUNC_STATIC: tagFUNCKIND = 3; +pub const tagFUNCKIND_FUNC_DISPATCH: tagFUNCKIND = 4; +pub type tagFUNCKIND = ::std::os::raw::c_int; +pub use self::tagFUNCKIND as FUNCKIND; +pub const tagINVOKEKIND_INVOKE_FUNC: tagINVOKEKIND = 1; +pub const tagINVOKEKIND_INVOKE_PROPERTYGET: tagINVOKEKIND = 2; +pub const tagINVOKEKIND_INVOKE_PROPERTYPUT: tagINVOKEKIND = 4; +pub const tagINVOKEKIND_INVOKE_PROPERTYPUTREF: tagINVOKEKIND = 8; +pub type tagINVOKEKIND = ::std::os::raw::c_int; +pub use self::tagINVOKEKIND as INVOKEKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagFUNCDESC { + pub memid: MEMBERID, + pub lprgscode: *mut SCODE, + pub lprgelemdescParam: *mut ELEMDESC, + pub funckind: FUNCKIND, + pub invkind: INVOKEKIND, + pub callconv: CALLCONV, + pub cParams: SHORT, + pub cParamsOpt: SHORT, + pub oVft: SHORT, + pub cScodes: SHORT, + pub elemdescFunc: ELEMDESC, + pub wFuncFlags: WORD, +} +#[test] +fn bindgen_test_layout_tagFUNCDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(tagFUNCDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFUNCDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(memid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lprgscode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(lprgscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lprgelemdescParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(lprgelemdescParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).funckind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(funckind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).invkind) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(invkind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).callconv) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(callconv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cParams) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cParamsOpt) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cParamsOpt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).oVft) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(oVft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cScodes) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cScodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elemdescFunc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(elemdescFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFuncFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(wFuncFlags) + ) + ); +} +pub type FUNCDESC = tagFUNCDESC; +pub type LPFUNCDESC = *mut tagFUNCDESC; +pub const tagVARKIND_VAR_PERINSTANCE: tagVARKIND = 0; +pub const tagVARKIND_VAR_STATIC: tagVARKIND = 1; +pub const tagVARKIND_VAR_CONST: tagVARKIND = 2; +pub const tagVARKIND_VAR_DISPATCH: tagVARKIND = 3; +pub type tagVARKIND = ::std::os::raw::c_int; +pub use self::tagVARKIND as VARKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARDESC { + pub memid: MEMBERID, + pub lpstrSchema: LPOLESTR, + pub __bindgen_anon_1: tagVARDESC__bindgen_ty_1, + pub elemdescVar: ELEMDESC, + pub wVarFlags: WORD, + pub varkind: VARKIND, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARDESC__bindgen_ty_1 { + pub oInst: ULONG, + pub lpvarValue: *mut VARIANT, +} +#[test] +fn bindgen_test_layout_tagVARDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagVARDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).oInst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC__bindgen_ty_1), + "::", + stringify!(oInst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpvarValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC__bindgen_ty_1), + "::", + stringify!(lpvarValue) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagVARDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(memid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(lpstrSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elemdescVar) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(elemdescVar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVarFlags) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(wVarFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varkind) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(varkind) + ) + ); +} +pub type VARDESC = tagVARDESC; +pub type LPVARDESC = *mut tagVARDESC; +pub const tagTYPEFLAGS_TYPEFLAG_FAPPOBJECT: tagTYPEFLAGS = 1; +pub const tagTYPEFLAGS_TYPEFLAG_FCANCREATE: tagTYPEFLAGS = 2; +pub const tagTYPEFLAGS_TYPEFLAG_FLICENSED: tagTYPEFLAGS = 4; +pub const tagTYPEFLAGS_TYPEFLAG_FPREDECLID: tagTYPEFLAGS = 8; +pub const tagTYPEFLAGS_TYPEFLAG_FHIDDEN: tagTYPEFLAGS = 16; +pub const tagTYPEFLAGS_TYPEFLAG_FCONTROL: tagTYPEFLAGS = 32; +pub const tagTYPEFLAGS_TYPEFLAG_FDUAL: tagTYPEFLAGS = 64; +pub const tagTYPEFLAGS_TYPEFLAG_FNONEXTENSIBLE: tagTYPEFLAGS = 128; +pub const tagTYPEFLAGS_TYPEFLAG_FOLEAUTOMATION: tagTYPEFLAGS = 256; +pub const tagTYPEFLAGS_TYPEFLAG_FRESTRICTED: tagTYPEFLAGS = 512; +pub const tagTYPEFLAGS_TYPEFLAG_FAGGREGATABLE: tagTYPEFLAGS = 1024; +pub const tagTYPEFLAGS_TYPEFLAG_FREPLACEABLE: tagTYPEFLAGS = 2048; +pub const tagTYPEFLAGS_TYPEFLAG_FDISPATCHABLE: tagTYPEFLAGS = 4096; +pub const tagTYPEFLAGS_TYPEFLAG_FREVERSEBIND: tagTYPEFLAGS = 8192; +pub const tagTYPEFLAGS_TYPEFLAG_FPROXY: tagTYPEFLAGS = 16384; +pub type tagTYPEFLAGS = ::std::os::raw::c_int; +pub use self::tagTYPEFLAGS as TYPEFLAGS; +pub const tagFUNCFLAGS_FUNCFLAG_FRESTRICTED: tagFUNCFLAGS = 1; +pub const tagFUNCFLAGS_FUNCFLAG_FSOURCE: tagFUNCFLAGS = 2; +pub const tagFUNCFLAGS_FUNCFLAG_FBINDABLE: tagFUNCFLAGS = 4; +pub const tagFUNCFLAGS_FUNCFLAG_FREQUESTEDIT: tagFUNCFLAGS = 8; +pub const tagFUNCFLAGS_FUNCFLAG_FDISPLAYBIND: tagFUNCFLAGS = 16; +pub const tagFUNCFLAGS_FUNCFLAG_FDEFAULTBIND: tagFUNCFLAGS = 32; +pub const tagFUNCFLAGS_FUNCFLAG_FHIDDEN: tagFUNCFLAGS = 64; +pub const tagFUNCFLAGS_FUNCFLAG_FUSESGETLASTERROR: tagFUNCFLAGS = 128; +pub const tagFUNCFLAGS_FUNCFLAG_FDEFAULTCOLLELEM: tagFUNCFLAGS = 256; +pub const tagFUNCFLAGS_FUNCFLAG_FUIDEFAULT: tagFUNCFLAGS = 512; +pub const tagFUNCFLAGS_FUNCFLAG_FNONBROWSABLE: tagFUNCFLAGS = 1024; +pub const tagFUNCFLAGS_FUNCFLAG_FREPLACEABLE: tagFUNCFLAGS = 2048; +pub const tagFUNCFLAGS_FUNCFLAG_FIMMEDIATEBIND: tagFUNCFLAGS = 4096; +pub type tagFUNCFLAGS = ::std::os::raw::c_int; +pub use self::tagFUNCFLAGS as FUNCFLAGS; +pub const tagVARFLAGS_VARFLAG_FREADONLY: tagVARFLAGS = 1; +pub const tagVARFLAGS_VARFLAG_FSOURCE: tagVARFLAGS = 2; +pub const tagVARFLAGS_VARFLAG_FBINDABLE: tagVARFLAGS = 4; +pub const tagVARFLAGS_VARFLAG_FREQUESTEDIT: tagVARFLAGS = 8; +pub const tagVARFLAGS_VARFLAG_FDISPLAYBIND: tagVARFLAGS = 16; +pub const tagVARFLAGS_VARFLAG_FDEFAULTBIND: tagVARFLAGS = 32; +pub const tagVARFLAGS_VARFLAG_FHIDDEN: tagVARFLAGS = 64; +pub const tagVARFLAGS_VARFLAG_FRESTRICTED: tagVARFLAGS = 128; +pub const tagVARFLAGS_VARFLAG_FDEFAULTCOLLELEM: tagVARFLAGS = 256; +pub const tagVARFLAGS_VARFLAG_FUIDEFAULT: tagVARFLAGS = 512; +pub const tagVARFLAGS_VARFLAG_FNONBROWSABLE: tagVARFLAGS = 1024; +pub const tagVARFLAGS_VARFLAG_FREPLACEABLE: tagVARFLAGS = 2048; +pub const tagVARFLAGS_VARFLAG_FIMMEDIATEBIND: tagVARFLAGS = 4096; +pub type tagVARFLAGS = ::std::os::raw::c_int; +pub use self::tagVARFLAGS as VARFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLEANLOCALSTORAGE { + pub pInterface: *mut IUnknown, + pub pStorage: PVOID, + pub flags: DWORD, +} +#[test] +fn bindgen_test_layout_tagCLEANLOCALSTORAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCLEANLOCALSTORAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLEANLOCALSTORAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(pInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStorage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(pStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(flags) + ) + ); +} +pub type CLEANLOCALSTORAGE = tagCLEANLOCALSTORAGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagCUSTDATAITEM { + pub guid: GUID, + pub varValue: VARIANTARG, +} +#[test] +fn bindgen_test_layout_tagCUSTDATAITEM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagCUSTDATAITEM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCUSTDATAITEM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATAITEM), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATAITEM), + "::", + stringify!(varValue) + ) + ); +} +pub type CUSTDATAITEM = tagCUSTDATAITEM; +pub type LPCUSTDATAITEM = *mut tagCUSTDATAITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCUSTDATA { + pub cCustData: DWORD, + pub prgCustData: LPCUSTDATAITEM, +} +#[test] +fn bindgen_test_layout_tagCUSTDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCUSTDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCUSTDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCustData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATA), + "::", + stringify!(cCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).prgCustData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATA), + "::", + stringify!(prgCustData) + ) + ); +} +pub type CUSTDATA = tagCUSTDATA; +pub type LPCUSTDATA = *mut tagCUSTDATA; +extern "C" { + pub static mut IOleAutomationTypes_v1_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IOleAutomationTypes_v1_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCREATETYPEINFO = *mut ICreateTypeInfo; +extern "C" { + pub static IID_ICreateTypeInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, guid: *const GUID) -> HRESULT, + >, + pub SetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, uTypeFlags: UINT) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pStrDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub AddRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + pTInfo: *mut ITypeInfo, + phRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub AddFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + pFuncDesc: *mut FUNCDESC, + ) -> HRESULT, + >, + pub AddImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + hRefType: HREFTYPE, + ) -> HRESULT, + >, + pub SetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + implTypeFlags: INT, + ) -> HRESULT, + >, + pub SetAlignment: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, cbAlignment: WORD) -> HRESULT, + >, + pub SetSchema: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pStrSchema: LPOLESTR) -> HRESULT, + >, + pub AddVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + pVarDesc: *mut VARDESC, + ) -> HRESULT, + >, + pub SetFuncAndParamNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + rgszNames: *mut LPOLESTR, + cNames: UINT, + ) -> HRESULT, + >, + pub SetVarName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, index: UINT, szName: LPOLESTR) -> HRESULT, + >, + pub SetTypeDescAlias: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pTDescAlias: *mut TYPEDESC) -> HRESULT, + >, + pub DefineFuncAsDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDllName: LPOLESTR, + szProcName: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetVarDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetVarHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetMops: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, index: UINT, bstrMops: BSTR) -> HRESULT, + >, + pub SetTypeIdldesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pIdlDesc: *mut IDLDESC) -> HRESULT, + >, + pub LayOut: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(ICreateTypeInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefTypeInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddFuncDesc) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddImplType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAlignment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchema) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddVarDesc) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncAndParamNames) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncAndParamNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeDescAlias) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeDescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefineFuncAsDllEntry) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(DefineFuncAsDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncDocString) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarDocString) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpContext) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpContext) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMops) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeIdldesc) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeIdldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayOut) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(LayOut) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo { + pub lpVtbl: *mut ICreateTypeInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPEINFO2 = *mut ICreateTypeInfo2; +extern "C" { + pub static IID_ICreateTypeInfo2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, guid: *const GUID) -> HRESULT, + >, + pub SetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, uTypeFlags: UINT) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pStrDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub AddRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + pTInfo: *mut ITypeInfo, + phRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub AddFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + pFuncDesc: *mut FUNCDESC, + ) -> HRESULT, + >, + pub AddImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + hRefType: HREFTYPE, + ) -> HRESULT, + >, + pub SetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + implTypeFlags: INT, + ) -> HRESULT, + >, + pub SetAlignment: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, cbAlignment: WORD) -> HRESULT, + >, + pub SetSchema: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pStrSchema: LPOLESTR) -> HRESULT, + >, + pub AddVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + pVarDesc: *mut VARDESC, + ) -> HRESULT, + >, + pub SetFuncAndParamNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + rgszNames: *mut LPOLESTR, + cNames: UINT, + ) -> HRESULT, + >, + pub SetVarName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT, szName: LPOLESTR) -> HRESULT, + >, + pub SetTypeDescAlias: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pTDescAlias: *mut TYPEDESC) -> HRESULT, + >, + pub DefineFuncAsDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDllName: LPOLESTR, + szProcName: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetVarDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetVarHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetMops: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT, bstrMops: BSTR) -> HRESULT, + >, + pub SetTypeIdldesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pIdlDesc: *mut IDLDESC) -> HRESULT, + >, + pub LayOut: ::std::option::Option HRESULT>, + pub DeleteFuncDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub DeleteFuncDescByMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + ) -> HRESULT, + >, + pub DeleteVarDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub DeleteVarDescByMemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, memid: MEMBERID) -> HRESULT, + >, + pub DeleteImplType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub SetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + indexFunc: UINT, + indexParam: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetHelpStringContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, dwHelpStringContext: ULONG) -> HRESULT, + >, + pub SetFuncHelpStringContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpStringContext: ULONG, + ) -> HRESULT, + >, + pub SetVarHelpStringContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpStringContext: ULONG, + ) -> HRESULT, + >, + pub Invalidate: + ::std::option::Option HRESULT>, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, szName: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 328usize, + concat!("Size of: ", stringify!(ICreateTypeInfo2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefTypeInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddFuncDesc) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddImplType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAlignment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchema) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddVarDesc) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncAndParamNames) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncAndParamNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeDescAlias) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeDescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefineFuncAsDllEntry) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DefineFuncAsDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncDocString) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarDocString) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpContext) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpContext) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMops) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeIdldesc) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeIdldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayOut) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(LayOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFuncDesc) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFuncDescByMemId) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteFuncDescByMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteVarDesc) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteVarDescByMemId) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteVarDescByMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteImplType) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCustData) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncCustData) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetParamCustData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarCustData) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeCustData) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetImplTypeCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringContext) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpStringContext) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpStringContext) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invalidate) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(Invalidate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo2 { + pub lpVtbl: *mut ICreateTypeInfo2Vtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeInfo2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPELIB = *mut ICreateTypeLib; +extern "C" { + pub static IID_ICreateTypeLib: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLibVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + szName: LPOLESTR, + tkind: TYPEKIND, + ppCTInfo: *mut *mut ICreateTypeInfo, + ) -> HRESULT, + >, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szName: LPOLESTR) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, guid: *const GUID) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpFileName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szHelpFileName: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, lcid: LCID) -> HRESULT, + >, + pub SetLibFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, uLibFlags: UINT) -> HRESULT, + >, + pub SaveAllChanges: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICreateTypeLibVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(ICreateTypeLibVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLibVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(CreateTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFileName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetHelpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLcid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLibFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetLibFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveAllChanges) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SaveAllChanges) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib { + pub lpVtbl: *mut ICreateTypeLibVtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeLib)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPELIB2 = *mut ICreateTypeLib2; +extern "C" { + pub static IID_ICreateTypeLib2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + szName: LPOLESTR, + tkind: TYPEKIND, + ppCTInfo: *mut *mut ICreateTypeInfo, + ) -> HRESULT, + >, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szName: LPOLESTR) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, guid: *const GUID) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpFileName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szHelpFileName: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, lcid: LCID) -> HRESULT, + >, + pub SetLibFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, uLibFlags: UINT) -> HRESULT, + >, + pub SaveAllChanges: + ::std::option::Option HRESULT>, + pub DeleteTypeInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szName: LPOLESTR) -> HRESULT, + >, + pub SetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetHelpStringContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, dwHelpStringContext: ULONG) -> HRESULT, + >, + pub SetHelpStringDll: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szFileName: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(ICreateTypeLib2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(CreateTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFileName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLcid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLibFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetLibFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveAllChanges) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SaveAllChanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteTypeInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(DeleteTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringContext) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringDll) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpStringDll) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib2 { + pub lpVtbl: *mut ICreateTypeLib2Vtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeLib2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0005_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0005_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDISPATCH = *mut IDispatch; +extern "C" { + pub static IID_IDispatch: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDispatchVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDispatch, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDispatchVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDispatchVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDispatchVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(Invoke) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDispatch { + pub lpVtbl: *mut IDispatchVtbl, +} +#[test] +fn bindgen_test_layout_IDispatch() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDispatch)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDispatch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDispatch), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IDispatch_RemoteInvoke_Proxy( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + dwFlags: DWORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + pArgErr: *mut UINT, + cVarRef: UINT, + rgVarRefIdx: *mut UINT, + rgVarRef: *mut VARIANTARG, + ) -> HRESULT; +} +extern "C" { + pub fn IDispatch_RemoteInvoke_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMVARIANT = *mut IEnumVARIANT; +extern "C" { + pub static IID_IEnumVARIANT: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumVARIANTVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumVARIANT, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumVARIANT, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumVARIANT, ppEnum: *mut *mut IEnumVARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumVARIANTVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumVARIANTVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumVARIANTVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumVARIANT { + pub lpVtbl: *mut IEnumVARIANTVtbl, +} +#[test] +fn bindgen_test_layout_IEnumVARIANT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANT), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumVARIANT_RemoteNext_Proxy( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPECOMP = *mut ITypeComp; +pub const tagDESCKIND_DESCKIND_NONE: tagDESCKIND = 0; +pub const tagDESCKIND_DESCKIND_FUNCDESC: tagDESCKIND = 1; +pub const tagDESCKIND_DESCKIND_VARDESC: tagDESCKIND = 2; +pub const tagDESCKIND_DESCKIND_TYPECOMP: tagDESCKIND = 3; +pub const tagDESCKIND_DESCKIND_IMPLICITAPPOBJ: tagDESCKIND = 4; +pub const tagDESCKIND_DESCKIND_MAX: tagDESCKIND = 5; +pub type tagDESCKIND = ::std::os::raw::c_int; +pub use self::tagDESCKIND as DESCKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagBINDPTR { + pub lpfuncdesc: *mut FUNCDESC, + pub lpvardesc: *mut VARDESC, + pub lptcomp: *mut ITypeComp, +} +#[test] +fn bindgen_test_layout_tagBINDPTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagBINDPTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBINDPTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfuncdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lpfuncdesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpvardesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lpvardesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lptcomp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lptcomp) + ) + ); +} +pub type BINDPTR = tagBINDPTR; +pub type LPBINDPTR = *mut tagBINDPTR; +extern "C" { + pub static IID_ITypeComp: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeCompVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Bind: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + pBindPtr: *mut BINDPTR, + ) -> HRESULT, + >, + pub BindType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ppTComp: *mut *mut ITypeComp, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeCompVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ITypeCompVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeCompVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(Bind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(BindType) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeComp { + pub lpVtbl: *mut ITypeCompVtbl, +} +#[test] +fn bindgen_test_layout_ITypeComp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeComp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeComp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeComp), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeComp_RemoteBind_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + ppFuncDesc: *mut LPFUNCDESC, + ppVarDesc: *mut LPVARDESC, + ppTypeComp: *mut *mut ITypeComp, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_RemoteBind_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeComp_RemoteBindType_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_RemoteBindType_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPTYPEINFO = *mut ITypeInfo; +extern "C" { + pub static IID_ITypeInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, ppTypeAttr: *mut *mut TYPEATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT, + >, + pub GetVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT, + >, + pub GetNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT, + >, + pub GetRefTypeOfImplType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, index: UINT, pRefType: *mut HREFTYPE) -> HRESULT, + >, + pub GetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + pImplTypeFlags: *mut INT, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub GetDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT, + >, + pub GetRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + hRefType: HREFTYPE, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub AddressOfMember: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT, + >, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT, + >, + pub GetMops: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrMops: *mut BSTR, + ) -> HRESULT, + >, + pub GetContainingTypeLib: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT, + >, + pub ReleaseTypeAttr: + ::std::option::Option, + pub ReleaseFuncDesc: + ::std::option::Option, + pub ReleaseVarDesc: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_ITypeInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(ITypeInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeAttr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarDesc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeOfImplType) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetRefTypeOfImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDllEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfMember) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(AddressOfMember) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMops) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainingTypeLib) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetContainingTypeLib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTypeAttr) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseFuncDesc) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseVarDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseVarDesc) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo { + pub lpVtbl: *mut ITypeInfoVtbl, +} +#[test] +fn bindgen_test_layout_ITypeInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetTypeAttr_Proxy( + This: *mut ITypeInfo, + ppTypeAttr: *mut LPTYPEATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetTypeAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetFuncDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut LPFUNCDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetFuncDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetVarDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut LPVARDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetVarDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetNames_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetNames_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalGetIDsOfNames_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalGetIDsOfNames_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalInvoke_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalInvoke_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetDocumentation_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetDocumentation_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetDllEntry_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + refPtrFlags: DWORD, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetDllEntry_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalAddressOfMember_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalAddressOfMember_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteCreateInstance_Proxy( + This: *mut ITypeInfo, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteCreateInstance_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetContainingTypeLib_Proxy( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetContainingTypeLib_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseTypeAttr_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseTypeAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseFuncDesc_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseFuncDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseVarDesc_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseVarDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPEINFO2 = *mut ITypeInfo2; +extern "C" { + pub static IID_ITypeInfo2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, ppTypeAttr: *mut *mut TYPEATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT, + >, + pub GetVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT, + >, + pub GetNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT, + >, + pub GetRefTypeOfImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub GetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pImplTypeFlags: *mut INT, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub GetDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT, + >, + pub GetRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + hRefType: HREFTYPE, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub AddressOfMember: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT, + >, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT, + >, + pub GetMops: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pBstrMops: *mut BSTR, + ) -> HRESULT, + >, + pub GetContainingTypeLib: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT, + >, + pub ReleaseTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeAttr: *mut TYPEATTR), + >, + pub ReleaseFuncDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pFuncDesc: *mut FUNCDESC), + >, + pub ReleaseVarDesc: + ::std::option::Option, + pub GetTypeKind: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeFlags: *mut ULONG) -> HRESULT, + >, + pub GetFuncIndexOfMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + pFuncIndex: *mut UINT, + ) -> HRESULT, + >, + pub GetVarIndexOfMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pVarIndex: *mut UINT, + ) -> HRESULT, + >, + pub GetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + indexFunc: UINT, + indexParam: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetDocumentation2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT, + >, + pub GetAllCustData: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pCustData: *mut CUSTDATA) -> HRESULT, + >, + pub GetAllFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + indexFunc: UINT, + indexParam: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeInfo2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 296usize, + concat!("Size of: ", stringify!(ITypeInfo2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeAttr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarDesc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeOfImplType) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetRefTypeOfImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDllEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfMember) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(AddressOfMember) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMops) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainingTypeLib) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetContainingTypeLib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTypeAttr) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseFuncDesc) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseVarDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeKind) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeKind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeFlags) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncIndexOfMemId) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncIndexOfMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarIndexOfMemId) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarIndexOfMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCustData) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncCustData) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetParamCustData) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarCustData) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeCustData) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetImplTypeCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation2) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDocumentation2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllCustData) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllFuncCustData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllParamCustData) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllVarCustData) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllImplTypeCustData) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllImplTypeCustData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo2 { + pub lpVtbl: *mut ITypeInfo2Vtbl, +} +#[test] +fn bindgen_test_layout_ITypeInfo2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeInfo2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeInfo2_RemoteGetDocumentation2_Proxy( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_RemoteGetDocumentation2_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagSYSKIND_SYS_WIN16: tagSYSKIND = 0; +pub const tagSYSKIND_SYS_WIN32: tagSYSKIND = 1; +pub const tagSYSKIND_SYS_MAC: tagSYSKIND = 2; +pub const tagSYSKIND_SYS_WIN64: tagSYSKIND = 3; +pub type tagSYSKIND = ::std::os::raw::c_int; +pub use self::tagSYSKIND as SYSKIND; +pub const tagLIBFLAGS_LIBFLAG_FRESTRICTED: tagLIBFLAGS = 1; +pub const tagLIBFLAGS_LIBFLAG_FCONTROL: tagLIBFLAGS = 2; +pub const tagLIBFLAGS_LIBFLAG_FHIDDEN: tagLIBFLAGS = 4; +pub const tagLIBFLAGS_LIBFLAG_FHASDISKIMAGE: tagLIBFLAGS = 8; +pub type tagLIBFLAGS = ::std::os::raw::c_int; +pub use self::tagLIBFLAGS as LIBFLAGS; +pub type LPTYPELIB = *mut ITypeLib; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTLIBATTR { + pub guid: GUID, + pub lcid: LCID, + pub syskind: SYSKIND, + pub wMajorVerNum: WORD, + pub wMinorVerNum: WORD, + pub wLibFlags: WORD, +} +#[test] +fn bindgen_test_layout_tagTLIBATTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagTLIBATTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTLIBATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(lcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).syskind) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(syskind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMajorVerNum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wMajorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinorVerNum) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wMinorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLibFlags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wLibFlags) + ) + ); +} +pub type TLIBATTR = tagTLIBATTR; +pub type LPTLIBATTR = *mut tagTLIBATTR; +extern "C" { + pub static IID_ITypeLib: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option UINT>, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + index: UINT, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetTypeInfoType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, index: UINT, pTKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeInfoOfGuid: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + guid: *const GUID, + ppTinfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetLibAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, ppTLibAttr: *mut *mut TLIBATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub IsName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT, + >, + pub FindName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT, + >, + pub ReleaseTLibAttr: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_ITypeLibVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(ITypeLibVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoType) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoOfGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoOfGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibAttr) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsName) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(IsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(FindName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTLibAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(ReleaseTLibAttr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib { + pub lpVtbl: *mut ITypeLibVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLib() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLib)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetTypeInfoCount_Proxy( + This: *mut ITypeLib, + pcTInfo: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetTypeInfoCount_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetLibAttr_Proxy( + This: *mut ITypeLib, + ppTLibAttr: *mut LPTLIBATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetLibAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetDocumentation_Proxy( + This: *mut ITypeLib, + index: INT, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetDocumentation_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteIsName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteIsName_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteFindName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteFindName_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_LocalReleaseTLibAttr_Proxy(This: *mut ITypeLib) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_LocalReleaseTLibAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0011_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0011_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPTYPELIB2 = *mut ITypeLib2; +extern "C" { + pub static IID_ITypeLib2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option UINT>, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: UINT, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetTypeInfoType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, index: UINT, pTKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeInfoOfGuid: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + guid: *const GUID, + ppTinfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetLibAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, ppTLibAttr: *mut *mut TLIBATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub IsName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT, + >, + pub FindName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT, + >, + pub ReleaseTLibAttr: + ::std::option::Option, + pub GetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetLibStatistics: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT, + >, + pub GetDocumentation2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT, + >, + pub GetAllCustData: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, pCustData: *mut CUSTDATA) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLib2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(ITypeLib2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoType) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoOfGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoOfGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibAttr) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsName) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(IsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(FindName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTLibAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(ReleaseTLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCustData) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibStatistics) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetLibStatistics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation2) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetDocumentation2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllCustData) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetAllCustData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib2 { + pub lpVtbl: *mut ITypeLib2Vtbl, +} +#[test] +fn bindgen_test_layout_ITypeLib2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLib2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeLib2_RemoteGetLibStatistics_Proxy( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_RemoteGetLibStatistics_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib2_RemoteGetDocumentation2_Proxy( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_RemoteGetDocumentation2_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPECHANGEEVENTS = *mut ITypeChangeEvents; +pub const tagCHANGEKIND_CHANGEKIND_ADDMEMBER: tagCHANGEKIND = 0; +pub const tagCHANGEKIND_CHANGEKIND_DELETEMEMBER: tagCHANGEKIND = 1; +pub const tagCHANGEKIND_CHANGEKIND_SETNAMES: tagCHANGEKIND = 2; +pub const tagCHANGEKIND_CHANGEKIND_SETDOCUMENTATION: tagCHANGEKIND = 3; +pub const tagCHANGEKIND_CHANGEKIND_GENERAL: tagCHANGEKIND = 4; +pub const tagCHANGEKIND_CHANGEKIND_INVALIDATE: tagCHANGEKIND = 5; +pub const tagCHANGEKIND_CHANGEKIND_CHANGEFAILED: tagCHANGEKIND = 6; +pub const tagCHANGEKIND_CHANGEKIND_MAX: tagCHANGEKIND = 7; +pub type tagCHANGEKIND = ::std::os::raw::c_int; +pub use self::tagCHANGEKIND as CHANGEKIND; +extern "C" { + pub static IID_ITypeChangeEvents: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeChangeEventsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RequestTypeChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + changeKind: CHANGEKIND, + pTInfoBefore: *mut ITypeInfo, + pStrName: LPOLESTR, + pfCancel: *mut INT, + ) -> HRESULT, + >, + pub AfterTypeChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + changeKind: CHANGEKIND, + pTInfoAfter: *mut ITypeInfo, + pStrName: LPOLESTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeChangeEventsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ITypeChangeEventsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeChangeEventsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestTypeChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(RequestTypeChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AfterTypeChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(AfterTypeChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeChangeEvents { + pub lpVtbl: *mut ITypeChangeEventsVtbl, +} +#[test] +fn bindgen_test_layout_ITypeChangeEvents() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeChangeEvents)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeChangeEvents)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEvents), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPERRORINFO = *mut IErrorInfo; +extern "C" { + pub static IID_IErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetGUID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pGUID: *mut GUID) -> HRESULT, + >, + pub GetSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrSource: *mut BSTR) -> HRESULT, + >, + pub GetDescription: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrDescription: *mut BSTR) -> HRESULT, + >, + pub GetHelpFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrHelpFile: *mut BSTR) -> HRESULT, + >, + pub GetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pdwHelpContext: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGUID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSource) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDescription) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetHelpContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorInfo { + pub lpVtbl: *mut IErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_IErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATEERRORINFO = *mut ICreateErrorInfo; +extern "C" { + pub static IID_ICreateErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGUID: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, rguid: *const GUID) -> HRESULT, + >, + pub SetSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szSource: LPOLESTR) -> HRESULT, + >, + pub SetDescription: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szDescription: LPOLESTR) -> HRESULT, + >, + pub SetHelpFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szHelpFile: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, dwHelpContext: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ICreateErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGUID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSource) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDescription) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetHelpContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateErrorInfo { + pub lpVtbl: *mut ICreateErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICreateErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPSUPPORTERRORINFO = *mut ISupportErrorInfo; +extern "C" { + pub static IID_ISupportErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISupportErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub InterfaceSupportsErrorInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISupportErrorInfo, riid: *const IID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISupportErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ISupportErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISupportErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceSupportsErrorInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(InterfaceSupportsErrorInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportErrorInfo { + pub lpVtbl: *mut ISupportErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_ISupportErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISupportErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISupportErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateFromTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeFactory, + pTypeInfo: *mut ITypeInfo, + riid: *const IID, + ppv: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITypeFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateFromTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(CreateFromTypeInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeFactory { + pub lpVtbl: *mut ITypeFactoryVtbl, +} +#[test] +fn bindgen_test_layout_ITypeFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Size: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwDestContext: DWORD, + pvDestContext: PVOID, + pSize: *mut ULONG, + ) -> HRESULT, + >, + pub Marshal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwDestContext: DWORD, + pvDestContext: PVOID, + cbBufferLength: ULONG, + pBuffer: *mut BYTE, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Unmarshal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwFlags: DWORD, + cbBufferLength: ULONG, + pBuffer: *mut BYTE, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Free: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeMarshal, pvType: PVOID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ITypeMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Marshal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Marshal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unmarshal) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Unmarshal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Free) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Free) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeMarshal { + pub lpVtbl: *mut ITypeMarshalVtbl, +} +#[test] +fn bindgen_test_layout_ITypeMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPRECORDINFO = *mut IRecordInfo; +extern "C" { + pub static IID_IRecordInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRecordInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RecordInit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvNew: PVOID) -> HRESULT, + >, + pub RecordClear: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvExisting: PVOID) -> HRESULT, + >, + pub RecordCopy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvExisting: PVOID, pvNew: PVOID) -> HRESULT, + >, + pub GetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pguid: *mut GUID) -> HRESULT, + >, + pub GetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pbstrName: *mut BSTR) -> HRESULT, + >, + pub GetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pcbSize: *mut ULONG) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, ppTypeInfo: *mut *mut ITypeInfo) -> HRESULT, + >, + pub GetField: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFieldNoCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ppvDataCArray: *mut PVOID, + ) -> HRESULT, + >, + pub PutField: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + wFlags: ULONG, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub PutFieldNoCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + wFlags: ULONG, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFieldNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pcNames: *mut ULONG, + rgBstrNames: *mut BSTR, + ) -> HRESULT, + >, + pub IsMatchingType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pRecordInfo: *mut IRecordInfo) -> BOOL, + >, + pub RecordCreate: ::std::option::Option PVOID>, + pub RecordCreateCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvSource: PVOID, + ppvDest: *mut PVOID, + ) -> HRESULT, + >, + pub RecordDestroy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvRecord: PVOID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRecordInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(IRecordInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRecordInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordInit) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordInit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordClear) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCopy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetField) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetField) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFieldNoCopy) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetFieldNoCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutField) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(PutField) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutFieldNoCopy) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(PutFieldNoCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFieldNames) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetFieldNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsMatchingType) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(IsMatchingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCreate) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCreate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCreateCopy) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCreateCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordDestroy) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordDestroy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRecordInfo { + pub lpVtbl: *mut IRecordInfoVtbl, +} +#[test] +fn bindgen_test_layout_IRecordInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRecordInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRecordInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPERRORLOG = *mut IErrorLog; +extern "C" { + pub static IID_IErrorLog: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorLogVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorLog, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AddError: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorLog, + pszPropName: LPCOLESTR, + pExcepInfo: *mut EXCEPINFO, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IErrorLogVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IErrorLogVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorLogVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddError) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(AddError) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorLog { + pub lpVtbl: *mut IErrorLogVtbl, +} +#[test] +fn bindgen_test_layout_IErrorLog() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IErrorLog)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorLog)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorLog), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPROPERTYBAG = *mut IPropertyBag; +extern "C" { + pub static IID_IPropertyBag: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyBagVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertyBagVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPropertyBagVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyBagVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyBag { + pub lpVtbl: *mut IPropertyBagVtbl, +} +#[test] +fn bindgen_test_layout_IPropertyBag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertyBag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyBag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBag), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IPropertyBag_RemoteRead_Proxy( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + varType: DWORD, + pUnkObj: *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_RemoteRead_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_ITypeLibRegistrationReader: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationReaderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistrationReader, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub EnumTypeLibRegistrations: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistrationReader, + ppEnumUnknown: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationReaderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationReaderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationReaderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumTypeLibRegistrations) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(EnumTypeLibRegistrations) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationReader { + pub lpVtbl: *mut ITypeLibRegistrationReaderVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationReader() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationReader)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationReader)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReader), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeLibRegistration: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistration, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pGuid: *mut GUID) -> HRESULT, + >, + pub GetVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pVersion: *mut BSTR) -> HRESULT, + >, + pub GetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pLcid: *mut LCID) -> HRESULT, + >, + pub GetWin32Path: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pWin32Path: *mut BSTR) -> HRESULT, + >, + pub GetWin64Path: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pWin64Path: *mut BSTR) -> HRESULT, + >, + pub GetDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pDisplayName: *mut BSTR) -> HRESULT, + >, + pub GetFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pFlags: *mut DWORD) -> HRESULT, + >, + pub GetHelpDir: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pHelpDir: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLcid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWin32Path) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetWin32Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWin64Path) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetWin64Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetHelpDir) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistration { + pub lpVtbl: *mut ITypeLibRegistrationVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistration() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLibRegistration)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistration)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistration), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_TypeLibRegistrationReader: CLSID; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn BSTR_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut BSTR, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn BSTR_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut BSTR); +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLEANLOCALSTORAGE, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserFree( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut CLEANLOCALSTORAGE, + ); +} +extern "C" { + pub fn VARIANT_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut VARIANT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn VARIANT_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut VARIANT); +} +extern "C" { + pub fn BSTR_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut BSTR, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn BSTR_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut BSTR); +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLEANLOCALSTORAGE, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserFree64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut CLEANLOCALSTORAGE, + ); +} +extern "C" { + pub fn VARIANT_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut VARIANT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn VARIANT_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut VARIANT); +} +extern "C" { + pub fn IDispatch_Invoke_Proxy( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn IDispatch_Invoke_Stub( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + dwFlags: DWORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + pArgErr: *mut UINT, + cVarRef: UINT, + rgVarRefIdx: *mut UINT, + rgVarRef: *mut VARIANTARG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_Next_Proxy( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_Next_Stub( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_Bind_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + pBindPtr: *mut BINDPTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_Bind_Stub( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + ppFuncDesc: *mut LPFUNCDESC, + ppVarDesc: *mut LPVARDESC, + ppTypeComp: *mut *mut ITypeComp, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_BindType_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ppTComp: *mut *mut ITypeComp, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_BindType_Stub( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetTypeAttr_Proxy( + This: *mut ITypeInfo, + ppTypeAttr: *mut *mut TYPEATTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetTypeAttr_Stub( + This: *mut ITypeInfo, + ppTypeAttr: *mut LPTYPEATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetFuncDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetFuncDesc_Stub( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut LPFUNCDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetVarDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetVarDesc_Stub( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut LPVARDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetNames_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetNames_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetIDsOfNames_Proxy( + This: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetIDsOfNames_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_Invoke_Proxy( + This: *mut ITypeInfo, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_Invoke_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDocumentation_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDocumentation_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDllEntry_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDllEntry_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + refPtrFlags: DWORD, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_AddressOfMember_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_AddressOfMember_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_CreateInstance_Proxy( + This: *mut ITypeInfo, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_CreateInstance_Stub( + This: *mut ITypeInfo, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetContainingTypeLib_Proxy( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetContainingTypeLib_Stub( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseTypeAttr_Proxy(This: *mut ITypeInfo, pTypeAttr: *mut TYPEATTR); +} +extern "C" { + pub fn ITypeInfo_ReleaseTypeAttr_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseFuncDesc_Proxy(This: *mut ITypeInfo, pFuncDesc: *mut FUNCDESC); +} +extern "C" { + pub fn ITypeInfo_ReleaseFuncDesc_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseVarDesc_Proxy(This: *mut ITypeInfo, pVarDesc: *mut VARDESC); +} +extern "C" { + pub fn ITypeInfo_ReleaseVarDesc_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_GetDocumentation2_Proxy( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_GetDocumentation2_Stub( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetTypeInfoCount_Proxy(This: *mut ITypeLib) -> UINT; +} +extern "C" { + pub fn ITypeLib_GetTypeInfoCount_Stub(This: *mut ITypeLib, pcTInfo: *mut UINT) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetLibAttr_Proxy( + This: *mut ITypeLib, + ppTLibAttr: *mut *mut TLIBATTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetLibAttr_Stub( + This: *mut ITypeLib, + ppTLibAttr: *mut LPTLIBATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetDocumentation_Proxy( + This: *mut ITypeLib, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetDocumentation_Stub( + This: *mut ITypeLib, + index: INT, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_IsName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_IsName_Stub( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_FindName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_FindName_Stub( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_ReleaseTLibAttr_Proxy(This: *mut ITypeLib, pTLibAttr: *mut TLIBATTR); +} +extern "C" { + pub fn ITypeLib_ReleaseTLibAttr_Stub(This: *mut ITypeLib) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetLibStatistics_Proxy( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetLibStatistics_Stub( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetDocumentation2_Proxy( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetDocumentation2_Stub( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_Read_Proxy( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_Read_Stub( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + varType: DWORD, + pUnkObj: *mut IUnknown, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVersionedStream { + pub guidVersion: GUID, + pub pStream: *mut IStream, +} +#[test] +fn bindgen_test_layout_tagVersionedStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVersionedStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVersionedStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVersionedStream), + "::", + stringify!(guidVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStream) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagVersionedStream), + "::", + stringify!(pStream) + ) + ); +} +pub type VERSIONEDSTREAM = tagVersionedStream; +pub type LPVERSIONEDSTREAM = *mut tagVersionedStream; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAC { + pub cElems: ULONG, + pub pElems: *mut CHAR, +} +#[test] +fn bindgen_test_layout_tagCAC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAC), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAC), + "::", + stringify!(pElems) + ) + ); +} +pub type CAC = tagCAC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUB { + pub cElems: ULONG, + pub pElems: *mut UCHAR, +} +#[test] +fn bindgen_test_layout_tagCAUB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUB), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUB), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUB = tagCAUB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAI { + pub cElems: ULONG, + pub pElems: *mut SHORT, +} +#[test] +fn bindgen_test_layout_tagCAI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAI), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAI), + "::", + stringify!(pElems) + ) + ); +} +pub type CAI = tagCAI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUI { + pub cElems: ULONG, + pub pElems: *mut USHORT, +} +#[test] +fn bindgen_test_layout_tagCAUI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUI), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUI), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUI = tagCAUI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAL { + pub cElems: ULONG, + pub pElems: *mut LONG, +} +#[test] +fn bindgen_test_layout_tagCAL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAL), + "::", + stringify!(pElems) + ) + ); +} +pub type CAL = tagCAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUL { + pub cElems: ULONG, + pub pElems: *mut ULONG, +} +#[test] +fn bindgen_test_layout_tagCAUL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUL), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUL = tagCAUL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAFLT { + pub cElems: ULONG, + pub pElems: *mut FLOAT, +} +#[test] +fn bindgen_test_layout_tagCAFLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAFLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAFLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAFLT), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAFLT), + "::", + stringify!(pElems) + ) + ); +} +pub type CAFLT = tagCAFLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCADBL { + pub cElems: ULONG, + pub pElems: *mut DOUBLE, +} +#[test] +fn bindgen_test_layout_tagCADBL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCADBL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCADBL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCADBL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCADBL), + "::", + stringify!(pElems) + ) + ); +} +pub type CADBL = tagCADBL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACY { + pub cElems: ULONG, + pub pElems: *mut CY, +} +#[test] +fn bindgen_test_layout_tagCACY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACY), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACY), + "::", + stringify!(pElems) + ) + ); +} +pub type CACY = tagCACY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCADATE { + pub cElems: ULONG, + pub pElems: *mut DATE, +} +#[test] +fn bindgen_test_layout_tagCADATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCADATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCADATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCADATE), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCADATE), + "::", + stringify!(pElems) + ) + ); +} +pub type CADATE = tagCADATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABSTR { + pub cElems: ULONG, + pub pElems: *mut BSTR, +} +#[test] +fn bindgen_test_layout_tagCABSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CABSTR = tagCABSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABSTRBLOB { + pub cElems: ULONG, + pub pElems: *mut BSTRBLOB, +} +#[test] +fn bindgen_test_layout_tagCABSTRBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABSTRBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABSTRBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTRBLOB), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTRBLOB), + "::", + stringify!(pElems) + ) + ); +} +pub type CABSTRBLOB = tagCABSTRBLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABOOL { + pub cElems: ULONG, + pub pElems: *mut VARIANT_BOOL, +} +#[test] +fn bindgen_test_layout_tagCABOOL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABOOL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABOOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABOOL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABOOL), + "::", + stringify!(pElems) + ) + ); +} +pub type CABOOL = tagCABOOL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCASCODE { + pub cElems: ULONG, + pub pElems: *mut SCODE, +} +#[test] +fn bindgen_test_layout_tagCASCODE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCASCODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCASCODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCASCODE), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCASCODE), + "::", + stringify!(pElems) + ) + ); +} +pub type CASCODE = tagCASCODE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAPROPVARIANT { + pub cElems: ULONG, + pub pElems: *mut PROPVARIANT, +} +#[test] +fn bindgen_test_layout_tagCAPROPVARIANT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAPROPVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAPROPVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAPROPVARIANT), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAPROPVARIANT), + "::", + stringify!(pElems) + ) + ); +} +pub type CAPROPVARIANT = tagCAPROPVARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAH { + pub cElems: ULONG, + pub pElems: *mut LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagCAH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAH), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAH), + "::", + stringify!(pElems) + ) + ); +} +pub type CAH = tagCAH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUH { + pub cElems: ULONG, + pub pElems: *mut ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagCAUH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUH), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUH), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUH = tagCAUH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCALPSTR { + pub cElems: ULONG, + pub pElems: *mut LPSTR, +} +#[test] +fn bindgen_test_layout_tagCALPSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCALPSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCALPSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCALPSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCALPSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CALPSTR = tagCALPSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCALPWSTR { + pub cElems: ULONG, + pub pElems: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout_tagCALPWSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCALPWSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCALPWSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCALPWSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCALPWSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CALPWSTR = tagCALPWSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAFILETIME { + pub cElems: ULONG, + pub pElems: *mut FILETIME, +} +#[test] +fn bindgen_test_layout_tagCAFILETIME() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAFILETIME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAFILETIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAFILETIME), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAFILETIME), + "::", + stringify!(pElems) + ) + ); +} +pub type CAFILETIME = tagCAFILETIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACLIPDATA { + pub cElems: ULONG, + pub pElems: *mut CLIPDATA, +} +#[test] +fn bindgen_test_layout_tagCACLIPDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACLIPDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACLIPDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACLIPDATA), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACLIPDATA), + "::", + stringify!(pElems) + ) + ); +} +pub type CACLIPDATA = tagCACLIPDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACLSID { + pub cElems: ULONG, + pub pElems: *mut CLSID, +} +#[test] +fn bindgen_test_layout_tagCACLSID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACLSID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACLSID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACLSID), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACLSID), + "::", + stringify!(pElems) + ) + ); +} +pub type CACLSID = tagCACLSID; +pub type PROPVAR_PAD1 = WORD; +pub type PROPVAR_PAD2 = WORD; +pub type PROPVAR_PAD3 = WORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPVARIANT { + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPVARIANT__bindgen_ty_1 { + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1, + pub decVal: DECIMAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1 { + pub vt: VARTYPE, + pub wReserved1: PROPVAR_PAD1, + pub wReserved2: PROPVAR_PAD2, + pub wReserved3: PROPVAR_PAD3, + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub cVal: CHAR, + pub bVal: UCHAR, + pub iVal: SHORT, + pub uiVal: USHORT, + pub lVal: LONG, + pub ulVal: ULONG, + pub intVal: INT, + pub uintVal: UINT, + pub hVal: LARGE_INTEGER, + pub uhVal: ULARGE_INTEGER, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub __OBSOLETE__VARIANT_BOOL: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub filetime: FILETIME, + pub puuid: *mut CLSID, + pub pclipdata: *mut CLIPDATA, + pub bstrVal: BSTR, + pub bstrblobVal: BSTRBLOB, + pub blob: BLOB, + pub pszVal: LPSTR, + pub pwszVal: LPWSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub pStream: *mut IStream, + pub pStorage: *mut IStorage, + pub pVersionedStream: LPVERSIONEDSTREAM, + pub parray: LPSAFEARRAY, + pub cac: CAC, + pub caub: CAUB, + pub cai: CAI, + pub caui: CAUI, + pub cal: CAL, + pub caul: CAUL, + pub cah: CAH, + pub cauh: CAUH, + pub caflt: CAFLT, + pub cadbl: CADBL, + pub cabool: CABOOL, + pub cascode: CASCODE, + pub cacy: CACY, + pub cadate: CADATE, + pub cafiletime: CAFILETIME, + pub cauuid: CACLSID, + pub caclipdata: CACLIPDATA, + pub cabstr: CABSTR, + pub cabstrblob: CABSTRBLOB, + pub calpstr: CALPSTR, + pub calpwstr: CALPWSTR, + pub capropvar: CAPROPVARIANT, + pub pcVal: *mut CHAR, + pub pbVal: *mut UCHAR, + pub piVal: *mut SHORT, + pub puiVal: *mut USHORT, + pub plVal: *mut LONG, + pub pulVal: *mut ULONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub pdecVal: *mut DECIMAL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut BSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut LPSAFEARRAY, + pub pvarVal: *mut PROPVARIANT, +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uhVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uhVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_BOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_BOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).filetime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(filetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pclipdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pclipdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrblobVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrblobVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pszVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pwszVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStorage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVersionedStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pVersionedStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cac) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cac) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caub) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caub) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cai) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cai) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caui) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caui) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caul) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caul) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cah) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cah) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cauh) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cauh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caflt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caflt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cadbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cadbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabool) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cascode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cascode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cacy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cacy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cadate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cadate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cafiletime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cafiletime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cauuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cauuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caclipdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caclipdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabstrblob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabstrblob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).calpstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(calpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).calpwstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(calpwstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).capropvar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(capropvar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved3) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagPROPVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagPROPVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPVARIANT)) + ); +} +pub type LPPROPVARIANT = *mut tagPROPVARIANT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPSPEC { + pub ulKind: ULONG, + pub __bindgen_anon_1: tagPROPSPEC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPSPEC__bindgen_ty_1 { + pub propid: PROPID, + pub lpwstr: LPOLESTR, +} +#[test] +fn bindgen_test_layout_tagPROPSPEC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPROPSPEC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPSPEC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC__bindgen_ty_1), + "::", + stringify!(propid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpwstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC__bindgen_ty_1), + "::", + stringify!(lpwstr) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPSPEC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPROPSPEC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPSPEC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulKind) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC), + "::", + stringify!(ulKind) + ) + ); +} +pub type PROPSPEC = tagPROPSPEC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATPROPSTG { + pub lpwstrName: LPOLESTR, + pub propid: PROPID, + pub vt: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagSTATPROPSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSTATPROPSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATPROPSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpwstrName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(lpwstrName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(propid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(vt) + ) + ); +} +pub type STATPROPSTG = tagSTATPROPSTG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATPROPSETSTG { + pub fmtid: FMTID, + pub clsid: CLSID, + pub grfFlags: DWORD, + pub mtime: FILETIME, + pub ctime: FILETIME, + pub atime: FILETIME, + pub dwOSVersion: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATPROPSETSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagSTATPROPSETSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTATPROPSETSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fmtid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(fmtid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(mtime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ctime) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(ctime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atime) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(atime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(dwOSVersion) + ) + ); +} +pub type STATPROPSETSTG = tagSTATPROPSETSTG; +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IPropertyStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ReadMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + rgpropvar: *mut PROPVARIANT, + ) -> HRESULT, + >, + pub WriteMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + rgpropvar: *const PROPVARIANT, + propidNameFirst: PROPID, + ) -> HRESULT, + >, + pub DeleteMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + ) -> HRESULT, + >, + pub ReadPropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + rglpwstrName: *mut LPOLESTR, + ) -> HRESULT, + >, + pub WritePropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + rglpwstrName: *const LPOLESTR, + ) -> HRESULT, + >, + pub DeletePropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertyStorage, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + ppenum: *mut *mut IEnumSTATPROPSTG, + ) -> HRESULT, + >, + pub SetTimes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT, + >, + pub SetClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertyStorage, clsid: *const IID) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + pstatpsstg: *mut STATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertyStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IPropertyStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadMultiple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(ReadMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteMultiple) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(WriteMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteMultiple) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(DeleteMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadPropertyNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(ReadPropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WritePropertyNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(WritePropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeletePropertyNames) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(DeletePropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Enum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTimes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(SetTimes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClass) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(SetClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyStorage { + pub lpVtbl: *mut IPropertyStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPropertyStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertyStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPROPERTYSETSTORAGE = *mut IPropertySetStorage; +extern "C" { + pub static IID_IPropertySetStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertySetStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Create: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + rfmtid: *const IID, + pclsid: *const CLSID, + grfFlags: DWORD, + grfMode: DWORD, + ppprstg: *mut *mut IPropertyStorage, + ) -> HRESULT, + >, + pub Open: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + rfmtid: *const IID, + grfMode: DWORD, + ppprstg: *mut *mut IPropertyStorage, + ) -> HRESULT, + >, + pub Delete: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertySetStorage, rfmtid: *const IID) -> HRESULT, + >, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + ppenum: *mut *mut IEnumSTATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertySetStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IPropertySetStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertySetStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Open) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Open) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Delete) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Delete) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Enum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertySetStorage { + pub lpVtbl: *mut IPropertySetStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPropertySetStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertySetStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertySetStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPENUMSTATPROPSTG = *mut IEnumSTATPROPSTG; +extern "C" { + pub static IID_IEnumSTATPROPSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATPROPSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + ppenum: *mut *mut IEnumSTATPROPSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSTG { + pub lpVtbl: *mut IEnumSTATPROPSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATPROPSTG_RemoteNext_Proxy( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTATPROPSETSTG = *mut IEnumSTATPROPSETSTG; +extern "C" { + pub static IID_IEnumSTATPROPSETSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSETSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATPROPSETSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: + ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + ppenum: *mut *mut IEnumSTATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSETSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSETSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSETSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSETSTG { + pub lpVtbl: *mut IEnumSTATPROPSETSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSETSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSETSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSETSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_RemoteNext_Proxy( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPPROPERTYSTORAGE = *mut IPropertyStorage; +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn LPSAFEARRAY_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut LPSAFEARRAY, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn LPSAFEARRAY_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut LPSAFEARRAY); +} +extern "C" { + pub fn LPSAFEARRAY_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut LPSAFEARRAY, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn LPSAFEARRAY_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut LPSAFEARRAY); +} +extern "C" { + pub fn IEnumSTATPROPSTG_Next_Proxy( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSTG_Next_Stub( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_Next_Proxy( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_Next_Stub( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +pub type STGFMT = DWORD; +extern "C" { + pub fn StgCreateDocfile( + pwcsName: *const WCHAR, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreateDocfileOnILockBytes( + plkbyt: *mut ILockBytes, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorage( + pwcsName: *const WCHAR, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorageOnILockBytes( + plkbyt: *mut ILockBytes, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgIsStorageFile(pwcsName: *const WCHAR) -> HRESULT; +} +extern "C" { + pub fn StgIsStorageILockBytes(plkbyt: *mut ILockBytes) -> HRESULT; +} +extern "C" { + pub fn StgSetTimes( + lpszName: *const WCHAR, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTGOPTIONS { + pub usVersion: USHORT, + pub reserved: USHORT, + pub ulSectorSize: ULONG, + pub pwcsTemplateFile: *const WCHAR, +} +#[test] +fn bindgen_test_layout_tagSTGOPTIONS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSTGOPTIONS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGOPTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(usVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectorSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(ulSectorSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsTemplateFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(pwcsTemplateFile) + ) + ); +} +pub type STGOPTIONS = tagSTGOPTIONS; +extern "C" { + pub fn StgCreateStorageEx( + pwcsName: *const WCHAR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + pStgOptions: *mut STGOPTIONS, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + riid: *const IID, + ppObjectOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorageEx( + pwcsName: *const WCHAR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + pStgOptions: *mut STGOPTIONS, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + riid: *const IID, + ppObjectOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreatePropStg( + pUnk: *mut IUnknown, + fmtid: *const IID, + pclsid: *const CLSID, + grfFlags: DWORD, + dwReserved: DWORD, + ppPropStg: *mut *mut IPropertyStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenPropStg( + pUnk: *mut IUnknown, + fmtid: *const IID, + grfFlags: DWORD, + dwReserved: DWORD, + ppPropStg: *mut *mut IPropertyStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreatePropSetStg( + pStorage: *mut IStorage, + dwReserved: DWORD, + ppPropSetStg: *mut *mut IPropertySetStorage, + ) -> HRESULT; +} +extern "C" { + pub fn FmtIdToPropStgName(pfmtid: *const FMTID, oszName: LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn PropStgNameToFmtId(oszName: LPOLESTR, pfmtid: *mut FMTID) -> HRESULT; +} +extern "C" { + pub fn ReadClassStg(pStg: LPSTORAGE, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn WriteClassStg(pStg: LPSTORAGE, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn ReadClassStm(pStm: LPSTREAM, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn WriteClassStm(pStm: LPSTREAM, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn GetHGlobalFromILockBytes(plkbyt: LPLOCKBYTES, phglobal: *mut HGLOBAL) -> HRESULT; +} +extern "C" { + pub fn CreateILockBytesOnHGlobal( + hGlobal: HGLOBAL, + fDeleteOnRelease: BOOL, + pplkbyt: *mut LPLOCKBYTES, + ) -> HRESULT; +} +extern "C" { + pub fn GetConvertStg(pStg: LPSTORAGE) -> HRESULT; +} +pub const tagCOINIT_COINIT_APARTMENTTHREADED: tagCOINIT = 2; +pub const tagCOINIT_COINIT_MULTITHREADED: tagCOINIT = 0; +pub const tagCOINIT_COINIT_DISABLE_OLE1DDE: tagCOINIT = 4; +pub const tagCOINIT_COINIT_SPEED_OVER_MEMORY: tagCOINIT = 8; +pub type tagCOINIT = ::std::os::raw::c_int; +pub use self::tagCOINIT as COINIT; +extern "C" { + pub fn CoBuildVersion() -> DWORD; +} +extern "C" { + pub fn CoInitialize(pvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterMallocSpy(pMallocSpy: LPMALLOCSPY) -> HRESULT; +} +extern "C" { + pub fn CoRevokeMallocSpy() -> HRESULT; +} +extern "C" { + pub fn CoCreateStandardMalloc(memctx: DWORD, ppMalloc: *mut *mut IMalloc) -> HRESULT; +} +extern "C" { + pub fn CoRegisterInitializeSpy( + pSpy: *mut IInitializeSpy, + puliCookie: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeInitializeSpy(uliCookie: ULARGE_INTEGER) -> HRESULT; +} +pub const tagCOMSD_SD_LAUNCHPERMISSIONS: tagCOMSD = 0; +pub const tagCOMSD_SD_ACCESSPERMISSIONS: tagCOMSD = 1; +pub const tagCOMSD_SD_LAUNCHRESTRICTIONS: tagCOMSD = 2; +pub const tagCOMSD_SD_ACCESSRESTRICTIONS: tagCOMSD = 3; +pub type tagCOMSD = ::std::os::raw::c_int; +pub use self::tagCOMSD as COMSD; +extern "C" { + pub fn CoGetSystemSecurityPermissions( + comSDType: COMSD, + ppSD: *mut PSECURITY_DESCRIPTOR, + ) -> HRESULT; +} +extern "C" { + pub fn CoLoadLibrary(lpszLibName: LPOLESTR, bAutoFree: BOOL) -> HINSTANCE; +} +extern "C" { + pub fn CoFreeLibrary(hInst: HINSTANCE); +} +extern "C" { + pub fn CoFreeAllLibraries(); +} +extern "C" { + pub fn CoGetInstanceFromFile( + pServerInfo: *mut COSERVERINFO, + pClsid: *mut CLSID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + grfMode: DWORD, + pwszName: *mut OLECHAR, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetInstanceFromIStorage( + pServerInfo: *mut COSERVERINFO, + pClsid: *mut CLSID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + pstg: *mut IStorage, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoAllowSetForegroundWindow(pUnk: *mut IUnknown, lpvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn DcomChannelSetHResult( + pvReserved: LPVOID, + pulReserved: *mut ULONG, + appsHR: HRESULT, + ) -> HRESULT; +} +extern "C" { + pub fn CoIsOle1Class(rclsid: *const IID) -> BOOL; +} +extern "C" { + pub fn CoFileTimeToDosDateTime( + lpFileTime: *mut FILETIME, + lpDosDate: LPWORD, + lpDosTime: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn CoDosDateTimeToFileTime( + nDosDate: WORD, + nDosTime: WORD, + lpFileTime: *mut FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn CoRegisterMessageFilter( + lpMessageFilter: LPMESSAGEFILTER, + lplpMessageFilter: *mut LPMESSAGEFILTER, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterChannelHook( + ExtensionUuid: *const GUID, + pChannelHook: *mut IChannelHook, + ) -> HRESULT; +} +extern "C" { + pub fn CoTreatAsClass(clsidOld: *const IID, clsidNew: *const IID) -> HRESULT; +} +extern "C" { + pub fn CreateDataAdviseHolder(ppDAHolder: *mut LPDATAADVISEHOLDER) -> HRESULT; +} +extern "C" { + pub fn CreateDataCache( + pUnkOuter: LPUNKNOWN, + rclsid: *const IID, + iid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenAsyncDocfileOnIFillLockBytes( + pflb: *mut IFillLockBytes, + grfMode: DWORD, + asyncFlags: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgGetIFillLockBytesOnILockBytes( + pilb: *mut ILockBytes, + ppflb: *mut *mut IFillLockBytes, + ) -> HRESULT; +} +extern "C" { + pub fn StgGetIFillLockBytesOnFile( + pwcsName: *const OLECHAR, + ppflb: *mut *mut IFillLockBytes, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenLayoutDocfile( + pwcsDfName: *const OLECHAR, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn CoInstall( + pbc: *mut IBindCtx, + dwFlags: DWORD, + pClassSpec: *mut uCLSSPEC, + pQuery: *mut QUERYCONTEXT, + pszCodeBase: LPWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn BindMoniker( + pmk: LPMONIKER, + grfOpt: DWORD, + iidResult: *const IID, + ppvResult: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetObject( + pszName: LPCWSTR, + pBindOptions: *mut BIND_OPTS, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn MkParseDisplayName( + pbc: LPBC, + szUserName: LPCOLESTR, + pchEaten: *mut ULONG, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn MonikerRelativePathTo( + pmkSrc: LPMONIKER, + pmkDest: LPMONIKER, + ppmkRelPath: *mut LPMONIKER, + dwReserved: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn MonikerCommonPrefixWith( + pmkThis: LPMONIKER, + pmkOther: LPMONIKER, + ppmkCommon: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn CreateBindCtx(reserved: DWORD, ppbc: *mut LPBC) -> HRESULT; +} +extern "C" { + pub fn CreateGenericComposite( + pmkFirst: LPMONIKER, + pmkRest: LPMONIKER, + ppmkComposite: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn GetClassFile(szFilename: LPCOLESTR, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CreateClassMoniker(rclsid: *const IID, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateFileMoniker(lpszPathName: LPCOLESTR, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateItemMoniker( + lpszDelim: LPCOLESTR, + lpszItem: LPCOLESTR, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn CreateAntiMoniker(ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreatePointerMoniker(punk: LPUNKNOWN, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateObjrefMoniker(punk: LPUNKNOWN, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn GetRunningObjectTable(reserved: DWORD, pprot: *mut LPRUNNINGOBJECTTABLE) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLEADVISEHOLDER = *mut IOleAdviseHolder; +extern "C" { + pub static IID_IOleAdviseHolder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleAdviseHolderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + pAdvise: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleAdviseHolder, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub SendOnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleAdviseHolder, pmk: *mut IMoniker) -> HRESULT, + >, + pub SendOnSave: + ::std::option::Option HRESULT>, + pub SendOnClose: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleAdviseHolderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleAdviseHolderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleAdviseHolderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnRename) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnSave) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnClose) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleAdviseHolder { + pub lpVtbl: *mut IOleAdviseHolderVtbl, +} +#[test] +fn bindgen_test_layout_IOleAdviseHolder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleAdviseHolder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleAdviseHolder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolder), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLECACHE = *mut IOleCache; +extern "C" { + pub static IID_IOleCache: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Cache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + pformatetc: *mut FORMATETC, + advf: DWORD, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Uncache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache, dwConnection: DWORD) -> HRESULT, + >, + pub EnumCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + ppenumSTATDATA: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub InitCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache, pDataObject: *mut IDataObject) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleCacheVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IOleCacheVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uncache) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Uncache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumCache) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(EnumCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitCache) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(InitCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(SetData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache { + pub lpVtbl: *mut IOleCacheVtbl, +} +#[test] +fn bindgen_test_layout_IOleCache() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCache)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECACHE2 = *mut IOleCache2; +pub const tagDISCARDCACHE_DISCARDCACHE_SAVEIFDIRTY: tagDISCARDCACHE = 0; +pub const tagDISCARDCACHE_DISCARDCACHE_NOSAVE: tagDISCARDCACHE = 1; +pub type tagDISCARDCACHE = ::std::os::raw::c_int; +pub use self::tagDISCARDCACHE as DISCARDCACHE; +extern "C" { + pub static IID_IOleCache2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Cache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pformatetc: *mut FORMATETC, + advf: DWORD, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Uncache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, dwConnection: DWORD) -> HRESULT, + >, + pub EnumCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + ppenumSTATDATA: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub InitCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, pDataObject: *mut IDataObject) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, + pub UpdateCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LPVOID, + ) -> HRESULT, + >, + pub DiscardCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, dwDiscardOptions: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleCache2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IOleCache2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uncache) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Uncache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumCache) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(EnumCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitCache) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(InitCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(SetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpdateCache) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(UpdateCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiscardCache) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(DiscardCache) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache2 { + pub lpVtbl: *mut IOleCache2Vtbl, +} +#[test] +fn bindgen_test_layout_IOleCache2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCache2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IOleCache2_RemoteUpdateCache_Proxy( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IOleCache2_RemoteUpdateCache_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLECACHECONTROL = *mut IOleCacheControl; +extern "C" { + pub static IID_IOleCacheControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCacheControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnRun: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCacheControl, pDataObject: LPDATAOBJECT) -> HRESULT, + >, + pub OnStop: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleCacheControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOleCacheControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRun) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(OnRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStop) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(OnStop) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheControl { + pub lpVtbl: *mut IOleCacheControlVtbl, +} +#[test] +fn bindgen_test_layout_IOleCacheControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCacheControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControl), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPARSEDISPLAYNAME = *mut IParseDisplayName; +extern "C" { + pub static IID_IParseDisplayName: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IParseDisplayNameVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IParseDisplayName, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IParseDisplayName, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IParseDisplayNameVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IParseDisplayNameVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IParseDisplayNameVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IParseDisplayName { + pub lpVtbl: *mut IParseDisplayNameVtbl, +} +#[test] +fn bindgen_test_layout_IParseDisplayName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IParseDisplayName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IParseDisplayName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayName), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECONTAINER = *mut IOleContainer; +extern "C" { + pub static IID_IOleContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub EnumObjects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + grfFlags: DWORD, + ppenum: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, + pub LockContainer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleContainer, fLock: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IOleContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjects) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(EnumObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(LockContainer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleContainer { + pub lpVtbl: *mut IOleContainerVtbl, +} +#[test] +fn bindgen_test_layout_IOleContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECLIENTSITE = *mut IOleClientSite; +extern "C" { + pub static IID_IOleClientSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleClientSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SaveObject: + ::std::option::Option HRESULT>, + pub GetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + dwAssign: DWORD, + dwWhichMoniker: DWORD, + ppmk: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub GetContainer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + ppContainer: *mut *mut IOleContainer, + ) -> HRESULT, + >, + pub ShowObject: + ::std::option::Option HRESULT>, + pub OnShowWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleClientSite, fShow: BOOL) -> HRESULT, + >, + pub RequestNewObjectLayout: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleClientSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleClientSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleClientSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveObject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(SaveObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMoniker) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(GetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(GetContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShowObject) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(ShowObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnShowWindow) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(OnShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestNewObjectLayout) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(RequestNewObjectLayout) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleClientSite { + pub lpVtbl: *mut IOleClientSiteVtbl, +} +#[test] +fn bindgen_test_layout_IOleClientSite() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleClientSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleClientSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSite), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEOBJECT = *mut IOleObject; +pub const tagOLEGETMONIKER_OLEGETMONIKER_ONLYIFTHERE: tagOLEGETMONIKER = 1; +pub const tagOLEGETMONIKER_OLEGETMONIKER_FORCEASSIGN: tagOLEGETMONIKER = 2; +pub const tagOLEGETMONIKER_OLEGETMONIKER_UNASSIGN: tagOLEGETMONIKER = 3; +pub const tagOLEGETMONIKER_OLEGETMONIKER_TEMPFORUSER: tagOLEGETMONIKER = 4; +pub type tagOLEGETMONIKER = ::std::os::raw::c_int; +pub use self::tagOLEGETMONIKER as OLEGETMONIKER; +pub const tagOLEWHICHMK_OLEWHICHMK_CONTAINER: tagOLEWHICHMK = 1; +pub const tagOLEWHICHMK_OLEWHICHMK_OBJREL: tagOLEWHICHMK = 2; +pub const tagOLEWHICHMK_OLEWHICHMK_OBJFULL: tagOLEWHICHMK = 3; +pub type tagOLEWHICHMK = ::std::os::raw::c_int; +pub use self::tagOLEWHICHMK as OLEWHICHMK; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_FULL: tagUSERCLASSTYPE = 1; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_SHORT: tagUSERCLASSTYPE = 2; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_APPNAME: tagUSERCLASSTYPE = 3; +pub type tagUSERCLASSTYPE = ::std::os::raw::c_int; +pub use self::tagUSERCLASSTYPE as USERCLASSTYPE; +pub const tagOLEMISC_OLEMISC_RECOMPOSEONRESIZE: tagOLEMISC = 1; +pub const tagOLEMISC_OLEMISC_ONLYICONIC: tagOLEMISC = 2; +pub const tagOLEMISC_OLEMISC_INSERTNOTREPLACE: tagOLEMISC = 4; +pub const tagOLEMISC_OLEMISC_STATIC: tagOLEMISC = 8; +pub const tagOLEMISC_OLEMISC_CANTLINKINSIDE: tagOLEMISC = 16; +pub const tagOLEMISC_OLEMISC_CANLINKBYOLE1: tagOLEMISC = 32; +pub const tagOLEMISC_OLEMISC_ISLINKOBJECT: tagOLEMISC = 64; +pub const tagOLEMISC_OLEMISC_INSIDEOUT: tagOLEMISC = 128; +pub const tagOLEMISC_OLEMISC_ACTIVATEWHENVISIBLE: tagOLEMISC = 256; +pub const tagOLEMISC_OLEMISC_RENDERINGISDEVICEINDEPENDENT: tagOLEMISC = 512; +pub const tagOLEMISC_OLEMISC_INVISIBLEATRUNTIME: tagOLEMISC = 1024; +pub const tagOLEMISC_OLEMISC_ALWAYSRUN: tagOLEMISC = 2048; +pub const tagOLEMISC_OLEMISC_ACTSLIKEBUTTON: tagOLEMISC = 4096; +pub const tagOLEMISC_OLEMISC_ACTSLIKELABEL: tagOLEMISC = 8192; +pub const tagOLEMISC_OLEMISC_NOUIACTIVATE: tagOLEMISC = 16384; +pub const tagOLEMISC_OLEMISC_ALIGNABLE: tagOLEMISC = 32768; +pub const tagOLEMISC_OLEMISC_SIMPLEFRAME: tagOLEMISC = 65536; +pub const tagOLEMISC_OLEMISC_SETCLIENTSITEFIRST: tagOLEMISC = 131072; +pub const tagOLEMISC_OLEMISC_IMEMODE: tagOLEMISC = 262144; +pub const tagOLEMISC_OLEMISC_IGNOREACTIVATEWHENVISIBLE: tagOLEMISC = 524288; +pub const tagOLEMISC_OLEMISC_WANTSTOMENUMERGE: tagOLEMISC = 1048576; +pub const tagOLEMISC_OLEMISC_SUPPORTSMULTILEVELUNDO: tagOLEMISC = 2097152; +pub type tagOLEMISC = ::std::os::raw::c_int; +pub use self::tagOLEMISC as OLEMISC; +pub const tagOLECLOSE_OLECLOSE_SAVEIFDIRTY: tagOLECLOSE = 0; +pub const tagOLECLOSE_OLECLOSE_NOSAVE: tagOLECLOSE = 1; +pub const tagOLECLOSE_OLECLOSE_PROMPTSAVE: tagOLECLOSE = 2; +pub type tagOLECLOSE = ::std::os::raw::c_int; +pub use self::tagOLECLOSE as OLECLOSE; +extern "C" { + pub static IID_IOleObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetClientSite: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pClientSite: *mut IOleClientSite) -> HRESULT, + >, + pub GetClientSite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppClientSite: *mut *mut IOleClientSite, + ) -> HRESULT, + >, + pub SetHostNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + szContainerApp: LPCOLESTR, + szContainerObj: LPCOLESTR, + ) -> HRESULT, + >, + pub Close: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, dwSaveOption: DWORD) -> HRESULT, + >, + pub SetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwWhichMoniker: DWORD, + pmk: *mut IMoniker, + ) -> HRESULT, + >, + pub GetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwAssign: DWORD, + dwWhichMoniker: DWORD, + ppmk: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub InitFromData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + pDataObject: *mut IDataObject, + fCreation: BOOL, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetClipboardData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwReserved: DWORD, + ppDataObject: *mut *mut IDataObject, + ) -> HRESULT, + >, + pub DoVerb: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + iVerb: LONG, + lpmsg: LPMSG, + pActiveSite: *mut IOleClientSite, + lindex: LONG, + hwndParent: HWND, + lprcPosRect: LPCRECT, + ) -> HRESULT, + >, + pub EnumVerbs: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppEnumOleVerb: *mut *mut IEnumOLEVERB, + ) -> HRESULT, + >, + pub Update: ::std::option::Option HRESULT>, + pub IsUpToDate: ::std::option::Option HRESULT>, + pub GetUserClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pClsid: *mut CLSID) -> HRESULT, + >, + pub GetUserType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwFormOfType: DWORD, + pszUserType: *mut LPOLESTR, + ) -> HRESULT, + >, + pub SetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwDrawAspect: DWORD, + psizel: *mut SIZEL, + ) -> HRESULT, + >, + pub GetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwDrawAspect: DWORD, + psizel: *mut SIZEL, + ) -> HRESULT, + >, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + pAdvSink: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub GetMiscStatus: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwAspect: DWORD, + pdwStatus: *mut DWORD, + ) -> HRESULT, + >, + pub SetColorScheme: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pLogpal: *mut LOGPALETTE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 192usize, + concat!("Size of: ", stringify!(IOleObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClientSite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetClientSite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClientSite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetClientSite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHostNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetHostNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Close) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Close) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMoniker) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMoniker) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitFromData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(InitFromData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClipboardData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetClipboardData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoVerb) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(DoVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumVerbs) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(EnumVerbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Update) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Update) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsUpToDate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(IsUpToDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserClassID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetUserClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserType) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetUserType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetExtent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetExtent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtent) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetExtent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMiscStatus) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetMiscStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetColorScheme) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetColorScheme) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleObject { + pub lpVtbl: *mut IOleObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleObject), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagOLERENDER_OLERENDER_NONE: tagOLERENDER = 0; +pub const tagOLERENDER_OLERENDER_DRAW: tagOLERENDER = 1; +pub const tagOLERENDER_OLERENDER_FORMAT: tagOLERENDER = 2; +pub const tagOLERENDER_OLERENDER_ASIS: tagOLERENDER = 3; +pub type tagOLERENDER = ::std::os::raw::c_int; +pub use self::tagOLERENDER as OLERENDER; +pub type LPOLERENDER = *mut OLERENDER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOBJECTDESCRIPTOR { + pub cbSize: ULONG, + pub clsid: CLSID, + pub dwDrawAspect: DWORD, + pub sizel: SIZEL, + pub pointl: POINTL, + pub dwStatus: DWORD, + pub dwFullUserTypeName: DWORD, + pub dwSrcOfCopy: DWORD, +} +#[test] +fn bindgen_test_layout_tagOBJECTDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagOBJECTDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagOBJECTDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDrawAspect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwDrawAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sizel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(sizel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(pointl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFullUserTypeName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwFullUserTypeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSrcOfCopy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwSrcOfCopy) + ) + ); +} +pub type OBJECTDESCRIPTOR = tagOBJECTDESCRIPTOR; +pub type POBJECTDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LPOBJECTDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LINKSRCDESCRIPTOR = tagOBJECTDESCRIPTOR; +pub type PLINKSRCDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LPLINKSRCDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +extern "C" { + pub static mut IOLETypes_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IOLETypes_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLEWINDOW = *mut IOleWindow; +extern "C" { + pub static IID_IOleWindow: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleWindowVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleWindow, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleWindow, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleWindow, fEnterMode: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleWindowVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOleWindowVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleWindowVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleWindow { + pub lpVtbl: *mut IOleWindowVtbl, +} +#[test] +fn bindgen_test_layout_IOleWindow() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleWindow)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleWindow)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleWindow), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLELINK = *mut IOleLink; +pub const tagOLEUPDATE_OLEUPDATE_ALWAYS: tagOLEUPDATE = 1; +pub const tagOLEUPDATE_OLEUPDATE_ONCALL: tagOLEUPDATE = 3; +pub type tagOLEUPDATE = ::std::os::raw::c_int; +pub use self::tagOLEUPDATE as OLEUPDATE; +pub type LPOLEUPDATE = *mut OLEUPDATE; +pub type POLEUPDATE = *mut OLEUPDATE; +pub const tagOLELINKBIND_OLELINKBIND_EVENIFCLASSDIFF: tagOLELINKBIND = 1; +pub type tagOLELINKBIND = ::std::os::raw::c_int; +pub use self::tagOLELINKBIND as OLELINKBIND; +extern "C" { + pub static IID_IOleLink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleLinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleLink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetUpdateOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, dwUpdateOpt: DWORD) -> HRESULT, + >, + pub GetUpdateOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pdwUpdateOpt: *mut DWORD) -> HRESULT, + >, + pub SetSourceMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleLink, + pmk: *mut IMoniker, + rclsid: *const IID, + ) -> HRESULT, + >, + pub GetSourceMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppmk: *mut *mut IMoniker) -> HRESULT, + >, + pub SetSourceDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pszStatusText: LPCOLESTR) -> HRESULT, + >, + pub GetSourceDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppszDisplayName: *mut LPOLESTR) -> HRESULT, + >, + pub BindToSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, bindflags: DWORD, pbc: *mut IBindCtx) -> HRESULT, + >, + pub BindIfRunning: ::std::option::Option HRESULT>, + pub GetBoundSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppunk: *mut *mut IUnknown) -> HRESULT, + >, + pub UnbindSource: ::std::option::Option HRESULT>, + pub Update: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pbc: *mut IBindCtx) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleLinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IOleLinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleLinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetUpdateOptions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetUpdateOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUpdateOptions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetUpdateOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSourceMoniker) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetSourceMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSourceMoniker) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetSourceMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSourceDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetSourceDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSourceDisplayName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetSourceDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToSource) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(BindToSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindIfRunning) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(BindIfRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBoundSource) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetBoundSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnbindSource) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(UnbindSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Update) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(Update) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleLink { + pub lpVtbl: *mut IOleLinkVtbl, +} +#[test] +fn bindgen_test_layout_IOleLink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleLink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleLink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleLink), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEITEMCONTAINER = *mut IOleItemContainer; +pub const tagBINDSPEED_BINDSPEED_INDEFINITE: tagBINDSPEED = 1; +pub const tagBINDSPEED_BINDSPEED_MODERATE: tagBINDSPEED = 2; +pub const tagBINDSPEED_BINDSPEED_IMMEDIATE: tagBINDSPEED = 3; +pub type tagBINDSPEED = ::std::os::raw::c_int; +pub use self::tagBINDSPEED as BINDSPEED; +pub const tagOLECONTF_OLECONTF_EMBEDDINGS: tagOLECONTF = 1; +pub const tagOLECONTF_OLECONTF_LINKS: tagOLECONTF = 2; +pub const tagOLECONTF_OLECONTF_OTHERS: tagOLECONTF = 4; +pub const tagOLECONTF_OLECONTF_ONLYUSER: tagOLECONTF = 8; +pub const tagOLECONTF_OLECONTF_ONLYIFRUNNING: tagOLECONTF = 16; +pub type tagOLECONTF = ::std::os::raw::c_int; +pub use self::tagOLECONTF as OLECONTF; +extern "C" { + pub static IID_IOleItemContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleItemContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub EnumObjects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + grfFlags: DWORD, + ppenum: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, + pub LockContainer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleItemContainer, fLock: BOOL) -> HRESULT, + >, + pub GetObjectA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pszItem: LPOLESTR, + dwSpeedNeeded: DWORD, + pbc: *mut IBindCtx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetObjectStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pszItem: LPOLESTR, + pbc: *mut IBindCtx, + riid: *const IID, + ppvStorage: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleItemContainer, pszItem: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleItemContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleItemContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleItemContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjects) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(EnumObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(LockContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectA) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(GetObjectA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectStorage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(GetObjectStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(IsRunning) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleItemContainer { + pub lpVtbl: *mut IOleItemContainerVtbl, +} +#[test] +fn bindgen_test_layout_IOleItemContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleItemContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleItemContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEUIWINDOW = *mut IOleInPlaceUIWindow; +pub type BORDERWIDTHS = RECT; +pub type LPBORDERWIDTHS = LPRECT; +pub type LPCBORDERWIDTHS = LPCRECT; +extern "C" { + pub static IID_IOleInPlaceUIWindow: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceUIWindowVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, fEnterMode: BOOL) -> HRESULT, + >, + pub GetBorder: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, lprectBorder: LPRECT) -> HRESULT, + >, + pub RequestBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetActiveObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pActiveObject: *mut IOleInPlaceActiveObject, + pszObjName: LPCOLESTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceUIWindowVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleInPlaceUIWindowVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceUIWindowVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBorder) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(GetBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestBorderSpace) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(RequestBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBorderSpace) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(SetBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetActiveObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(SetActiveObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceUIWindow { + pub lpVtbl: *mut IOleInPlaceUIWindowVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceUIWindow() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceUIWindow)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceUIWindow)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindow), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEACTIVEOBJECT = *mut IOleInPlaceActiveObject; +extern "C" { + pub static IID_IOleInPlaceActiveObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceActiveObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceActiveObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fEnterMode: BOOL) -> HRESULT, + >, + pub TranslateAcceleratorA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, lpmsg: LPMSG) -> HRESULT, + >, + pub OnFrameWindowActivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fActivate: BOOL) -> HRESULT, + >, + pub OnDocWindowActivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fActivate: BOOL) -> HRESULT, + >, + pub ResizeBorder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fEnable: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceActiveObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IOleInPlaceActiveObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceActiveObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TranslateAcceleratorA) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(TranslateAcceleratorA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnFrameWindowActivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(OnFrameWindowActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDocWindowActivate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(OnDocWindowActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResizeBorder) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(ResizeBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(EnableModeless) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceActiveObject { + pub lpVtbl: *mut IOleInPlaceActiveObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceActiveObject() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceActiveObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceActiveObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy( + This: *mut IOleInPlaceActiveObject, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteResizeBorder_Proxy( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + riid: *const IID, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteResizeBorder_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPOLEINPLACEFRAME = *mut IOleInPlaceFrame; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOIFI { + pub cb: UINT, + pub fMDIApp: BOOL, + pub hwndFrame: HWND, + pub haccel: HACCEL, + pub cAccelEntries: UINT, +} +#[test] +fn bindgen_test_layout_tagOIFI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagOIFI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOIFI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMDIApp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(fMDIApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFrame) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(hwndFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).haccel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(haccel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccelEntries) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(cAccelEntries) + ) + ); +} +pub type OLEINPLACEFRAMEINFO = tagOIFI; +pub type LPOLEINPLACEFRAMEINFO = *mut tagOIFI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOleMenuGroupWidths { + pub width: [LONG; 6usize], +} +#[test] +fn bindgen_test_layout_tagOleMenuGroupWidths() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagOleMenuGroupWidths)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagOleMenuGroupWidths)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOleMenuGroupWidths), + "::", + stringify!(width) + ) + ); +} +pub type OLEMENUGROUPWIDTHS = tagOleMenuGroupWidths; +pub type LPOLEMENUGROUPWIDTHS = *mut tagOleMenuGroupWidths; +pub type HOLEMENU = HGLOBAL; +extern "C" { + pub static IID_IOleInPlaceFrame: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceFrameVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, fEnterMode: BOOL) -> HRESULT, + >, + pub GetBorder: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, lprectBorder: LPRECT) -> HRESULT, + >, + pub RequestBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetActiveObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pActiveObject: *mut IOleInPlaceActiveObject, + pszObjName: LPCOLESTR, + ) -> HRESULT, + >, + pub InsertMenus: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + hmenuShared: HMENU, + lpMenuWidths: LPOLEMENUGROUPWIDTHS, + ) -> HRESULT, + >, + pub SetMenu: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + hmenuShared: HMENU, + holemenu: HOLEMENU, + hwndActiveObject: HWND, + ) -> HRESULT, + >, + pub RemoveMenus: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, hmenuShared: HMENU) -> HRESULT, + >, + pub SetStatusText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, pszStatusText: LPCOLESTR) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, fEnable: BOOL) -> HRESULT, + >, + pub TranslateAcceleratorA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, lpmsg: LPMSG, wID: WORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceFrameVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IOleInPlaceFrameVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceFrameVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBorder) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(GetBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestBorderSpace) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(RequestBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBorderSpace) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetActiveObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetActiveObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InsertMenus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(InsertMenus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMenu) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveMenus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(RemoveMenus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetStatusText) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetStatusText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(EnableModeless) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TranslateAcceleratorA) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(TranslateAcceleratorA) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceFrame { + pub lpVtbl: *mut IOleInPlaceFrameVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceFrame() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceFrame)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceFrame)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrame), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEOBJECT = *mut IOleInPlaceObject; +extern "C" { + pub static IID_IOleInPlaceObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceObject, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceObject, fEnterMode: BOOL) -> HRESULT, + >, + pub InPlaceDeactivate: + ::std::option::Option HRESULT>, + pub UIDeactivate: + ::std::option::Option HRESULT>, + pub SetObjectRects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceObject, + lprcPosRect: LPCRECT, + lprcClipRect: LPCRECT, + ) -> HRESULT, + >, + pub ReactivateAndUndo: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleInPlaceObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleInPlaceObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InPlaceDeactivate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(InPlaceDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UIDeactivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(UIDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetObjectRects) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(SetObjectRects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReactivateAndUndo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(ReactivateAndUndo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceObject { + pub lpVtbl: *mut IOleInPlaceObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObject), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACESITE = *mut IOleInPlaceSite; +extern "C" { + pub static IID_IOleInPlaceSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, fEnterMode: BOOL) -> HRESULT, + >, + pub CanInPlaceActivate: + ::std::option::Option HRESULT>, + pub OnInPlaceActivate: + ::std::option::Option HRESULT>, + pub OnUIActivate: + ::std::option::Option HRESULT>, + pub GetWindowContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceSite, + ppFrame: *mut *mut IOleInPlaceFrame, + ppDoc: *mut *mut IOleInPlaceUIWindow, + lprcPosRect: LPRECT, + lprcClipRect: LPRECT, + lpFrameInfo: LPOLEINPLACEFRAMEINFO, + ) -> HRESULT, + >, + pub Scroll: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, scrollExtant: SIZE) -> HRESULT, + >, + pub OnUIDeactivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, fUndoable: BOOL) -> HRESULT, + >, + pub OnInPlaceDeactivate: + ::std::option::Option HRESULT>, + pub DiscardUndoState: + ::std::option::Option HRESULT>, + pub DeactivateAndUndo: + ::std::option::Option HRESULT>, + pub OnPosRectChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, lprcPosRect: LPCRECT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IOleInPlaceSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CanInPlaceActivate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(CanInPlaceActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnInPlaceActivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnInPlaceActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUIActivate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnUIActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindowContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(GetWindowContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Scroll) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(Scroll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUIDeactivate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnUIDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnInPlaceDeactivate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnInPlaceDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiscardUndoState) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(DiscardUndoState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeactivateAndUndo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(DeactivateAndUndo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnPosRectChange) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnPosRectChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceSite { + pub lpVtbl: *mut IOleInPlaceSiteVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceSite() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSite), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IContinue: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContinueVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IContinue, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub FContinue: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IContinueVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IContinueVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IContinueVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FContinue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(FContinue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContinue { + pub lpVtbl: *mut IContinueVtbl, +} +#[test] +fn bindgen_test_layout_IContinue() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IContinue)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IContinue)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IContinue), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPVIEWOBJECT = *mut IViewObject; +extern "C" { + pub static IID_IViewObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Draw: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT, + >, + pub GetColorSet: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT, + >, + pub Freeze: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT, + >, + pub Unfreeze: ::std::option::Option< + unsafe extern "C" fn(This: *mut IViewObject, dwFreeze: DWORD) -> HRESULT, + >, + pub SetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + aspects: DWORD, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IViewObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IViewObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Draw) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Draw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetColorSet) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(GetColorSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Freeze) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Freeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unfreeze) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Unfreeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAdvise) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(SetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAdvise) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(GetAdvise) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject { + pub lpVtbl: *mut IViewObjectVtbl, +} +#[test] +fn bindgen_test_layout_IViewObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IViewObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IViewObject_RemoteDraw_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pContinue: *mut IContinue, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteDraw_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteGetColorSet_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: ULONG_PTR, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteGetColorSet_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteFreeze_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteFreeze_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteGetAdvise_Proxy( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteGetAdvise_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPVIEWOBJECT2 = *mut IViewObject2; +extern "C" { + pub static IID_IViewObject2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Draw: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT, + >, + pub GetColorSet: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT, + >, + pub Freeze: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT, + >, + pub Unfreeze: ::std::option::Option< + unsafe extern "C" fn(This: *mut IViewObject2, dwFreeze: DWORD) -> HRESULT, + >, + pub SetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + aspects: DWORD, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + ptd: *mut DVTARGETDEVICE, + lpsizel: LPSIZEL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IViewObject2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IViewObject2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Draw) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Draw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetColorSet) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetColorSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Freeze) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Freeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unfreeze) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Unfreeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAdvise) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(SetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAdvise) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetExtent) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject2 { + pub lpVtbl: *mut IViewObject2Vtbl, +} +#[test] +fn bindgen_test_layout_IViewObject2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IViewObject2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPDROPSOURCE = *mut IDropSource; +extern "C" { + pub static IID_IDropSource: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSource, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryContinueDrag: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSource, + fEscapePressed: BOOL, + grfKeyState: DWORD, + ) -> HRESULT, + >, + pub GiveFeedback: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDropSource, dwEffect: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDropSourceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IDropSourceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryContinueDrag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(QueryContinueDrag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GiveFeedback) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(GiveFeedback) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSource { + pub lpVtbl: *mut IDropSourceVtbl, +} +#[test] +fn bindgen_test_layout_IDropSource() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropSource)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSource)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSource), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPDROPTARGET = *mut IDropTarget; +extern "C" { + pub static IID_IDropTarget: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropTargetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DragEnter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + pDataObj: *mut IDataObject, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, + pub DragOver: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, + pub DragLeave: ::std::option::Option HRESULT>, + pub Drop: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + pDataObj: *mut IDataObject, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDropTargetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDropTargetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropTargetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragEnter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragEnter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragOver) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragOver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragLeave) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragLeave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Drop) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(Drop) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropTarget { + pub lpVtbl: *mut IDropTargetVtbl, +} +#[test] +fn bindgen_test_layout_IDropTarget() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropTarget)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropTarget)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropTarget), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IDropSourceNotify: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceNotifyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSourceNotify, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DragEnterTarget: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDropSourceNotify, hwndTarget: HWND) -> HRESULT, + >, + pub DragLeaveTarget: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IDropSourceNotifyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IDropSourceNotifyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceNotifyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragEnterTarget) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(DragEnterTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragLeaveTarget) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(DragLeaveTarget) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceNotify { + pub lpVtbl: *mut IDropSourceNotifyVtbl, +} +#[test] +fn bindgen_test_layout_IDropSourceNotify() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropSourceNotify)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceNotify)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotify), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IEnterpriseDropTarget: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnterpriseDropTargetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnterpriseDropTarget, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetDropSourceEnterpriseId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnterpriseDropTarget, identity: LPCWSTR) -> HRESULT, + >, + pub IsEvaluatingEdpPolicy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnterpriseDropTarget, value: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnterpriseDropTargetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IEnterpriseDropTargetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnterpriseDropTargetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDropSourceEnterpriseId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(SetDropSourceEnterpriseId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEvaluatingEdpPolicy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(IsEvaluatingEdpPolicy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnterpriseDropTarget { + pub lpVtbl: *mut IEnterpriseDropTargetVtbl, +} +#[test] +fn bindgen_test_layout_IEnterpriseDropTarget() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnterpriseDropTarget)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnterpriseDropTarget)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTarget), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMOLEVERB = *mut IEnumOLEVERB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOLEVERB { + pub lVerb: LONG, + pub lpszVerbName: LPOLESTR, + pub fuFlags: DWORD, + pub grfAttribs: DWORD, +} +#[test] +fn bindgen_test_layout_tagOLEVERB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagOLEVERB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOLEVERB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVerb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(lVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszVerbName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(lpszVerbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fuFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(fuFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfAttribs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(grfAttribs) + ) + ); +} +pub type OLEVERB = tagOLEVERB; +pub type LPOLEVERB = *mut tagOLEVERB; +pub const tagOLEVERBATTRIB_OLEVERBATTRIB_NEVERDIRTIES: tagOLEVERBATTRIB = 1; +pub const tagOLEVERBATTRIB_OLEVERBATTRIB_ONCONTAINERMENU: tagOLEVERBATTRIB = 2; +pub type tagOLEVERBATTRIB = ::std::os::raw::c_int; +pub use self::tagOLEVERBATTRIB as OLEVERBATTRIB; +extern "C" { + pub static IID_IEnumOLEVERB: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumOLEVERBVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumOLEVERB, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumOLEVERB, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumOLEVERB, ppenum: *mut *mut IEnumOLEVERB) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumOLEVERBVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumOLEVERBVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumOLEVERBVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumOLEVERB { + pub lpVtbl: *mut IEnumOLEVERBVtbl, +} +#[test] +fn bindgen_test_layout_IEnumOLEVERB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumOLEVERB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumOLEVERB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERB), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumOLEVERB_RemoteNext_Proxy( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn HACCEL_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HACCEL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HACCEL_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HACCEL); +} +extern "C" { + pub fn HGLOBAL_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HGLOBAL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HGLOBAL_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HGLOBAL); +} +extern "C" { + pub fn HMENU_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HMENU, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HMENU_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HMENU); +} +extern "C" { + pub fn HWND_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HWND, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HWND_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HWND); +} +extern "C" { + pub fn HACCEL_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HACCEL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HACCEL_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HACCEL); +} +extern "C" { + pub fn HGLOBAL_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HGLOBAL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HGLOBAL_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HGLOBAL); +} +extern "C" { + pub fn HMENU_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HMENU, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HMENU_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HMENU); +} +extern "C" { + pub fn HWND_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HWND, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HWND_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HWND); +} +extern "C" { + pub fn IOleCache2_UpdateCache_Proxy( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IOleCache2_UpdateCache_Stub( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_TranslateAccelerator_Proxy( + This: *mut IOleInPlaceActiveObject, + lpmsg: LPMSG, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_TranslateAccelerator_Stub( + This: *mut IOleInPlaceActiveObject, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_ResizeBorder_Proxy( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_ResizeBorder_Stub( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + riid: *const IID, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Draw_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Draw_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pContinue: *mut IContinue, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetColorSet_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetColorSet_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: ULONG_PTR, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Freeze_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Freeze_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetAdvise_Proxy( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetAdvise_Stub( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_Next_Proxy( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_Next_Stub( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPSERVICEPROVIDER = *mut IServiceProvider; +extern "C" { + pub static IID_IServiceProvider: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServiceProviderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServiceProvider, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryService: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IServiceProviderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IServiceProviderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServiceProviderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryService) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(QueryService) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServiceProvider { + pub lpVtbl: *mut IServiceProviderVtbl, +} +#[test] +fn bindgen_test_layout_IServiceProvider() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IServiceProvider)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServiceProvider)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServiceProvider), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IServiceProvider_RemoteQueryService_Proxy( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IServiceProvider_RemoteQueryService_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IServiceProvider_QueryService_Proxy( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IServiceProvider_QueryService_Stub( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DOMDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DOMFreeThreadedDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLHTTPRequest { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDSOControl { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _xml_error { + pub _nLine: ::std::os::raw::c_uint, + pub _pchBuf: BSTR, + pub _cchBuf: ::std::os::raw::c_uint, + pub _ich: ::std::os::raw::c_uint, + pub _pszFound: BSTR, + pub _pszExpected: BSTR, + pub _reserved1: DWORD, + pub _reserved2: DWORD, +} +#[test] +fn bindgen_test_layout__xml_error() { + const UNINIT: ::std::mem::MaybeUninit<_xml_error> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_xml_error>(), + 48usize, + concat!("Size of: ", stringify!(_xml_error)) + ); + assert_eq!( + ::std::mem::align_of::<_xml_error>(), + 8usize, + concat!("Alignment of ", stringify!(_xml_error)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._nLine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_nLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pchBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pchBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._cchBuf) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_cchBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._ich) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_ich) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pszFound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pszFound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pszExpected) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pszExpected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._reserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._reserved2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_reserved2) + ) + ); +} +pub type XML_ERROR = _xml_error; +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagDOMNodeType_NODE_INVALID: tagDOMNodeType = 0; +pub const tagDOMNodeType_NODE_ELEMENT: tagDOMNodeType = 1; +pub const tagDOMNodeType_NODE_ATTRIBUTE: tagDOMNodeType = 2; +pub const tagDOMNodeType_NODE_TEXT: tagDOMNodeType = 3; +pub const tagDOMNodeType_NODE_CDATA_SECTION: tagDOMNodeType = 4; +pub const tagDOMNodeType_NODE_ENTITY_REFERENCE: tagDOMNodeType = 5; +pub const tagDOMNodeType_NODE_ENTITY: tagDOMNodeType = 6; +pub const tagDOMNodeType_NODE_PROCESSING_INSTRUCTION: tagDOMNodeType = 7; +pub const tagDOMNodeType_NODE_COMMENT: tagDOMNodeType = 8; +pub const tagDOMNodeType_NODE_DOCUMENT: tagDOMNodeType = 9; +pub const tagDOMNodeType_NODE_DOCUMENT_TYPE: tagDOMNodeType = 10; +pub const tagDOMNodeType_NODE_DOCUMENT_FRAGMENT: tagDOMNodeType = 11; +pub const tagDOMNodeType_NODE_NOTATION: tagDOMNodeType = 12; +pub type tagDOMNodeType = ::std::os::raw::c_int; +pub use self::tagDOMNodeType as DOMNodeType; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_ELEMENT: tagXMLEMEM_TYPE = 0; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_TEXT: tagXMLEMEM_TYPE = 1; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_COMMENT: tagXMLEMEM_TYPE = 2; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_DOCUMENT: tagXMLEMEM_TYPE = 3; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_DTD: tagXMLEMEM_TYPE = 4; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_PI: tagXMLEMEM_TYPE = 5; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_OTHER: tagXMLEMEM_TYPE = 6; +pub type tagXMLEMEM_TYPE = ::std::os::raw::c_int; +pub use self::tagXMLEMEM_TYPE as XMLELEM_TYPE; +extern "C" { + pub static LIBID_MSXML: IID; +} +extern "C" { + pub static IID_IXMLDOMImplementation: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMImplementationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMImplementation, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub hasFeature: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + feature: BSTR, + version: BSTR, + hasFeature: *mut VARIANT_BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMImplementationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IXMLDOMImplementationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMImplementationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasFeature) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(hasFeature) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMImplementation { + pub lpVtbl: *mut IXMLDOMImplementationVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMImplementation() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMImplementation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMImplementation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementation), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNode: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMNodeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNode { + pub lpVtbl: *mut IXMLDOMNodeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNode() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNode)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNode)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNode), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocumentFragment: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentFragmentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + type_: *mut DOMNodeType, + ) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + namespaceURI: *mut BSTR, + ) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + prefixString: *mut BSTR, + ) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentFragmentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentFragmentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentFragmentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentFragment { + pub lpVtbl: *mut IXMLDOMDocumentFragmentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentFragment() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentFragment)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentFragment)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragment), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocument: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + documentType: *mut *mut IXMLDOMDocumentType, + ) -> HRESULT, + >, + pub get_implementation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + impl_: *mut *mut IXMLDOMImplementation, + ) -> HRESULT, + >, + pub get_documentElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + DOMElement: *mut *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub putref_documentElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + DOMElement: *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + tagName: BSTR, + element: *mut *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub createDocumentFragment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + docFrag: *mut *mut IXMLDOMDocumentFragment, + ) -> HRESULT, + >, + pub createTextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + text: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, + pub createComment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + comment: *mut *mut IXMLDOMComment, + ) -> HRESULT, + >, + pub createCDATASection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + cdata: *mut *mut IXMLDOMCDATASection, + ) -> HRESULT, + >, + pub createProcessingInstruction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + target: BSTR, + data: BSTR, + pi: *mut *mut IXMLDOMProcessingInstruction, + ) -> HRESULT, + >, + pub createAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + name: BSTR, + attribute: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub createEntityReference: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + name: BSTR, + entityRef: *mut *mut IXMLDOMEntityReference, + ) -> HRESULT, + >, + pub getElementsByTagName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + tagName: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub createNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + Type: VARIANT, + name: BSTR, + namespaceURI: BSTR, + node: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub nodeFromID: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + idString: BSTR, + node: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + xmlSource: VARIANT, + isSuccessful: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + value: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_parseError: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + errorObj: *mut *mut IXMLDOMParseError, + ) -> HRESULT, + >, + pub get_url: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, urlString: *mut BSTR) -> HRESULT, + >, + pub get_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isAsync: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isAsync: VARIANT_BOOL) -> HRESULT, + >, + pub abort: ::std::option::Option HRESULT>, + pub loadXML: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + bstrXML: BSTR, + isSuccessful: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub save: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, destination: VARIANT) -> HRESULT, + >, + pub get_validateOnParse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + isValidating: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub put_validateOnParse: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isValidating: VARIANT_BOOL) -> HRESULT, + >, + pub get_resolveExternals: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isResolving: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_resolveExternals: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isResolving: VARIANT_BOOL) -> HRESULT, + >, + pub get_preserveWhiteSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + isPreserving: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub put_preserveWhiteSpace: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isPreserving: VARIANT_BOOL) -> HRESULT, + >, + pub put_onreadystatechange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, readystatechangeSink: VARIANT) -> HRESULT, + >, + pub put_ondataavailable: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, ondataavailableSink: VARIANT) -> HRESULT, + >, + pub put_ontransformnode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, ontransformnodeSink: VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 608usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_implementation) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_implementation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_documentElement) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_documentElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).putref_documentElement) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(putref_documentElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createDocumentFragment) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createDocumentFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createTextNode) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createTextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createComment) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createCDATASection) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createCDATASection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createProcessingInstruction) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createProcessingInstruction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createAttribute) as usize - ptr as usize }, + 424usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createEntityReference) as usize - ptr as usize }, + 432usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createEntityReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getElementsByTagName) as usize - ptr as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(getElementsByTagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createNode) as usize - ptr as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nodeFromID) as usize - ptr as usize }, + 456usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(nodeFromID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize }, + 464usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 472usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parseError) as usize - ptr as usize }, + 480usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parseError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize }, + 488usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_url) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_async) as usize - ptr as usize }, + 496usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_async) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abort) as usize - ptr as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).loadXML) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(loadXML) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).save) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_validateOnParse) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_validateOnParse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_validateOnParse) as usize - ptr as usize }, + 544usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_validateOnParse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_resolveExternals) as usize - ptr as usize }, + 552usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_resolveExternals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_resolveExternals) as usize - ptr as usize }, + 560usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_resolveExternals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_preserveWhiteSpace) as usize - ptr as usize }, + 568usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_preserveWhiteSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_preserveWhiteSpace) as usize - ptr as usize }, + 576usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_preserveWhiteSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_onreadystatechange) as usize - ptr as usize }, + 584usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_onreadystatechange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_ondataavailable) as usize - ptr as usize }, + 592usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_ondataavailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_ontransformnode) as usize - ptr as usize }, + 600usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_ontransformnode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocument { + pub lpVtbl: *mut IXMLDOMDocumentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocument() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocument)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocument)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocument), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNodeList: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeListVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNodeList, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + index: ::std::os::raw::c_long, + listItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + listLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub nextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + nextItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub reset: ::std::option::Option HRESULT>, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNodeList, ppUnk: *mut *mut IUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IXMLDOMNodeListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get_item) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nextNode) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(nextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get__newEnum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeList { + pub lpVtbl: *mut IXMLDOMNodeListVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNodeList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeList), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNamedNodeMap: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNamedNodeMapVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNamedNodeMap, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub getNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + name: BSTR, + namedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub setNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + newItem: *mut IXMLDOMNode, + nameItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + name: BSTR, + namedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + index: ::std::os::raw::c_long, + listItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + listLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub getQualifiedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + baseName: BSTR, + namespaceURI: BSTR, + qualifiedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeQualifiedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + baseName: BSTR, + namespaceURI: BSTR, + qualifiedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub nextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + nextItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub reset: + ::std::option::Option HRESULT>, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNamedNodeMap, ppUnk: *mut *mut IUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNamedNodeMapVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(IXMLDOMNamedNodeMapVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNamedNodeMapVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getNamedItem) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(getNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setNamedItem) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(setNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeNamedItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(removeNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get_item) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getQualifiedItem) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(getQualifiedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeQualifiedItem) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(removeQualifiedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nextNode) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(nextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get__newEnum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNamedNodeMap { + pub lpVtbl: *mut IXMLDOMNamedNodeMapVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNamedNodeMap() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNamedNodeMap)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNamedNodeMap)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMap), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMCharacterData: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCharacterDataVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCharacterDataVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(IXMLDOMCharacterDataVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCharacterDataVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(replaceData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCharacterData { + pub lpVtbl: *mut IXMLDOMCharacterDataVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMCharacterData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMCharacterData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCharacterData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterData), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMAttribute: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMAttributeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeName: *mut BSTR) -> HRESULT, + >, + pub get_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeValue: *mut VARIANT) -> HRESULT, + >, + pub put_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeValue: VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMAttributeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMAttributeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMAttributeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_value) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMAttribute { + pub lpVtbl: *mut IXMLDOMAttributeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMAttribute() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMAttribute)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMAttribute)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttribute), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMElement: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMElementVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, tagName: *mut BSTR) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR, value: *mut VARIANT) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR, value: VARIANT) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR) -> HRESULT, + >, + pub getAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + name: BSTR, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub setAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + DOMAttribute: *mut IXMLDOMAttribute, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub removeAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + DOMAttribute: *mut IXMLDOMAttribute, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub getElementsByTagName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + tagName: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub normalize: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IXMLDOMElementVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMElementVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMElementVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttributeNode) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttributeNode) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(setAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttributeNode) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getElementsByTagName) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getElementsByTagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).normalize) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(normalize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMElement { + pub lpVtbl: *mut IXMLDOMElementVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMElement() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMElement)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMElement)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElement), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMText: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMTextVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, data: *mut BSTR) -> HRESULT, + >, + pub put_data: + ::std::option::Option HRESULT>, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: + ::std::option::Option HRESULT>, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub splitText: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + rightHandTextNode: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMTextVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMTextVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMTextVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(replaceData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).splitText) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(splitText) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMText { + pub lpVtbl: *mut IXMLDOMTextVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMText() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMText)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMText)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMText), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMComment: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCommentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCommentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(IXMLDOMCommentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCommentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(replaceData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMComment { + pub lpVtbl: *mut IXMLDOMCommentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMComment() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMComment)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMComment)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMComment), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMProcessingInstruction: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMProcessingInstructionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction) -> ULONG, + >, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + pctinfo: *mut UINT, + ) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + value: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + type_: *mut DOMNodeType, + ) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nodeType: *mut BSTR, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + typedValue: VARIANT, + ) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dataTypeName: BSTR, + ) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + namespaceURI: *mut BSTR, + ) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + prefixString: *mut BSTR, + ) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nameString: *mut BSTR, + ) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_target: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, name: *mut BSTR) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMProcessingInstructionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMProcessingInstructionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IXMLDOMProcessingInstructionVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_target) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_target) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMProcessingInstruction { + pub lpVtbl: *mut IXMLDOMProcessingInstructionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMProcessingInstruction() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMProcessingInstruction)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMProcessingInstruction)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstruction), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMCDATASection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCDATASectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub splitText: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + rightHandTextNode: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCDATASectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMCDATASectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCDATASectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(replaceData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).splitText) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(splitText) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCDATASection { + pub lpVtbl: *mut IXMLDOMCDATASectionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMCDATASection() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMCDATASection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCDATASection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASection), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocumentType: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentTypeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, rootName: *mut BSTR) -> HRESULT, + >, + pub get_entities: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + entityMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub get_notations: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + notationMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentTypeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentTypeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentTypeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_entities) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_entities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_notations) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_notations) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentType { + pub lpVtbl: *mut IXMLDOMDocumentTypeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentType() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentType)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentType)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentType), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNotation: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNotationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_publicId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, publicID: *mut VARIANT) -> HRESULT, + >, + pub get_systemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, systemID: *mut VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNotationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 360usize, + concat!("Size of: ", stringify!(IXMLDOMNotationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNotationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_publicId) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_publicId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_systemId) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_systemId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNotation { + pub lpVtbl: *mut IXMLDOMNotationVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNotation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNotation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNotation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotation), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMEntity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_publicId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, publicID: *mut VARIANT) -> HRESULT, + >, + pub get_systemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, systemID: *mut VARIANT) -> HRESULT, + >, + pub get_notationName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, name: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMEntityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_publicId) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_publicId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_systemId) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_systemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_notationName) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_notationName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntity { + pub lpVtbl: *mut IXMLDOMEntityVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMEntity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMEntityReference: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityReferenceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityReferenceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMEntityReferenceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityReferenceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityReference { + pub lpVtbl: *mut IXMLDOMEntityReferenceVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityReference() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMEntityReference)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityReference)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReference), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMParseError: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMParseErrorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_errorCode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + errorCode: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_url: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, urlString: *mut BSTR) -> HRESULT, + >, + pub get_reason: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, reasonString: *mut BSTR) -> HRESULT, + >, + pub get_srcText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, sourceString: *mut BSTR) -> HRESULT, + >, + pub get_line: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + lineNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_linepos: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + linePosition: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_filepos: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + filePosition: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMParseErrorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IXMLDOMParseErrorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMParseErrorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_errorCode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_errorCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_url) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_reason) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_srcText) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_srcText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_line) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_line) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_linepos) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_linepos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_filepos) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_filepos) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMParseError { + pub lpVtbl: *mut IXMLDOMParseErrorVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMParseError() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMParseError)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMParseError)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseError), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXTLRuntime: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXTLRuntimeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub uniqueID: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pID: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub depth: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pDepth: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub childNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub ancestorChildNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + bstrNodeName: BSTR, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub absoluteChildNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub formatIndex: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + lIndex: ::std::os::raw::c_long, + bstrFormat: BSTR, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + dblNumber: f64, + bstrFormat: BSTR, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatDate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + varDate: VARIANT, + bstrFormat: BSTR, + varDestLocale: VARIANT, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatTime: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + varTime: VARIANT, + bstrFormat: BSTR, + varDestLocale: VARIANT, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXTLRuntimeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXTLRuntimeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXTLRuntimeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uniqueID) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(uniqueID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(depth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).childNumber) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(childNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ancestorChildNumber) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(ancestorChildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).absoluteChildNumber) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(absoluteChildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatIndex) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatNumber) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatDate) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatTime) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatTime) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXTLRuntime { + pub lpVtbl: *mut IXTLRuntimeVtbl, +} +#[test] +fn bindgen_test_layout_IXTLRuntime() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXTLRuntime)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXTLRuntime)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntime), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static DIID_XMLDOMDocumentEvents: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDOMDocumentEventsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut XMLDOMDocumentEvents, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_XMLDOMDocumentEventsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(XMLDOMDocumentEventsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(XMLDOMDocumentEventsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(Invoke) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDOMDocumentEvents { + pub lpVtbl: *mut XMLDOMDocumentEventsVtbl, +} +#[test] +fn bindgen_test_layout_XMLDOMDocumentEvents() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(XMLDOMDocumentEvents)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(XMLDOMDocumentEvents)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEvents), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_DOMDocument: CLSID; +} +extern "C" { + pub static CLSID_DOMFreeThreadedDocument: CLSID; +} +extern "C" { + pub static IID_IXMLHttpRequest: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLHttpRequestVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub open: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrMethod: BSTR, + bstrUrl: BSTR, + varAsync: VARIANT, + bstrUser: VARIANT, + bstrPassword: VARIANT, + ) -> HRESULT, + >, + pub setRequestHeader: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrHeader: BSTR, + bstrValue: BSTR, + ) -> HRESULT, + >, + pub getResponseHeader: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrHeader: BSTR, + pbstrValue: *mut BSTR, + ) -> HRESULT, + >, + pub getAllResponseHeaders: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrHeaders: *mut BSTR) -> HRESULT, + >, + pub send: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, varBody: VARIANT) -> HRESULT, + >, + pub abort: ::std::option::Option HRESULT>, + pub get_status: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + plStatus: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_statusText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrStatus: *mut BSTR) -> HRESULT, + >, + pub get_responseXML: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, ppBody: *mut *mut IDispatch) -> HRESULT, + >, + pub get_responseText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrBody: *mut BSTR) -> HRESULT, + >, + pub get_responseBody: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pvarBody: *mut VARIANT) -> HRESULT, + >, + pub get_responseStream: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pvarBody: *mut VARIANT) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + plState: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub put_onreadystatechange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + pReadyStateSink: *mut IDispatch, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLHttpRequestVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IXMLHttpRequestVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLHttpRequestVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).open) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(open) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setRequestHeader) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(setRequestHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getResponseHeader) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(getResponseHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAllResponseHeaders) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(getAllResponseHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).send) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abort) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_statusText) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_statusText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseXML) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseXML) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseText) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseBody) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseBody) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseStream) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_onreadystatechange) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(put_onreadystatechange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLHttpRequest { + pub lpVtbl: *mut IXMLHttpRequestVtbl, +} +#[test] +fn bindgen_test_layout_IXMLHttpRequest() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLHttpRequest)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLHttpRequest)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequest), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLHTTPRequest: CLSID; +} +extern "C" { + pub static IID_IXMLDSOControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDSOControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_XMLDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + ppDoc: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub put_XMLDocument: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, ppDoc: *mut IXMLDOMDocument) -> HRESULT, + >, + pub get_JavaDSOCompatible: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, fJavaDSOCompatible: *mut BOOL) -> HRESULT, + >, + pub put_JavaDSOCompatible: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, fJavaDSOCompatible: BOOL) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + state: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDSOControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IXMLDSOControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDSOControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_XMLDocument) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_XMLDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_XMLDocument) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(put_XMLDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_JavaDSOCompatible) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_JavaDSOCompatible) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_JavaDSOCompatible) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(put_JavaDSOCompatible) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_readyState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDSOControl { + pub lpVtbl: *mut IXMLDSOControlVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDSOControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDSOControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDSOControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLDSOControl: CLSID; +} +extern "C" { + pub static IID_IXMLElementCollection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementCollectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElementCollection, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub put_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + v: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + p: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + ppUnk: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + var1: VARIANT, + var2: VARIANT, + ppDisp: *mut *mut IDispatch, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElementCollectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IXMLElementCollectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementCollectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_length) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(put_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(get__newEnum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(item) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementCollection { + pub lpVtbl: *mut IXMLElementCollectionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLElementCollection() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElementCollection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementCollection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollection), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDocument: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocumentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_root: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut *mut IXMLElement) -> HRESULT, + >, + pub get_fileSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_fileModifiedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_fileUpdatedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_URL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub put_URL: + ::std::option::Option HRESULT>, + pub get_mimeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, pl: *mut ::std::os::raw::c_long) -> HRESULT, + >, + pub get_charset: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub put_charset: + ::std::option::Option HRESULT>, + pub get_version: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_dtdURL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + vType: VARIANT, + var1: VARIANT, + ppElem: *mut *mut IXMLElement, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDocumentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IXMLDocumentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocumentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_root) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileModifiedDate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileModifiedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileUpdatedDate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileUpdatedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_URL) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_URL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(put_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_mimeType) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_mimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_charset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_charset) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(put_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_version) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dtdURL) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_dtdURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(createElement) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument { + pub lpVtbl: *mut IXMLDocumentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDocument() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDocument)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDocument2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_root: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut *mut IXMLElement2) -> HRESULT, + >, + pub get_fileSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_fileModifiedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_fileUpdatedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_URL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub put_URL: + ::std::option::Option HRESULT>, + pub get_mimeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pl: *mut ::std::os::raw::c_long) -> HRESULT, + >, + pub get_charset: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub put_charset: + ::std::option::Option HRESULT>, + pub get_version: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_dtdURL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + vType: VARIANT, + var1: VARIANT, + ppElem: *mut *mut IXMLElement2, + ) -> HRESULT, + >, + pub get_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pf: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, f: VARIANT_BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDocument2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!("Size of: ", stringify!(IXMLDocument2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_root) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileModifiedDate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileModifiedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileUpdatedDate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileUpdatedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_URL) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_URL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_mimeType) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_mimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_charset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_charset) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_version) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dtdURL) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_dtdURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(createElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_async) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_async) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_async) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument2 { + pub lpVtbl: *mut IXMLDocument2Vtbl, +} +#[test] +fn bindgen_test_layout_IXMLDocument2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDocument2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLElement: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, p: *mut BSTR) -> HRESULT, + >, + pub put_tagName: + ::std::option::Option HRESULT>, + pub get_parent: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, ppParent: *mut *mut IXMLElement) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + strPropertyName: BSTR, + PropertyValue: VARIANT, + ) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + strPropertyName: BSTR, + PropertyValue: *mut VARIANT, + ) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, strPropertyName: BSTR) -> HRESULT, + >, + pub get_children: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, + pub get_type: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + plType: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, p: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub addChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + pChildElem: *mut IXMLElement, + lIndex: ::std::os::raw::c_long, + lReserved: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, pChildElem: *mut IXMLElement) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElementVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(IXMLElementVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_tagName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(put_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_parent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_children) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_children) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addChild) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(addChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(removeChild) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement { + pub lpVtbl: *mut IXMLElementVtbl, +} +#[test] +fn bindgen_test_layout_IXMLElement() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElement)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLElement2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, p: *mut BSTR) -> HRESULT, + >, + pub put_tagName: + ::std::option::Option HRESULT>, + pub get_parent: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, ppParent: *mut *mut IXMLElement2) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + strPropertyName: BSTR, + PropertyValue: VARIANT, + ) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + strPropertyName: BSTR, + PropertyValue: *mut VARIANT, + ) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, strPropertyName: BSTR) -> HRESULT, + >, + pub get_children: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, + pub get_type: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + plType: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, p: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub addChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pChildElem: *mut IXMLElement2, + lIndex: ::std::os::raw::c_long, + lReserved: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, pChildElem: *mut IXMLElement2) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElement2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 160usize, + concat!("Size of: ", stringify!(IXMLElement2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_tagName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(put_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_parent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_children) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_children) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addChild) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(addChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_attributes) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement2 { + pub lpVtbl: *mut IXMLElement2Vtbl, +} +#[test] +fn bindgen_test_layout_IXMLElement2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElement2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLAttribute: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLAttributeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, n: *mut BSTR) -> HRESULT, + >, + pub get_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, v: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLAttributeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IXMLAttributeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLAttributeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(get_value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLAttribute { + pub lpVtbl: *mut IXMLAttributeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLAttribute() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLAttribute)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLAttribute)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttribute), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLError: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLErrorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLError, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetErrorInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLError, pErrorReturn: *mut XML_ERROR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLErrorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IXMLErrorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLErrorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetErrorInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(GetErrorInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLError { + pub lpVtbl: *mut IXMLErrorVtbl, +} +#[test] +fn bindgen_test_layout_IXMLError() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLError)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLError)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLError), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLDocument: CLSID; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static CLSID_SBS_StdURLMoniker: IID; +} +extern "C" { + pub static CLSID_SBS_HttpProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_FtpProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_GopherProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_HttpSProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_FileProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_MkProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_UrlMkBindCtx: IID; +} +extern "C" { + pub static CLSID_SBS_SoftDistExt: IID; +} +extern "C" { + pub static CLSID_SBS_CdlProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_ClassInstallFilter: IID; +} +extern "C" { + pub static CLSID_SBS_InternetSecurityManager: IID; +} +extern "C" { + pub static CLSID_SBS_InternetZoneManager: IID; +} +extern "C" { + pub static IID_IAsyncMoniker: IID; +} +extern "C" { + pub static CLSID_StdURLMoniker: IID; +} +extern "C" { + pub static CLSID_HttpProtocol: IID; +} +extern "C" { + pub static CLSID_FtpProtocol: IID; +} +extern "C" { + pub static CLSID_GopherProtocol: IID; +} +extern "C" { + pub static CLSID_HttpSProtocol: IID; +} +extern "C" { + pub static CLSID_FileProtocol: IID; +} +extern "C" { + pub static CLSID_ResProtocol: IID; +} +extern "C" { + pub static CLSID_AboutProtocol: IID; +} +extern "C" { + pub static CLSID_JSProtocol: IID; +} +extern "C" { + pub static CLSID_MailtoProtocol: IID; +} +extern "C" { + pub static CLSID_IE4_PROTOCOLS: IID; +} +extern "C" { + pub static CLSID_MkProtocol: IID; +} +extern "C" { + pub static CLSID_StdURLProtocol: IID; +} +extern "C" { + pub static CLSID_TBAuthProtocol: IID; +} +extern "C" { + pub static CLSID_UrlMkBindCtx: IID; +} +extern "C" { + pub static CLSID_CdlProtocol: IID; +} +extern "C" { + pub static CLSID_ClassInstallFilter: IID; +} +extern "C" { + pub static IID_IAsyncBindCtx: IID; +} +extern "C" { + pub fn CreateURLMoniker(pMkCtx: LPMONIKER, szURL: LPCWSTR, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateURLMonikerEx( + pMkCtx: LPMONIKER, + szURL: LPCWSTR, + ppmk: *mut LPMONIKER, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetClassURL(szURL: LPCWSTR, pClsID: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CreateAsyncBindCtx( + reserved: DWORD, + pBSCb: *mut IBindStatusCallback, + pEFetc: *mut IEnumFORMATETC, + ppBC: *mut *mut IBindCtx, + ) -> HRESULT; +} +extern "C" { + pub fn CreateURLMonikerEx2( + pMkCtx: LPMONIKER, + pUri: *mut IUri, + ppmk: *mut LPMONIKER, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CreateAsyncBindCtxEx( + pbc: *mut IBindCtx, + dwOptions: DWORD, + pBSCb: *mut IBindStatusCallback, + pEnum: *mut IEnumFORMATETC, + ppBC: *mut *mut IBindCtx, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn MkParseDisplayNameEx( + pbc: *mut IBindCtx, + szDisplayName: LPCWSTR, + pchEaten: *mut ULONG, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterBindStatusCallback( + pBC: LPBC, + pBSCb: *mut IBindStatusCallback, + ppBSCBPrev: *mut *mut IBindStatusCallback, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeBindStatusCallback(pBC: LPBC, pBSCb: *mut IBindStatusCallback) -> HRESULT; +} +extern "C" { + pub fn GetClassFileOrMime( + pBC: LPBC, + szFilename: LPCWSTR, + pBuffer: LPVOID, + cbSize: DWORD, + szMime: LPCWSTR, + dwReserved: DWORD, + pclsid: *mut CLSID, + ) -> HRESULT; +} +extern "C" { + pub fn IsValidURL(pBC: LPBC, szURL: LPCWSTR, dwReserved: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetClassObjectFromURL( + rCLASSID: *const IID, + szCODE: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + szTYPE: LPCWSTR, + pBindCtx: LPBINDCTX, + dwClsContext: DWORD, + pvReserved: LPVOID, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IEInstallScope(pdwScope: LPDWORD) -> HRESULT; +} +extern "C" { + pub fn FaultInIEFeature( + hWnd: HWND, + pClassSpec: *mut uCLSSPEC, + pQuery: *mut QUERYCONTEXT, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetComponentIDFromCLSSPEC( + pClassspec: *mut uCLSSPEC, + ppszComponentID: *mut LPSTR, + ) -> HRESULT; +} +extern "C" { + pub fn IsAsyncMoniker(pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn CreateURLBinding( + lpszUrl: LPCWSTR, + pbc: *mut IBindCtx, + ppBdg: *mut *mut IBinding, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterMediaTypes( + ctypes: UINT, + rgszTypes: *const LPCSTR, + rgcfTypes: *mut CLIPFORMAT, + ) -> HRESULT; +} +extern "C" { + pub fn FindMediaType(rgszTypes: LPCSTR, rgcfTypes: *mut CLIPFORMAT) -> HRESULT; +} +extern "C" { + pub fn CreateFormatEnumerator( + cfmtetc: UINT, + rgfmtetc: *mut FORMATETC, + ppenumfmtetc: *mut *mut IEnumFORMATETC, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterFormatEnumerator( + pBC: LPBC, + pEFetc: *mut IEnumFORMATETC, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeFormatEnumerator(pBC: LPBC, pEFetc: *mut IEnumFORMATETC) -> HRESULT; +} +extern "C" { + pub fn RegisterMediaTypeClass( + pBC: LPBC, + ctypes: UINT, + rgszTypes: *const LPCSTR, + rgclsID: *mut CLSID, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn FindMediaTypeClass( + pBC: LPBC, + szType: LPCSTR, + pclsID: *mut CLSID, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UrlMkSetSessionOption( + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UrlMkGetSessionOption( + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + pdwBufferLengthOut: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn FindMimeFromData( + pBC: LPBC, + pwzUrl: LPCWSTR, + pBuffer: LPVOID, + cbSize: DWORD, + pwzMimeProposed: LPCWSTR, + dwMimeFlags: DWORD, + ppwzMimeOut: *mut LPWSTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn ObtainUserAgentString(dwOption: DWORD, pszUAOut: LPSTR, cbSize: *mut DWORD) -> HRESULT; +} +extern "C" { + pub fn CompareSecurityIds( + pbSecurityId1: *mut BYTE, + dwLen1: DWORD, + pbSecurityId2: *mut BYTE, + dwLen2: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CompatFlagsFromClsid( + pclsid: *mut CLSID, + pdwCompatFlags: LPDWORD, + pdwMiscStatusFlags: LPDWORD, + ) -> HRESULT; +} +pub const IEObjectType_IE_EPM_OBJECT_EVENT: IEObjectType = 0; +pub const IEObjectType_IE_EPM_OBJECT_MUTEX: IEObjectType = 1; +pub const IEObjectType_IE_EPM_OBJECT_SEMAPHORE: IEObjectType = 2; +pub const IEObjectType_IE_EPM_OBJECT_SHARED_MEMORY: IEObjectType = 3; +pub const IEObjectType_IE_EPM_OBJECT_WAITABLE_TIMER: IEObjectType = 4; +pub const IEObjectType_IE_EPM_OBJECT_FILE: IEObjectType = 5; +pub const IEObjectType_IE_EPM_OBJECT_NAMED_PIPE: IEObjectType = 6; +pub const IEObjectType_IE_EPM_OBJECT_REGISTRY: IEObjectType = 7; +pub type IEObjectType = ::std::os::raw::c_int; +extern "C" { + pub fn SetAccessForIEAppContainer( + hObject: HANDLE, + ieObjectType: IEObjectType, + dwAccessMask: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSISTMONIKER = *mut IPersistMoniker; +extern "C" { + pub static IID_IPersistMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistMoniker, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + fFullyAvailable: BOOL, + pimkName: *mut IMoniker, + pibc: LPBC, + grfMode: DWORD, + ) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + pimkName: *mut IMoniker, + pbc: LPBC, + fRemember: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + pimkName: *mut IMoniker, + pibc: LPBC, + ) -> HRESULT, + >, + pub GetCurMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistMoniker, ppimkName: *mut *mut IMoniker) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IPersistMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurMoniker) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(GetCurMoniker) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistMoniker { + pub lpVtbl: *mut IPersistMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IPersistMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMONIKERPROP = *mut IMonikerProp; +pub const __MIDL_IMonikerProp_0001_MIMETYPEPROP: __MIDL_IMonikerProp_0001 = 0; +pub const __MIDL_IMonikerProp_0001_USE_SRC_URL: __MIDL_IMonikerProp_0001 = 1; +pub const __MIDL_IMonikerProp_0001_CLASSIDPROP: __MIDL_IMonikerProp_0001 = 2; +pub const __MIDL_IMonikerProp_0001_TRUSTEDDOWNLOADPROP: __MIDL_IMonikerProp_0001 = 3; +pub const __MIDL_IMonikerProp_0001_POPUPLEVELPROP: __MIDL_IMonikerProp_0001 = 4; +pub type __MIDL_IMonikerProp_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IMonikerProp_0001 as MONIKERPROPERTY; +extern "C" { + pub static IID_IMonikerProp: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerPropVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMonikerProp, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PutProperty: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMonikerProp, + mkp: MONIKERPROPERTY, + val: LPCWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMonikerPropVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IMonikerPropVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerPropVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutProperty) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(PutProperty) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerProp { + pub lpVtbl: *mut IMonikerPropVtbl, +} +#[test] +fn bindgen_test_layout_IMonikerProp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMonikerProp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerProp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerProp), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDPROTOCOL = *mut IBindProtocol; +extern "C" { + pub static IID_IBindProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindProtocol, + szUrl: LPCWSTR, + pbc: *mut IBindCtx, + ppb: *mut *mut IBinding, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(CreateBinding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindProtocol { + pub lpVtbl: *mut IBindProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IBindProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDING = *mut IBinding; +extern "C" { + pub static IID_IBinding: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindingVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBinding, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Abort: ::std::option::Option HRESULT>, + pub Suspend: ::std::option::Option HRESULT>, + pub Resume: ::std::option::Option HRESULT>, + pub SetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBinding, nPriority: LONG) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBinding, pnPriority: *mut LONG) -> HRESULT, + >, + pub GetBindResult: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindingVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IBindingVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindingVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPriority) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(SetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindResult) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(GetBindResult) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBinding { + pub lpVtbl: *mut IBindingVtbl, +} +#[test] +fn bindgen_test_layout_IBinding() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBinding)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBinding)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBinding), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBinding_RemoteGetBindResult_Proxy( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBinding_RemoteGetBindResult_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDSTATUSCALLBACK = *mut IBindStatusCallback; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_GET: __MIDL_IBindStatusCallback_0001 = 0; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_POST: __MIDL_IBindStatusCallback_0001 = 1; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_PUT: __MIDL_IBindStatusCallback_0001 = 2; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_CUSTOM: __MIDL_IBindStatusCallback_0001 = 3; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_RESERVED1: __MIDL_IBindStatusCallback_0001 = 4; +pub type __MIDL_IBindStatusCallback_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0001 as BINDVERB; +pub const __MIDL_IBindStatusCallback_0002_BINDINFOF_URLENCODESTGMEDDATA: + __MIDL_IBindStatusCallback_0002 = 1; +pub const __MIDL_IBindStatusCallback_0002_BINDINFOF_URLENCODEDEXTRAINFO: + __MIDL_IBindStatusCallback_0002 = 2; +pub type __MIDL_IBindStatusCallback_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0002 as BINDINFOF; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ASYNCHRONOUS: __MIDL_IBindStatusCallback_0003 = 1; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ASYNCSTORAGE: __MIDL_IBindStatusCallback_0003 = 2; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NOPROGRESSIVERENDERING: + __MIDL_IBindStatusCallback_0003 = 4; +pub const __MIDL_IBindStatusCallback_0003_BINDF_OFFLINEOPERATION: __MIDL_IBindStatusCallback_0003 = + 8; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETNEWESTVERSION: __MIDL_IBindStatusCallback_0003 = + 16; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NOWRITECACHE: __MIDL_IBindStatusCallback_0003 = 32; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NEEDFILE: __MIDL_IBindStatusCallback_0003 = 64; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PULLDATA: __MIDL_IBindStatusCallback_0003 = 128; +pub const __MIDL_IBindStatusCallback_0003_BINDF_IGNORESECURITYPROBLEM: + __MIDL_IBindStatusCallback_0003 = 256; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESYNCHRONIZE: __MIDL_IBindStatusCallback_0003 = + 512; +pub const __MIDL_IBindStatusCallback_0003_BINDF_HYPERLINK: __MIDL_IBindStatusCallback_0003 = 1024; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NO_UI: __MIDL_IBindStatusCallback_0003 = 2048; +pub const __MIDL_IBindStatusCallback_0003_BINDF_SILENTOPERATION: __MIDL_IBindStatusCallback_0003 = + 4096; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PRAGMA_NO_CACHE: __MIDL_IBindStatusCallback_0003 = + 8192; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETCLASSOBJECT: __MIDL_IBindStatusCallback_0003 = + 16384; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_1: __MIDL_IBindStatusCallback_0003 = 32768; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FREE_THREADED: __MIDL_IBindStatusCallback_0003 = + 65536; +pub const __MIDL_IBindStatusCallback_0003_BINDF_DIRECT_READ: __MIDL_IBindStatusCallback_0003 = + 131072; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FORMS_SUBMIT: __MIDL_IBindStatusCallback_0003 = + 262144; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETFROMCACHE_IF_NET_FAIL: + __MIDL_IBindStatusCallback_0003 = 524288; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FROMURLMON: __MIDL_IBindStatusCallback_0003 = + 1048576; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FWD_BACK: __MIDL_IBindStatusCallback_0003 = 2097152; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PREFERDEFAULTHANDLER: + __MIDL_IBindStatusCallback_0003 = 4194304; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ENFORCERESTRICTED: __MIDL_IBindStatusCallback_0003 = + 8388608; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_2: __MIDL_IBindStatusCallback_0003 = + -2147483648; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_3: __MIDL_IBindStatusCallback_0003 = + 16777216; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_4: __MIDL_IBindStatusCallback_0003 = + 33554432; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_5: __MIDL_IBindStatusCallback_0003 = + 67108864; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_6: __MIDL_IBindStatusCallback_0003 = + 134217728; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_7: __MIDL_IBindStatusCallback_0003 = + 1073741824; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_8: __MIDL_IBindStatusCallback_0003 = + 536870912; +pub type __MIDL_IBindStatusCallback_0003 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0003 as BINDF; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_NONE: __MIDL_IBindStatusCallback_0004 = 0; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_ENABLE_UTF8: + __MIDL_IBindStatusCallback_0004 = 268435456; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_DISABLE_UTF8: + __MIDL_IBindStatusCallback_0004 = 536870912; +pub type __MIDL_IBindStatusCallback_0004 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0004 as URL_ENCODING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _tagBINDINFO { + pub cbSize: ULONG, + pub szExtraInfo: LPWSTR, + pub stgmedData: STGMEDIUM, + pub grfBindInfoF: DWORD, + pub dwBindVerb: DWORD, + pub szCustomVerb: LPWSTR, + pub cbstgmedData: DWORD, + pub dwOptions: DWORD, + pub dwOptionsFlags: DWORD, + pub dwCodePage: DWORD, + pub securityAttributes: SECURITY_ATTRIBUTES, + pub iid: IID, + pub pUnk: *mut IUnknown, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagBINDINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagBINDINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagBINDINFO>(), + 128usize, + concat!("Size of: ", stringify!(_tagBINDINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagBINDINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagBINDINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szExtraInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(szExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stgmedData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(stgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfBindInfoF) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(grfBindInfoF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBindVerb) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwBindVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCustomVerb) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(szCustomVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbstgmedData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(cbstgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptions) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptionsFlags) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwOptionsFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCodePage) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).securityAttributes) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(securityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type BINDINFO = _tagBINDINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMSECURITY_ATTRIBUTES { + pub nLength: DWORD, + pub lpSecurityDescriptor: DWORD, + pub bInheritHandle: BOOL, +} +#[test] +fn bindgen_test_layout__REMSECURITY_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_REMSECURITY_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMSECURITY_ATTRIBUTES>(), + 12usize, + concat!("Size of: ", stringify!(_REMSECURITY_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_REMSECURITY_ATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_REMSECURITY_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityDescriptor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(lpSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(bInheritHandle) + ) + ); +} +pub type REMSECURITY_ATTRIBUTES = _REMSECURITY_ATTRIBUTES; +pub type PREMSECURITY_ATTRIBUTES = *mut _REMSECURITY_ATTRIBUTES; +pub type LPREMSECURITY_ATTRIBUTES = *mut _REMSECURITY_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagRemBINDINFO { + pub cbSize: ULONG, + pub szExtraInfo: LPWSTR, + pub grfBindInfoF: DWORD, + pub dwBindVerb: DWORD, + pub szCustomVerb: LPWSTR, + pub cbstgmedData: DWORD, + pub dwOptions: DWORD, + pub dwOptionsFlags: DWORD, + pub dwCodePage: DWORD, + pub securityAttributes: REMSECURITY_ATTRIBUTES, + pub iid: IID, + pub pUnk: *mut IUnknown, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagRemBINDINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagRemBINDINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagRemBINDINFO>(), + 96usize, + concat!("Size of: ", stringify!(_tagRemBINDINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagRemBINDINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagRemBINDINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szExtraInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(szExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfBindInfoF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(grfBindInfoF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBindVerb) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwBindVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCustomVerb) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(szCustomVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbstgmedData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(cbstgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptions) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptionsFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwOptionsFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCodePage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).securityAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(securityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type RemBINDINFO = _tagRemBINDINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemFORMATETC { + pub cfFormat: DWORD, + pub ptd: DWORD, + pub dwAspect: DWORD, + pub lindex: LONG, + pub tymed: DWORD, +} +#[test] +fn bindgen_test_layout_tagRemFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagRemFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptd) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(ptd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAspect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(dwAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lindex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(lindex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(tymed) + ) + ); +} +pub type RemFORMATETC = tagRemFORMATETC; +pub type LPREMFORMATETC = *mut tagRemFORMATETC; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_WININETFLAG: + __MIDL_IBindStatusCallback_0005 = 65536; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ENABLE_UTF8: + __MIDL_IBindStatusCallback_0005 = 131072; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLE_UTF8: + __MIDL_IBindStatusCallback_0005 = 262144; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USE_IE_ENCODING: + __MIDL_IBindStatusCallback_0005 = 524288; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_BINDTOOBJECT: + __MIDL_IBindStatusCallback_0005 = 1048576; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SECURITYOPTOUT: + __MIDL_IBindStatusCallback_0005 = 2097152; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN: + __MIDL_IBindStatusCallback_0005 = 4194304; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USEBINDSTRINGCREDS: + __MIDL_IBindStatusCallback_0005 = 8388608; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS: + __MIDL_IBindStatusCallback_0005 = 16777216; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE: + __MIDL_IBindStatusCallback_0005 = 33554432; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_DOWNLOADBLOCKED: + __MIDL_IBindStatusCallback_0005 = 134217728; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_LOGGING_ENABLED: + __MIDL_IBindStatusCallback_0005 = 268435456; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ALLOWCONNECTDATA: + __MIDL_IBindStatusCallback_0005 = 536870912; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS: + __MIDL_IBindStatusCallback_0005 = 1073741824; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SHDOCVW_NAVIGATE: + __MIDL_IBindStatusCallback_0005 = -2147483648; +pub type __MIDL_IBindStatusCallback_0005 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0005 as BINDINFO_OPTIONS; +pub const __MIDL_IBindStatusCallback_0006_BSCF_FIRSTDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 1; +pub const __MIDL_IBindStatusCallback_0006_BSCF_INTERMEDIATEDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 2; +pub const __MIDL_IBindStatusCallback_0006_BSCF_LASTDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 4; +pub const __MIDL_IBindStatusCallback_0006_BSCF_DATAFULLYAVAILABLE: __MIDL_IBindStatusCallback_0006 = + 8; +pub const __MIDL_IBindStatusCallback_0006_BSCF_AVAILABLEDATASIZEUNKNOWN: + __MIDL_IBindStatusCallback_0006 = 16; +pub const __MIDL_IBindStatusCallback_0006_BSCF_SKIPDRAINDATAFORFILEURLS: + __MIDL_IBindStatusCallback_0006 = 32; +pub const __MIDL_IBindStatusCallback_0006_BSCF_64BITLENGTHDOWNLOAD: + __MIDL_IBindStatusCallback_0006 = 64; +pub type __MIDL_IBindStatusCallback_0006 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0006 as BSCF; +pub const tagBINDSTATUS_BINDSTATUS_FINDINGRESOURCE: tagBINDSTATUS = 1; +pub const tagBINDSTATUS_BINDSTATUS_CONNECTING: tagBINDSTATUS = 2; +pub const tagBINDSTATUS_BINDSTATUS_REDIRECTING: tagBINDSTATUS = 3; +pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADDATA: tagBINDSTATUS = 4; +pub const tagBINDSTATUS_BINDSTATUS_DOWNLOADINGDATA: tagBINDSTATUS = 5; +pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADDATA: tagBINDSTATUS = 6; +pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADCOMPONENTS: tagBINDSTATUS = 7; +pub const tagBINDSTATUS_BINDSTATUS_INSTALLINGCOMPONENTS: tagBINDSTATUS = 8; +pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADCOMPONENTS: tagBINDSTATUS = 9; +pub const tagBINDSTATUS_BINDSTATUS_USINGCACHEDCOPY: tagBINDSTATUS = 10; +pub const tagBINDSTATUS_BINDSTATUS_SENDINGREQUEST: tagBINDSTATUS = 11; +pub const tagBINDSTATUS_BINDSTATUS_CLASSIDAVAILABLE: tagBINDSTATUS = 12; +pub const tagBINDSTATUS_BINDSTATUS_MIMETYPEAVAILABLE: tagBINDSTATUS = 13; +pub const tagBINDSTATUS_BINDSTATUS_CACHEFILENAMEAVAILABLE: tagBINDSTATUS = 14; +pub const tagBINDSTATUS_BINDSTATUS_BEGINSYNCOPERATION: tagBINDSTATUS = 15; +pub const tagBINDSTATUS_BINDSTATUS_ENDSYNCOPERATION: tagBINDSTATUS = 16; +pub const tagBINDSTATUS_BINDSTATUS_BEGINUPLOADDATA: tagBINDSTATUS = 17; +pub const tagBINDSTATUS_BINDSTATUS_UPLOADINGDATA: tagBINDSTATUS = 18; +pub const tagBINDSTATUS_BINDSTATUS_ENDUPLOADDATA: tagBINDSTATUS = 19; +pub const tagBINDSTATUS_BINDSTATUS_PROTOCOLCLASSID: tagBINDSTATUS = 20; +pub const tagBINDSTATUS_BINDSTATUS_ENCODING: tagBINDSTATUS = 21; +pub const tagBINDSTATUS_BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE: tagBINDSTATUS = 22; +pub const tagBINDSTATUS_BINDSTATUS_CLASSINSTALLLOCATION: tagBINDSTATUS = 23; +pub const tagBINDSTATUS_BINDSTATUS_DECODING: tagBINDSTATUS = 24; +pub const tagBINDSTATUS_BINDSTATUS_LOADINGMIMEHANDLER: tagBINDSTATUS = 25; +pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONATTACH: tagBINDSTATUS = 26; +pub const tagBINDSTATUS_BINDSTATUS_FILTERREPORTMIMETYPE: tagBINDSTATUS = 27; +pub const tagBINDSTATUS_BINDSTATUS_CLSIDCANINSTANTIATE: tagBINDSTATUS = 28; +pub const tagBINDSTATUS_BINDSTATUS_IUNKNOWNAVAILABLE: tagBINDSTATUS = 29; +pub const tagBINDSTATUS_BINDSTATUS_DIRECTBIND: tagBINDSTATUS = 30; +pub const tagBINDSTATUS_BINDSTATUS_RAWMIMETYPE: tagBINDSTATUS = 31; +pub const tagBINDSTATUS_BINDSTATUS_PROXYDETECTING: tagBINDSTATUS = 32; +pub const tagBINDSTATUS_BINDSTATUS_ACCEPTRANGES: tagBINDSTATUS = 33; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SENT: tagBINDSTATUS = 34; +pub const tagBINDSTATUS_BINDSTATUS_COMPACT_POLICY_RECEIVED: tagBINDSTATUS = 35; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SUPPRESSED: tagBINDSTATUS = 36; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_UNKNOWN: tagBINDSTATUS = 37; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_ACCEPT: tagBINDSTATUS = 38; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_REJECT: tagBINDSTATUS = 39; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_PROMPT: tagBINDSTATUS = 40; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_LEASH: tagBINDSTATUS = 41; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_DOWNGRADE: tagBINDSTATUS = 42; +pub const tagBINDSTATUS_BINDSTATUS_POLICY_HREF: tagBINDSTATUS = 43; +pub const tagBINDSTATUS_BINDSTATUS_P3P_HEADER: tagBINDSTATUS = 44; +pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIE_RECEIVED: tagBINDSTATUS = 45; +pub const tagBINDSTATUS_BINDSTATUS_PERSISTENT_COOKIE_RECEIVED: tagBINDSTATUS = 46; +pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIES_ALLOWED: tagBINDSTATUS = 47; +pub const tagBINDSTATUS_BINDSTATUS_CACHECONTROL: tagBINDSTATUS = 48; +pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONFILENAME: tagBINDSTATUS = 49; +pub const tagBINDSTATUS_BINDSTATUS_MIMETEXTPLAINMISMATCH: tagBINDSTATUS = 50; +pub const tagBINDSTATUS_BINDSTATUS_PUBLISHERAVAILABLE: tagBINDSTATUS = 51; +pub const tagBINDSTATUS_BINDSTATUS_DISPLAYNAMEAVAILABLE: tagBINDSTATUS = 52; +pub const tagBINDSTATUS_BINDSTATUS_SSLUX_NAVBLOCKED: tagBINDSTATUS = 53; +pub const tagBINDSTATUS_BINDSTATUS_SERVER_MIMETYPEAVAILABLE: tagBINDSTATUS = 54; +pub const tagBINDSTATUS_BINDSTATUS_SNIFFED_CLASSIDAVAILABLE: tagBINDSTATUS = 55; +pub const tagBINDSTATUS_BINDSTATUS_64BIT_PROGRESS: tagBINDSTATUS = 56; +pub const tagBINDSTATUS_BINDSTATUS_LAST: tagBINDSTATUS = 56; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_0: tagBINDSTATUS = 57; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_1: tagBINDSTATUS = 58; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_2: tagBINDSTATUS = 59; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_3: tagBINDSTATUS = 60; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_4: tagBINDSTATUS = 61; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_5: tagBINDSTATUS = 62; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_6: tagBINDSTATUS = 63; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_7: tagBINDSTATUS = 64; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_8: tagBINDSTATUS = 65; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_9: tagBINDSTATUS = 66; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_A: tagBINDSTATUS = 67; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_B: tagBINDSTATUS = 68; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_C: tagBINDSTATUS = 69; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_D: tagBINDSTATUS = 70; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_E: tagBINDSTATUS = 71; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_F: tagBINDSTATUS = 72; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_10: tagBINDSTATUS = 73; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_11: tagBINDSTATUS = 74; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_12: tagBINDSTATUS = 75; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_13: tagBINDSTATUS = 76; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_14: tagBINDSTATUS = 77; +pub const tagBINDSTATUS_BINDSTATUS_LAST_PRIVATE: tagBINDSTATUS = 77; +pub type tagBINDSTATUS = ::std::os::raw::c_int; +pub use self::tagBINDSTATUS as BINDSTATUS; +extern "C" { + pub static IID_IBindStatusCallback: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnStartBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + dwReserved: DWORD, + pib: *mut IBinding, + ) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallback, pnPriority: *mut LONG) -> HRESULT, + >, + pub OnLowResource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallback, reserved: DWORD) -> HRESULT, + >, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + ulProgress: ULONG, + ulProgressMax: ULONG, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub OnStopBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + hresult: HRESULT, + szError: LPCWSTR, + ) -> HRESULT, + >, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub OnDataAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub OnObjectAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + riid: *const IID, + punk: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IBindStatusCallbackVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStartBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnStartBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLowResource) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnLowResource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStopBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnStopBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataAvailable) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnDataAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnObjectAvailable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnObjectAvailable) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallback { + pub lpVtbl: *mut IBindStatusCallbackVtbl, +} +#[test] +fn bindgen_test_layout_IBindStatusCallback() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindStatusCallback)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallback)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallback), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindStatusCallback_RemoteGetBindInfo_Proxy( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_RemoteGetBindInfo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindStatusCallback_RemoteOnDataAvailable_Proxy( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut RemFORMATETC, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_RemoteOnDataAvailable_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0005_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0005_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDSTATUSCALLBACKEX = *mut IBindStatusCallbackEx; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLEBASICOVERHTTP: + __MIDL_IBindStatusCallbackEx_0001 = 1; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLEAUTOCOOKIEHANDLING: + __MIDL_IBindStatusCallbackEx_0001 = 2; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_READ_DATA_GREATER_THAN_4GB: + __MIDL_IBindStatusCallbackEx_0001 = 4; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID: + __MIDL_IBindStatusCallbackEx_0001 = 8; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_SETDOWNLOADMODE: + __MIDL_IBindStatusCallbackEx_0001 = 32; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLE_HTTP_REDIRECT_CACHING: + __MIDL_IBindStatusCallbackEx_0001 = 64; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_KEEP_CALLBACK_MODULE_LOADED: + __MIDL_IBindStatusCallbackEx_0001 = 128; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_ALLOW_PROXY_CRED_PROMPT: + __MIDL_IBindStatusCallbackEx_0001 = 256; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_17: __MIDL_IBindStatusCallbackEx_0001 = + 512; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_16: __MIDL_IBindStatusCallbackEx_0001 = + 1024; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_15: __MIDL_IBindStatusCallbackEx_0001 = + 2048; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_14: __MIDL_IBindStatusCallbackEx_0001 = + 4096; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_13: __MIDL_IBindStatusCallbackEx_0001 = + 8192; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_12: __MIDL_IBindStatusCallbackEx_0001 = + 16384; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_11: __MIDL_IBindStatusCallbackEx_0001 = + 32768; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_10: __MIDL_IBindStatusCallbackEx_0001 = + 65536; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_F: __MIDL_IBindStatusCallbackEx_0001 = + 131072; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_E: __MIDL_IBindStatusCallbackEx_0001 = + 262144; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_D: __MIDL_IBindStatusCallbackEx_0001 = + 524288; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_C: __MIDL_IBindStatusCallbackEx_0001 = + 1048576; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_B: __MIDL_IBindStatusCallbackEx_0001 = + 2097152; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_A: __MIDL_IBindStatusCallbackEx_0001 = + 4194304; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_9: __MIDL_IBindStatusCallbackEx_0001 = + 8388608; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_8: __MIDL_IBindStatusCallbackEx_0001 = + 16777216; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_7: __MIDL_IBindStatusCallbackEx_0001 = + 33554432; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_6: __MIDL_IBindStatusCallbackEx_0001 = + 67108864; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_5: __MIDL_IBindStatusCallbackEx_0001 = + 134217728; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_4: __MIDL_IBindStatusCallbackEx_0001 = + 268435456; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_3: __MIDL_IBindStatusCallbackEx_0001 = + 536870912; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_2: __MIDL_IBindStatusCallbackEx_0001 = + 1073741824; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_1: __MIDL_IBindStatusCallbackEx_0001 = + -2147483648; +pub type __MIDL_IBindStatusCallbackEx_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallbackEx_0001 as BINDF2; +extern "C" { + pub static IID_IBindStatusCallbackEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnStartBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + dwReserved: DWORD, + pib: *mut IBinding, + ) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallbackEx, pnPriority: *mut LONG) -> HRESULT, + >, + pub OnLowResource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallbackEx, reserved: DWORD) -> HRESULT, + >, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + ulProgress: ULONG, + ulProgressMax: ULONG, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub OnStopBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + hresult: HRESULT, + szError: LPCWSTR, + ) -> HRESULT, + >, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub OnDataAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub OnObjectAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + riid: *const IID, + punk: *mut IUnknown, + ) -> HRESULT, + >, + pub GetBindInfoEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IBindStatusCallbackExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStartBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnStartBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLowResource) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnLowResource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStopBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnStopBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataAvailable) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnDataAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnObjectAvailable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnObjectAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfoEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetBindInfoEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackEx { + pub lpVtbl: *mut IBindStatusCallbackExVtbl, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindStatusCallbackEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0006_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0006_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPAUTHENTICATION = *mut IAuthenticate; +extern "C" { + pub static IID_IAuthenticate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Authenticate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticate, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAuthenticateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IAuthenticateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Authenticate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(Authenticate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticate { + pub lpVtbl: *mut IAuthenticateVtbl, +} +#[test] +fn bindgen_test_layout_IAuthenticate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAuthenticate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0007_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0007_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPAUTHENTICATIONEX = *mut IAuthenticateEx; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_PROXY: __MIDL_IAuthenticateEx_0001 = 1; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_BASIC: __MIDL_IAuthenticateEx_0001 = 2; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_HTTP: __MIDL_IAuthenticateEx_0001 = 4; +pub type __MIDL_IAuthenticateEx_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IAuthenticateEx_0001 as AUTHENTICATEF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagAUTHENTICATEINFO { + pub dwFlags: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagAUTHENTICATEINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagAUTHENTICATEINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagAUTHENTICATEINFO>(), + 8usize, + concat!("Size of: ", stringify!(_tagAUTHENTICATEINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagAUTHENTICATEINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_tagAUTHENTICATEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagAUTHENTICATEINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagAUTHENTICATEINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type AUTHENTICATEINFO = _tagAUTHENTICATEINFO; +extern "C" { + pub static IID_IAuthenticateEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Authenticate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + ) -> HRESULT, + >, + pub AuthenticateEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + pauthinfo: *mut AUTHENTICATEINFO, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAuthenticateExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAuthenticateExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Authenticate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(Authenticate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticateEx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(AuthenticateEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateEx { + pub lpVtbl: *mut IAuthenticateExVtbl, +} +#[test] +fn bindgen_test_layout_IAuthenticateEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAuthenticateEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE = *mut IHttpNegotiate; +extern "C" { + pub static IID_IHttpNegotiate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IHttpNegotiateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(OnResponse) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate { + pub lpVtbl: *mut IHttpNegotiateVtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0009_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0009_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE2 = *mut IHttpNegotiate2; +extern "C" { + pub static IID_IHttpNegotiate2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub GetRootSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IHttpNegotiate2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(OnResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRootSecurityId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(GetRootSecurityId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate2 { + pub lpVtbl: *mut IHttpNegotiate2Vtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE3 = *mut IHttpNegotiate3; +extern "C" { + pub static IID_IHttpNegotiate3: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate3Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub GetRootSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub GetSerializedClientCertContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + ppbCert: *mut *mut BYTE, + pcbCert: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate3Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IHttpNegotiate3Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate3Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(OnResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRootSecurityId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(GetRootSecurityId) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetSerializedClientCertContext) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(GetSerializedClientCertContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate3 { + pub lpVtbl: *mut IHttpNegotiate3Vtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0011_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0011_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETFILESTREAM = *mut IWinInetFileStream; +extern "C" { + pub static IID_IWinInetFileStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetFileStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetFileStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetHandleForUnlock: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetFileStream, + hWinInetLockHandle: DWORD_PTR, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub SetDeleteFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IWinInetFileStream, dwReserved: DWORD_PTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetFileStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetFileStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetFileStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHandleForUnlock) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(SetHandleForUnlock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDeleteFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(SetDeleteFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetFileStream { + pub lpVtbl: *mut IWinInetFileStreamVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetFileStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetFileStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetFileStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0012_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0012_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWINDOWFORBINDINGUI = *mut IWindowForBindingUI; +extern "C" { + pub static IID_IWindowForBindingUI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWindowForBindingUIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWindowForBindingUI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWindowForBindingUI, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWindowForBindingUIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWindowForBindingUIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWindowForBindingUIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(GetWindow) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWindowForBindingUI { + pub lpVtbl: *mut IWindowForBindingUIVtbl, +} +#[test] +fn bindgen_test_layout_IWindowForBindingUI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWindowForBindingUI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWindowForBindingUI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0013_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0013_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCODEINSTALL = *mut ICodeInstall; +pub const __MIDL_ICodeInstall_0001_CIP_DISK_FULL: __MIDL_ICodeInstall_0001 = 0; +pub const __MIDL_ICodeInstall_0001_CIP_ACCESS_DENIED: __MIDL_ICodeInstall_0001 = 1; +pub const __MIDL_ICodeInstall_0001_CIP_NEWER_VERSION_EXISTS: __MIDL_ICodeInstall_0001 = 2; +pub const __MIDL_ICodeInstall_0001_CIP_OLDER_VERSION_EXISTS: __MIDL_ICodeInstall_0001 = 3; +pub const __MIDL_ICodeInstall_0001_CIP_NAME_CONFLICT: __MIDL_ICodeInstall_0001 = 4; +pub const __MIDL_ICodeInstall_0001_CIP_TRUST_VERIFICATION_COMPONENT_MISSING: + __MIDL_ICodeInstall_0001 = 5; +pub const __MIDL_ICodeInstall_0001_CIP_EXE_SELF_REGISTERATION_TIMEOUT: __MIDL_ICodeInstall_0001 = 6; +pub const __MIDL_ICodeInstall_0001_CIP_UNSAFE_TO_ABORT: __MIDL_ICodeInstall_0001 = 7; +pub const __MIDL_ICodeInstall_0001_CIP_NEED_REBOOT: __MIDL_ICodeInstall_0001 = 8; +pub const __MIDL_ICodeInstall_0001_CIP_NEED_REBOOT_UI_PERMISSION: __MIDL_ICodeInstall_0001 = 9; +pub type __MIDL_ICodeInstall_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_ICodeInstall_0001 as CIP_STATUS; +extern "C" { + pub static IID_ICodeInstall: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICodeInstallVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, + pub OnCodeInstallProblem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + ulStatusCode: ULONG, + szDestination: LPCWSTR, + szSource: LPCWSTR, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICodeInstallVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICodeInstallVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICodeInstallVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnCodeInstallProblem) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(OnCodeInstallProblem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICodeInstall { + pub lpVtbl: *mut ICodeInstallVtbl, +} +#[test] +fn bindgen_test_layout_ICodeInstall() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICodeInstall)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICodeInstall)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstall), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0014_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0014_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const __MIDL_IUri_0001_Uri_PROPERTY_ABSOLUTE_URI: __MIDL_IUri_0001 = 0; +pub const __MIDL_IUri_0001_Uri_PROPERTY_STRING_START: __MIDL_IUri_0001 = 0; +pub const __MIDL_IUri_0001_Uri_PROPERTY_AUTHORITY: __MIDL_IUri_0001 = 1; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DISPLAY_URI: __MIDL_IUri_0001 = 2; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DOMAIN: __MIDL_IUri_0001 = 3; +pub const __MIDL_IUri_0001_Uri_PROPERTY_EXTENSION: __MIDL_IUri_0001 = 4; +pub const __MIDL_IUri_0001_Uri_PROPERTY_FRAGMENT: __MIDL_IUri_0001 = 5; +pub const __MIDL_IUri_0001_Uri_PROPERTY_HOST: __MIDL_IUri_0001 = 6; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PASSWORD: __MIDL_IUri_0001 = 7; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PATH: __MIDL_IUri_0001 = 8; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PATH_AND_QUERY: __MIDL_IUri_0001 = 9; +pub const __MIDL_IUri_0001_Uri_PROPERTY_QUERY: __MIDL_IUri_0001 = 10; +pub const __MIDL_IUri_0001_Uri_PROPERTY_RAW_URI: __MIDL_IUri_0001 = 11; +pub const __MIDL_IUri_0001_Uri_PROPERTY_SCHEME_NAME: __MIDL_IUri_0001 = 12; +pub const __MIDL_IUri_0001_Uri_PROPERTY_USER_INFO: __MIDL_IUri_0001 = 13; +pub const __MIDL_IUri_0001_Uri_PROPERTY_USER_NAME: __MIDL_IUri_0001 = 14; +pub const __MIDL_IUri_0001_Uri_PROPERTY_STRING_LAST: __MIDL_IUri_0001 = 14; +pub const __MIDL_IUri_0001_Uri_PROPERTY_HOST_TYPE: __MIDL_IUri_0001 = 15; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DWORD_START: __MIDL_IUri_0001 = 15; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PORT: __MIDL_IUri_0001 = 16; +pub const __MIDL_IUri_0001_Uri_PROPERTY_SCHEME: __MIDL_IUri_0001 = 17; +pub const __MIDL_IUri_0001_Uri_PROPERTY_ZONE: __MIDL_IUri_0001 = 18; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DWORD_LAST: __MIDL_IUri_0001 = 18; +pub type __MIDL_IUri_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IUri_0001 as Uri_PROPERTY; +pub const __MIDL_IUri_0002_Uri_HOST_UNKNOWN: __MIDL_IUri_0002 = 0; +pub const __MIDL_IUri_0002_Uri_HOST_DNS: __MIDL_IUri_0002 = 1; +pub const __MIDL_IUri_0002_Uri_HOST_IPV4: __MIDL_IUri_0002 = 2; +pub const __MIDL_IUri_0002_Uri_HOST_IPV6: __MIDL_IUri_0002 = 3; +pub const __MIDL_IUri_0002_Uri_HOST_IDN: __MIDL_IUri_0002 = 4; +pub type __MIDL_IUri_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IUri_0002 as Uri_HOST_TYPE; +extern "C" { + pub static IID_IUri: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetPropertyBSTR: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pbstrProperty: *mut BSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetPropertyLength: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pcchProperty: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetPropertyDWORD: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pdwProperty: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub HasProperty: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pfHasProperty: *mut BOOL, + ) -> HRESULT, + >, + pub GetAbsoluteUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrAbsoluteUri: *mut BSTR) -> HRESULT, + >, + pub GetAuthority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrAuthority: *mut BSTR) -> HRESULT, + >, + pub GetDisplayUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrDisplayString: *mut BSTR) -> HRESULT, + >, + pub GetDomain: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrDomain: *mut BSTR) -> HRESULT, + >, + pub GetExtension: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrExtension: *mut BSTR) -> HRESULT, + >, + pub GetFragment: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrFragment: *mut BSTR) -> HRESULT, + >, + pub GetHost: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrHost: *mut BSTR) -> HRESULT, + >, + pub GetPassword: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPassword: *mut BSTR) -> HRESULT, + >, + pub GetPath: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPath: *mut BSTR) -> HRESULT, + >, + pub GetPathAndQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPathAndQuery: *mut BSTR) -> HRESULT, + >, + pub GetQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrQuery: *mut BSTR) -> HRESULT, + >, + pub GetRawUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrRawUri: *mut BSTR) -> HRESULT, + >, + pub GetSchemeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrSchemeName: *mut BSTR) -> HRESULT, + >, + pub GetUserInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrUserInfo: *mut BSTR) -> HRESULT, + >, + pub GetUserNameA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrUserName: *mut BSTR) -> HRESULT, + >, + pub GetHostType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwHostType: *mut DWORD) -> HRESULT, + >, + pub GetPort: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwPort: *mut DWORD) -> HRESULT, + >, + pub GetScheme: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwScheme: *mut DWORD) -> HRESULT, + >, + pub GetZone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwZone: *mut DWORD) -> HRESULT, + >, + pub GetProperties: + ::std::option::Option HRESULT>, + pub IsEqual: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pUri: *mut IUri, pfEqual: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 224usize, + concat!("Size of: ", stringify!(IUriVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyBSTR) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyBSTR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyDWORD) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyDWORD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasProperty) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(HasProperty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAbsoluteUri) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetAbsoluteUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAuthority) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetAuthority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayUri) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetDisplayUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDomain) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetDomain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtension) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFragment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHost) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPassword) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPath) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPathAndQuery) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPathAndQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetQuery) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRawUri) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetRawUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSchemeName) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserInfo) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetUserInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserNameA) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetUserNameA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHostType) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetHostType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPort) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetScheme) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetScheme) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZone) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProperties) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEqual) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(IsEqual) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUri { + pub lpVtbl: *mut IUriVtbl, +} +#[test] +fn bindgen_test_layout_IUri() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUri)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUri)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUri), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CreateUri( + pwzURI: LPCWSTR, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppURI: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub fn CreateUriWithFragment( + pwzURI: LPCWSTR, + pwzFragment: LPCWSTR, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppURI: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub fn CreateUriFromMultiByteString( + pszANSIInputUri: LPCSTR, + dwEncodingFlags: DWORD, + dwCodePage: DWORD, + dwCreateFlags: DWORD, + dwReserved: DWORD_PTR, + ppUri: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0015_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0015_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IUriContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriContainer, ppIUri: *mut *mut IUri) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IUriContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIUri) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(GetIUri) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriContainer { + pub lpVtbl: *mut IUriContainerVtbl, +} +#[test] +fn bindgen_test_layout_IUriContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IUriBuilder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateUriSimple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub CreateUri: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwCreateFlags: DWORD, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub CreateUriWithFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwCreateFlags: DWORD, + dwUriBuilderFlags: DWORD, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub GetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, ppIUri: *mut *mut IUri) -> HRESULT, + >, + pub SetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pIUri: *mut IUri) -> HRESULT, + >, + pub GetFragment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchFragment: *mut DWORD, + ppwzFragment: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetHost: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchHost: *mut DWORD, + ppwzHost: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPassword: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchPassword: *mut DWORD, + ppwzPassword: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPath: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchPath: *mut DWORD, + ppwzPath: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pfHasPort: *mut BOOL, + pdwPort: *mut DWORD, + ) -> HRESULT, + >, + pub GetQuery: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchQuery: *mut DWORD, + ppwzQuery: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetSchemeName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchSchemeName: *mut DWORD, + ppwzSchemeName: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetUserNameA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchUserName: *mut DWORD, + ppwzUserName: *mut LPCWSTR, + ) -> HRESULT, + >, + pub SetFragment: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetHost: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPassword: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPath: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPortA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, fHasPort: BOOL, dwNewValue: DWORD) -> HRESULT, + >, + pub SetQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetSchemeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetUserName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub RemoveProperties: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, dwPropertyMask: DWORD) -> HRESULT, + >, + pub HasBeenModified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pfModified: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriBuilderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(IUriBuilderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUriSimple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUriSimple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUri) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUriWithFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUriWithFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIUri) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetIUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetIUri) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetIUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFragment) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHost) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPassword) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPath) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPort) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetQuery) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSchemeName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserNameA) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetUserNameA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFragment) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHost) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPassword) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPath) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPortA) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPortA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetQuery) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchemeName) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetUserName) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveProperties) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(RemoveProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasBeenModified) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(HasBeenModified) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilder { + pub lpVtbl: *mut IUriBuilderVtbl, +} +#[test] +fn bindgen_test_layout_IUriBuilder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriBuilder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilder), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IUriBuilderFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub CreateIUriBuilder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT, + >, + pub CreateInitializedIUriBuilder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriBuilderFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IUriBuilderFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateIUriBuilder) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(CreateIUriBuilder) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CreateInitializedIUriBuilder) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(CreateInitializedIUriBuilder) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderFactory { + pub lpVtbl: *mut IUriBuilderFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IUriBuilderFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriBuilderFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CreateIUriBuilder( + pIUri: *mut IUri, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0018_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0018_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETINFO = *mut IWinInetInfo; +extern "C" { + pub static IID_IWinInetInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryOption) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(QueryOption) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetInfo { + pub lpVtbl: *mut IWinInetInfoVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IWinInetInfo_RemoteQueryOption_Proxy( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_RemoteQueryOption_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0019_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0019_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPSECURITY = *mut IHttpSecurity; +extern "C" { + pub static IID_IHttpSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpSecurity, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, + pub OnSecurityProblem: ::std::option::Option< + unsafe extern "C" fn(This: *mut IHttpSecurity, dwProblem: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IHttpSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSecurityProblem) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(OnSecurityProblem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpSecurity { + pub lpVtbl: *mut IHttpSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IHttpSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0020_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0020_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETHTTPINFO = *mut IWinInetHttpInfo; +extern "C" { + pub static IID_IWinInetHttpInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT, + >, + pub QueryInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetHttpInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetHttpInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryOption) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpInfo { + pub lpVtbl: *mut IWinInetHttpInfoVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetHttpInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetHttpInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IWinInetHttpInfo_RemoteQueryInfo_Proxy( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_RemoteQueryInfo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0021_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0021_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IWinInetHttpTimeouts: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpTimeoutsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpTimeouts, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetRequestTimeouts: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpTimeouts, + pdwConnectTimeout: *mut DWORD, + pdwSendTimeout: *mut DWORD, + pdwReceiveTimeout: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetHttpTimeoutsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetHttpTimeoutsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpTimeoutsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRequestTimeouts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(GetRequestTimeouts) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpTimeouts { + pub lpVtbl: *mut IWinInetHttpTimeoutsVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetHttpTimeouts() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetHttpTimeouts)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpTimeouts)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeouts), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0022_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0022_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETCACHEHINTS = *mut IWinInetCacheHints; +extern "C" { + pub static IID_IWinInetCacheHints: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHintsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetCacheExtension: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints, + pwzExt: LPCWSTR, + pszCacheFile: LPVOID, + pcbCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHintsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetCacheHintsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHintsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(SetCacheExtension) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints { + pub lpVtbl: *mut IWinInetCacheHintsVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetCacheHints)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETCACHEHINTS2 = *mut IWinInetCacheHints2; +extern "C" { + pub static IID_IWinInetCacheHints2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetCacheExtension: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + pwzExt: LPCWSTR, + pszCacheFile: LPVOID, + pcbCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, + pub SetCacheExtension2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + pwzExt: LPCWSTR, + pwzCacheFile: *mut WCHAR, + pcchCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetCacheHints2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(SetCacheExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(SetCacheExtension2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints2 { + pub lpVtbl: *mut IWinInetCacheHints2Vtbl, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetCacheHints2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static SID_BindHost: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDHOST = *mut IBindHost; +extern "C" { + pub static IID_IBindHost: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHostVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + szName: LPOLESTR, + pBC: *mut IBindCtx, + ppmk: *mut *mut IMoniker, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub MonikerBindToStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub MonikerBindToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindHostVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IBindHostVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHostVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateMoniker) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(CreateMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MonikerBindToStorage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(MonikerBindToStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MonikerBindToObject) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(MonikerBindToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHost { + pub lpVtbl: *mut IBindHostVtbl, +} +#[test] +fn bindgen_test_layout_IBindHost() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindHost)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHost)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHost), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToStorage_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToStorage_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToObject_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToObject_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn HlinkSimpleNavigateToString( + szTarget: LPCWSTR, + szLocation: LPCWSTR, + szTargetFrameName: LPCWSTR, + pUnk: *mut IUnknown, + pbc: *mut IBindCtx, + arg1: *mut IBindStatusCallback, + grfHLNF: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn HlinkSimpleNavigateToMoniker( + pmkTarget: *mut IMoniker, + szLocation: LPCWSTR, + szTargetFrameName: LPCWSTR, + pUnk: *mut IUnknown, + pbc: *mut IBindCtx, + arg1: *mut IBindStatusCallback, + grfHLNF: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenPullStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenPullStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToFileA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: LPCSTR, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToFileW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: LPCWSTR, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToCacheFileA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: LPSTR, + cchFileName: DWORD, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToCacheFileW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: LPWSTR, + cchFileName: DWORD, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenBlockingStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: *mut LPSTREAM, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenBlockingStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: *mut LPSTREAM, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn HlinkGoBack(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn HlinkGoForward(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn HlinkNavigateString(pUnk: *mut IUnknown, szTarget: LPCWSTR) -> HRESULT; +} +extern "C" { + pub fn HlinkNavigateMoniker(pUnk: *mut IUnknown, pmkTarget: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNET = *mut IInternet; +extern "C" { + pub static IID_IInternet: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternet, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IInternetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IInternetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternet { + pub lpVtbl: *mut IInternetVtbl, +} +#[test] +fn bindgen_test_layout_IInternet() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternet)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternet)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternet), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0026_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0026_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETBINDINFO = *mut IInternetBindInfo; +pub const tagBINDSTRING_BINDSTRING_HEADERS: tagBINDSTRING = 1; +pub const tagBINDSTRING_BINDSTRING_ACCEPT_MIMES: tagBINDSTRING = 2; +pub const tagBINDSTRING_BINDSTRING_EXTRA_URL: tagBINDSTRING = 3; +pub const tagBINDSTRING_BINDSTRING_LANGUAGE: tagBINDSTRING = 4; +pub const tagBINDSTRING_BINDSTRING_USERNAME: tagBINDSTRING = 5; +pub const tagBINDSTRING_BINDSTRING_PASSWORD: tagBINDSTRING = 6; +pub const tagBINDSTRING_BINDSTRING_UA_PIXELS: tagBINDSTRING = 7; +pub const tagBINDSTRING_BINDSTRING_UA_COLOR: tagBINDSTRING = 8; +pub const tagBINDSTRING_BINDSTRING_OS: tagBINDSTRING = 9; +pub const tagBINDSTRING_BINDSTRING_USER_AGENT: tagBINDSTRING = 10; +pub const tagBINDSTRING_BINDSTRING_ACCEPT_ENCODINGS: tagBINDSTRING = 11; +pub const tagBINDSTRING_BINDSTRING_POST_COOKIE: tagBINDSTRING = 12; +pub const tagBINDSTRING_BINDSTRING_POST_DATA_MIME: tagBINDSTRING = 13; +pub const tagBINDSTRING_BINDSTRING_URL: tagBINDSTRING = 14; +pub const tagBINDSTRING_BINDSTRING_IID: tagBINDSTRING = 15; +pub const tagBINDSTRING_BINDSTRING_FLAG_BIND_TO_OBJECT: tagBINDSTRING = 16; +pub const tagBINDSTRING_BINDSTRING_PTR_BIND_CONTEXT: tagBINDSTRING = 17; +pub const tagBINDSTRING_BINDSTRING_XDR_ORIGIN: tagBINDSTRING = 18; +pub const tagBINDSTRING_BINDSTRING_DOWNLOADPATH: tagBINDSTRING = 19; +pub const tagBINDSTRING_BINDSTRING_ROOTDOC_URL: tagBINDSTRING = 20; +pub const tagBINDSTRING_BINDSTRING_INITIAL_FILENAME: tagBINDSTRING = 21; +pub const tagBINDSTRING_BINDSTRING_PROXY_USERNAME: tagBINDSTRING = 22; +pub const tagBINDSTRING_BINDSTRING_PROXY_PASSWORD: tagBINDSTRING = 23; +pub const tagBINDSTRING_BINDSTRING_ENTERPRISE_ID: tagBINDSTRING = 24; +pub const tagBINDSTRING_BINDSTRING_DOC_URL: tagBINDSTRING = 25; +pub const tagBINDSTRING_BINDSTRING_SAMESITE_COOKIE_LEVEL: tagBINDSTRING = 26; +pub type tagBINDSTRING = ::std::os::raw::c_int; +pub use self::tagBINDSTRING as BINDSTRING; +extern "C" { + pub static IID_IInternetBindInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub GetBindString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + ulStringType: ULONG, + ppwzStr: *mut LPOLESTR, + cEl: ULONG, + pcElFetched: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetBindInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(GetBindString) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfo { + pub lpVtbl: *mut IInternetBindInfoVtbl, +} +#[test] +fn bindgen_test_layout_IInternetBindInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetBindInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0027_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0027_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETBINDINFOEX = *mut IInternetBindInfoEx; +extern "C" { + pub static IID_IInternetBindInfoEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub GetBindString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + ulStringType: ULONG, + ppwzStr: *mut LPOLESTR, + cEl: ULONG, + pcElFetched: *mut ULONG, + ) -> HRESULT, + >, + pub GetBindInfoEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetBindInfoExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfoEx) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindInfoEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoEx { + pub lpVtbl: *mut IInternetBindInfoExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetBindInfoEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0028_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0028_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLROOT = *mut IInternetProtocolRoot; +pub const _tagPI_FLAGS_PI_PARSE_URL: _tagPI_FLAGS = 1; +pub const _tagPI_FLAGS_PI_FILTER_MODE: _tagPI_FLAGS = 2; +pub const _tagPI_FLAGS_PI_FORCE_ASYNC: _tagPI_FLAGS = 4; +pub const _tagPI_FLAGS_PI_USE_WORKERTHREAD: _tagPI_FLAGS = 8; +pub const _tagPI_FLAGS_PI_MIMEVERIFICATION: _tagPI_FLAGS = 16; +pub const _tagPI_FLAGS_PI_CLSIDLOOKUP: _tagPI_FLAGS = 32; +pub const _tagPI_FLAGS_PI_DATAPROGRESS: _tagPI_FLAGS = 64; +pub const _tagPI_FLAGS_PI_SYNCHRONOUS: _tagPI_FLAGS = 128; +pub const _tagPI_FLAGS_PI_APARTMENTTHREADED: _tagPI_FLAGS = 256; +pub const _tagPI_FLAGS_PI_CLASSINSTALL: _tagPI_FLAGS = 512; +pub const _tagPI_FLAGS_PI_PASSONBINDCTX: _tagPI_FLAGS = 8192; +pub const _tagPI_FLAGS_PI_NOMIMEHANDLER: _tagPI_FLAGS = 32768; +pub const _tagPI_FLAGS_PI_LOADAPPDIRECT: _tagPI_FLAGS = 16384; +pub const _tagPI_FLAGS_PD_FORCE_SWITCH: _tagPI_FLAGS = 65536; +pub const _tagPI_FLAGS_PI_PREFERDEFAULTHANDLER: _tagPI_FLAGS = 131072; +pub type _tagPI_FLAGS = ::std::os::raw::c_int; +pub use self::_tagPI_FLAGS as PI_FLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOLDATA { + pub grfFlags: DWORD, + pub dwState: DWORD, + pub pData: LPVOID, + pub cbData: ULONG, +} +#[test] +fn bindgen_test_layout__tagPROTOCOLDATA() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOLDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOLDATA>(), + 24usize, + concat!("Size of: ", stringify!(_tagPROTOCOLDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOLDATA>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOLDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(cbData) + ) + ); +} +pub type PROTOCOLDATA = _tagPROTOCOLDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagStartParam { + pub iid: IID, + pub pIBindCtx: *mut IBindCtx, + pub pItf: *mut IUnknown, +} +#[test] +fn bindgen_test_layout__tagStartParam() { + const UNINIT: ::std::mem::MaybeUninit<_tagStartParam> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagStartParam>(), + 32usize, + concat!("Size of: ", stringify!(_tagStartParam)) + ); + assert_eq!( + ::std::mem::align_of::<_tagStartParam>(), + 8usize, + concat!("Alignment of ", stringify!(_tagStartParam)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIBindCtx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(pIBindCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pItf) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(pItf) + ) + ); +} +pub type StartParam = _tagStartParam; +extern "C" { + pub static IID_IInternetProtocolRoot: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolRootVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolRoot, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetProtocolRootVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IInternetProtocolRootVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolRootVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Resume) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolRoot { + pub lpVtbl: *mut IInternetProtocolRootVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolRoot() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolRoot)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolRoot)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRoot), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0029_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0029_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOL = *mut IInternetProtocol; +extern "C" { + pub static IID_IInternetProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocol, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub LockRequest: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocol, dwOptions: DWORD) -> HRESULT, + >, + pub UnlockRequest: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IInternetProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRequest) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(LockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRequest) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(UnlockRequest) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocol { + pub lpVtbl: *mut IInternetProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0030_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0030_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetProtocolEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolEx, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub LockRequest: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolEx, dwOptions: DWORD) -> HRESULT, + >, + pub UnlockRequest: + ::std::option::Option HRESULT>, + pub StartEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pUri: *mut IUri, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IInternetProtocolExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRequest) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(LockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRequest) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(UnlockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartEx) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(StartEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolEx { + pub lpVtbl: *mut IInternetProtocolExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0031_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0031_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLSINK = *mut IInternetProtocolSink; +extern "C" { + pub static IID_IInternetProtocolSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Switch: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub ReportProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub ReportData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + grfBSCF: DWORD, + ulProgress: ULONG, + ulProgressMax: ULONG, + ) -> HRESULT, + >, + pub ReportResult: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + hrResult: HRESULT, + dwError: DWORD, + szResult: LPCWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Switch) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(Switch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportProgress) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportResult) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportResult) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSink { + pub lpVtbl: *mut IInternetProtocolSinkVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSink() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0032_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0032_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLSINKStackable = *mut IInternetProtocolSinkStackable; +extern "C" { + pub static IID_IInternetProtocolSinkStackable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkStackableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSinkStackable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> ULONG, + >, + pub SwitchSink: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSinkStackable, + pOIProtSink: *mut IInternetProtocolSink, + ) -> HRESULT, + >, + pub CommitSwitch: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> HRESULT, + >, + pub RollbackSwitch: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkStackableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkStackableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IInternetProtocolSinkStackableVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SwitchSink) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(SwitchSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommitSwitch) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(CommitSwitch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RollbackSwitch) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(RollbackSwitch) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkStackable { + pub lpVtbl: *mut IInternetProtocolSinkStackableVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkStackable() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkStackable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSinkStackable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0033_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0033_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETSESSION = *mut IInternetSession; +pub const _tagOIBDG_FLAGS_OIBDG_APARTMENTTHREADED: _tagOIBDG_FLAGS = 256; +pub const _tagOIBDG_FLAGS_OIBDG_DATAONLY: _tagOIBDG_FLAGS = 4096; +pub type _tagOIBDG_FLAGS = ::std::os::raw::c_int; +pub use self::_tagOIBDG_FLAGS as OIBDG_FLAGS; +extern "C" { + pub static IID_IInternetSession: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSessionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RegisterNameSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + rclsid: *const IID, + pwzProtocol: LPCWSTR, + cPatterns: ULONG, + ppwzPatterns: *const LPCWSTR, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub UnregisterNameSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + pszProtocol: LPCWSTR, + ) -> HRESULT, + >, + pub RegisterMimeFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + rclsid: *const IID, + pwzType: LPCWSTR, + ) -> HRESULT, + >, + pub UnregisterMimeFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + pwzType: LPCWSTR, + ) -> HRESULT, + >, + pub CreateBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pBC: LPBC, + szUrl: LPCWSTR, + pUnkOuter: *mut IUnknown, + ppUnk: *mut *mut IUnknown, + ppOInetProt: *mut *mut IInternetProtocol, + dwOption: DWORD, + ) -> HRESULT, + >, + pub SetSessionOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetSessionOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + dwOption: DWORD, + pBuffer: LPVOID, + pdwBufferLength: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSessionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IInternetSessionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSessionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterNameSpace) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(RegisterNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnregisterNameSpace) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(UnregisterNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterMimeFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(RegisterMimeFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnregisterMimeFilter) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(UnregisterMimeFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(CreateBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionOption) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(SetSessionOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSessionOption) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(GetSessionOption) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSession { + pub lpVtbl: *mut IInternetSessionVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSession() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSession)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSession)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSession), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0034_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0034_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETTHREADSWITCH = *mut IInternetThreadSwitch; +extern "C" { + pub static IID_IInternetThreadSwitch: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetThreadSwitchVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetThreadSwitch, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Prepare: + ::std::option::Option HRESULT>, + pub Continue: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetThreadSwitchVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetThreadSwitchVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetThreadSwitchVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prepare) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Prepare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Continue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetThreadSwitch { + pub lpVtbl: *mut IInternetThreadSwitchVtbl, +} +#[test] +fn bindgen_test_layout_IInternetThreadSwitch() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetThreadSwitch)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetThreadSwitch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitch), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0035_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0035_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPRIORITY = *mut IInternetPriority; +extern "C" { + pub static IID_IInternetPriority: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetPriorityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetPriority, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetPriority, nPriority: LONG) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetPriority, pnPriority: *mut LONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetPriorityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetPriorityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetPriorityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPriority) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(SetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(GetPriority) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetPriority { + pub lpVtbl: *mut IInternetPriorityVtbl, +} +#[test] +fn bindgen_test_layout_IInternetPriority() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetPriority)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetPriority)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriority), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0036_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0036_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLINFO = *mut IInternetProtocolInfo; +pub const _tagPARSEACTION_PARSE_CANONICALIZE: _tagPARSEACTION = 1; +pub const _tagPARSEACTION_PARSE_FRIENDLY: _tagPARSEACTION = 2; +pub const _tagPARSEACTION_PARSE_SECURITY_URL: _tagPARSEACTION = 3; +pub const _tagPARSEACTION_PARSE_ROOTDOCUMENT: _tagPARSEACTION = 4; +pub const _tagPARSEACTION_PARSE_DOCUMENT: _tagPARSEACTION = 5; +pub const _tagPARSEACTION_PARSE_ANCHOR: _tagPARSEACTION = 6; +pub const _tagPARSEACTION_PARSE_ENCODE_IS_UNESCAPE: _tagPARSEACTION = 7; +pub const _tagPARSEACTION_PARSE_DECODE_IS_ESCAPE: _tagPARSEACTION = 8; +pub const _tagPARSEACTION_PARSE_PATH_FROM_URL: _tagPARSEACTION = 9; +pub const _tagPARSEACTION_PARSE_URL_FROM_PATH: _tagPARSEACTION = 10; +pub const _tagPARSEACTION_PARSE_MIME: _tagPARSEACTION = 11; +pub const _tagPARSEACTION_PARSE_SERVER: _tagPARSEACTION = 12; +pub const _tagPARSEACTION_PARSE_SCHEMA: _tagPARSEACTION = 13; +pub const _tagPARSEACTION_PARSE_SITE: _tagPARSEACTION = 14; +pub const _tagPARSEACTION_PARSE_DOMAIN: _tagPARSEACTION = 15; +pub const _tagPARSEACTION_PARSE_LOCATION: _tagPARSEACTION = 16; +pub const _tagPARSEACTION_PARSE_SECURITY_DOMAIN: _tagPARSEACTION = 17; +pub const _tagPARSEACTION_PARSE_ESCAPE: _tagPARSEACTION = 18; +pub const _tagPARSEACTION_PARSE_UNESCAPE: _tagPARSEACTION = 19; +pub type _tagPARSEACTION = ::std::os::raw::c_int; +pub use self::_tagPARSEACTION as PARSEACTION; +pub const _tagPSUACTION_PSU_DEFAULT: _tagPSUACTION = 1; +pub const _tagPSUACTION_PSU_SECURITY_URL_ONLY: _tagPSUACTION = 2; +pub type _tagPSUACTION = ::std::os::raw::c_int; +pub use self::_tagPSUACTION as PSUACTION; +pub const _tagQUERYOPTION_QUERY_EXPIRATION_DATE: _tagQUERYOPTION = 1; +pub const _tagQUERYOPTION_QUERY_TIME_OF_LAST_CHANGE: _tagQUERYOPTION = 2; +pub const _tagQUERYOPTION_QUERY_CONTENT_ENCODING: _tagQUERYOPTION = 3; +pub const _tagQUERYOPTION_QUERY_CONTENT_TYPE: _tagQUERYOPTION = 4; +pub const _tagQUERYOPTION_QUERY_REFRESH: _tagQUERYOPTION = 5; +pub const _tagQUERYOPTION_QUERY_RECOMBINE: _tagQUERYOPTION = 6; +pub const _tagQUERYOPTION_QUERY_CAN_NAVIGATE: _tagQUERYOPTION = 7; +pub const _tagQUERYOPTION_QUERY_USES_NETWORK: _tagQUERYOPTION = 8; +pub const _tagQUERYOPTION_QUERY_IS_CACHED: _tagQUERYOPTION = 9; +pub const _tagQUERYOPTION_QUERY_IS_INSTALLEDENTRY: _tagQUERYOPTION = 10; +pub const _tagQUERYOPTION_QUERY_IS_CACHED_OR_MAPPED: _tagQUERYOPTION = 11; +pub const _tagQUERYOPTION_QUERY_USES_CACHE: _tagQUERYOPTION = 12; +pub const _tagQUERYOPTION_QUERY_IS_SECURE: _tagQUERYOPTION = 13; +pub const _tagQUERYOPTION_QUERY_IS_SAFE: _tagQUERYOPTION = 14; +pub const _tagQUERYOPTION_QUERY_USES_HISTORYFOLDER: _tagQUERYOPTION = 15; +pub const _tagQUERYOPTION_QUERY_IS_CACHED_AND_USABLE_OFFLINE: _tagQUERYOPTION = 16; +pub type _tagQUERYOPTION = ::std::os::raw::c_int; +pub use self::_tagQUERYOPTION as QUERYOPTION; +extern "C" { + pub static IID_IInternetProtocolInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ParseUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl: LPCWSTR, + ParseAction: PARSEACTION, + dwParseFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub CombineUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzBaseUrl: LPCWSTR, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub CompareUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl1: LPCWSTR, + pwzUrl2: LPCWSTR, + dwCompareFlags: DWORD, + ) -> HRESULT, + >, + pub QueryInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl: LPCWSTR, + OueryOption: QUERYOPTION, + dwQueryFlags: DWORD, + pBuffer: LPVOID, + cbBuffer: DWORD, + pcbBuf: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInternetProtocolInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseUrl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(ParseUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CombineUrl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(CombineUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompareUrl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(CompareUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(QueryInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolInfo { + pub lpVtbl: *mut IInternetProtocolInfoVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolInfo() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CoInternetParseUrl( + pwzUrl: LPCWSTR, + ParseAction: PARSEACTION, + dwFlags: DWORD, + pszResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetParseIUri( + pIUri: *mut IUri, + ParseAction: PARSEACTION, + dwFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineUrl( + pwzBaseUrl: LPCWSTR, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + pszResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineUrlEx( + pBaseUri: *mut IUri, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + ppCombinedUri: *mut *mut IUri, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineIUri( + pBaseUri: *mut IUri, + pRelativeUri: *mut IUri, + dwCombineFlags: DWORD, + ppCombinedUri: *mut *mut IUri, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCompareUrl(pwzUrl1: LPCWSTR, pwzUrl2: LPCWSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetProtocolFlags( + pwzUrl: LPCWSTR, + pdwFlags: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetQueryInfo( + pwzUrl: LPCWSTR, + QueryOptions: QUERYOPTION, + dwQueryFlags: DWORD, + pvBuffer: LPVOID, + cbBuffer: DWORD, + pcbBuffer: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSession( + dwSessionMode: DWORD, + ppIInternetSession: *mut *mut IInternetSession, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSecurityUrl( + pwszUrl: LPCWSTR, + ppwszSecUrl: *mut LPWSTR, + psuAction: PSUACTION, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncInstallDistributionUnit( + szDistUnit: LPCWSTR, + szTYPE: LPCWSTR, + szExt: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + szURL: LPCWSTR, + pbc: *mut IBindCtx, + pvReserved: LPVOID, + flags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSecurityUrlEx( + pUri: *mut IUri, + ppSecUri: *mut *mut IUri, + psuAction: PSUACTION, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +pub const _tagINTERNETFEATURELIST_FEATURE_OBJECT_CACHING: _tagINTERNETFEATURELIST = 0; +pub const _tagINTERNETFEATURELIST_FEATURE_ZONE_ELEVATION: _tagINTERNETFEATURELIST = 1; +pub const _tagINTERNETFEATURELIST_FEATURE_MIME_HANDLING: _tagINTERNETFEATURELIST = 2; +pub const _tagINTERNETFEATURELIST_FEATURE_MIME_SNIFFING: _tagINTERNETFEATURELIST = 3; +pub const _tagINTERNETFEATURELIST_FEATURE_WINDOW_RESTRICTIONS: _tagINTERNETFEATURELIST = 4; +pub const _tagINTERNETFEATURELIST_FEATURE_WEBOC_POPUPMANAGEMENT: _tagINTERNETFEATURELIST = 5; +pub const _tagINTERNETFEATURELIST_FEATURE_BEHAVIORS: _tagINTERNETFEATURELIST = 6; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_MK_PROTOCOL: _tagINTERNETFEATURELIST = 7; +pub const _tagINTERNETFEATURELIST_FEATURE_LOCALMACHINE_LOCKDOWN: _tagINTERNETFEATURELIST = 8; +pub const _tagINTERNETFEATURELIST_FEATURE_SECURITYBAND: _tagINTERNETFEATURELIST = 9; +pub const _tagINTERNETFEATURELIST_FEATURE_RESTRICT_ACTIVEXINSTALL: _tagINTERNETFEATURELIST = 10; +pub const _tagINTERNETFEATURELIST_FEATURE_VALIDATE_NAVIGATE_URL: _tagINTERNETFEATURELIST = 11; +pub const _tagINTERNETFEATURELIST_FEATURE_RESTRICT_FILEDOWNLOAD: _tagINTERNETFEATURELIST = 12; +pub const _tagINTERNETFEATURELIST_FEATURE_ADDON_MANAGEMENT: _tagINTERNETFEATURELIST = 13; +pub const _tagINTERNETFEATURELIST_FEATURE_PROTOCOL_LOCKDOWN: _tagINTERNETFEATURELIST = 14; +pub const _tagINTERNETFEATURELIST_FEATURE_HTTP_USERNAME_PASSWORD_DISABLE: _tagINTERNETFEATURELIST = + 15; +pub const _tagINTERNETFEATURELIST_FEATURE_SAFE_BINDTOOBJECT: _tagINTERNETFEATURELIST = 16; +pub const _tagINTERNETFEATURELIST_FEATURE_UNC_SAVEDFILECHECK: _tagINTERNETFEATURELIST = 17; +pub const _tagINTERNETFEATURELIST_FEATURE_GET_URL_DOM_FILEPATH_UNENCODED: _tagINTERNETFEATURELIST = + 18; +pub const _tagINTERNETFEATURELIST_FEATURE_TABBED_BROWSING: _tagINTERNETFEATURELIST = 19; +pub const _tagINTERNETFEATURELIST_FEATURE_SSLUX: _tagINTERNETFEATURELIST = 20; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_NAVIGATION_SOUNDS: _tagINTERNETFEATURELIST = 21; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_LEGACY_COMPRESSION: _tagINTERNETFEATURELIST = 22; +pub const _tagINTERNETFEATURELIST_FEATURE_FORCE_ADDR_AND_STATUS: _tagINTERNETFEATURELIST = 23; +pub const _tagINTERNETFEATURELIST_FEATURE_XMLHTTP: _tagINTERNETFEATURELIST = 24; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_TELNET_PROTOCOL: _tagINTERNETFEATURELIST = 25; +pub const _tagINTERNETFEATURELIST_FEATURE_FEEDS: _tagINTERNETFEATURELIST = 26; +pub const _tagINTERNETFEATURELIST_FEATURE_BLOCK_INPUT_PROMPTS: _tagINTERNETFEATURELIST = 27; +pub const _tagINTERNETFEATURELIST_FEATURE_ENTRY_COUNT: _tagINTERNETFEATURELIST = 28; +pub type _tagINTERNETFEATURELIST = ::std::os::raw::c_int; +pub use self::_tagINTERNETFEATURELIST as INTERNETFEATURELIST; +extern "C" { + pub fn CoInternetSetFeatureEnabled( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + fEnable: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabled(FeatureEntry: INTERNETFEATURELIST, dwFlags: DWORD) + -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabledForUrl( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + szURL: LPCWSTR, + pSecMgr: *mut IInternetSecurityManager, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabledForIUri( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + pIUri: *mut IUri, + pSecMgr: *mut IInternetSecurityManagerEx2, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureZoneElevationEnabled( + szFromURL: LPCWSTR, + szToURL: LPCWSTR, + pSecMgr: *mut IInternetSecurityManager, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CopyStgMedium(pcstgmedSrc: *const STGMEDIUM, pstgmedDest: *mut STGMEDIUM) -> HRESULT; +} +extern "C" { + pub fn CopyBindInfo(pcbiSrc: *const BINDINFO, pbiDest: *mut BINDINFO) -> HRESULT; +} +extern "C" { + pub fn ReleaseBindInfo(pbindinfo: *mut BINDINFO); +} +extern "C" { + pub fn IEGetUserPrivateNamespaceName() -> PWSTR; +} +extern "C" { + pub fn CoInternetCreateSecurityManager( + pSP: *mut IServiceProvider, + ppSM: *mut *mut IInternetSecurityManager, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCreateZoneManager( + pSP: *mut IServiceProvider, + ppZM: *mut *mut IInternetZoneManager, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static CLSID_InternetSecurityManager: IID; +} +extern "C" { + pub static CLSID_InternetZoneManager: IID; +} +extern "C" { + pub static CLSID_PersistentZoneIdentifier: IID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0037_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0037_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityMgrSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityMgrSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityMgrSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityMgrSite, phwnd: *mut HWND) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityMgrSite, fEnable: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityMgrSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetSecurityMgrSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityMgrSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(EnableModeless) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityMgrSite { + pub lpVtbl: *mut IInternetSecurityMgrSiteVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityMgrSite() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityMgrSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityMgrSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSite), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0038_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0038_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DEFAULT: __MIDL_IInternetSecurityManager_0001 = + 0; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOUI: __MIDL_IInternetSecurityManager_0001 = 1; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ISFILE: __MIDL_IInternetSecurityManager_0001 = + 2; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_WARN_IF_DENIED: + __MIDL_IInternetSecurityManager_0001 = 4; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_FORCEUI_FOREGROUND: + __MIDL_IInternetSecurityManager_0001 = 8; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_CHECK_TIFS: + __MIDL_IInternetSecurityManager_0001 = 16; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DONTCHECKBOXINDIALOG: + __MIDL_IInternetSecurityManager_0001 = 32; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_TRUSTED: __MIDL_IInternetSecurityManager_0001 = + 64; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ACCEPT_WILDCARD_SCHEME: + __MIDL_IInternetSecurityManager_0001 = 128; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ENFORCERESTRICTED: + __MIDL_IInternetSecurityManager_0001 = 256; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOSAVEDFILECHECK: + __MIDL_IInternetSecurityManager_0001 = 512; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_REQUIRESAVEDFILECHECK: + __MIDL_IInternetSecurityManager_0001 = 1024; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DONT_USE_CACHE: + __MIDL_IInternetSecurityManager_0001 = 4096; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_RESERVED1: + __MIDL_IInternetSecurityManager_0001 = 8192; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_RESERVED2: + __MIDL_IInternetSecurityManager_0001 = 16384; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_LMZ_UNLOCKED: + __MIDL_IInternetSecurityManager_0001 = 65536; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_LMZ_LOCKED: + __MIDL_IInternetSecurityManager_0001 = 131072; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DEFAULTZONEPOL: + __MIDL_IInternetSecurityManager_0001 = 262144; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NPL_USE_LOCKED_IF_RESTRICTED: + __MIDL_IInternetSecurityManager_0001 = 524288; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOUIIFLOCKED: + __MIDL_IInternetSecurityManager_0001 = 1048576; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DRAGPROTOCOLCHECK: + __MIDL_IInternetSecurityManager_0001 = 2097152; +pub type __MIDL_IInternetSecurityManager_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0001 as PUAF; +pub const __MIDL_IInternetSecurityManager_0002_PUAFOUT_DEFAULT: + __MIDL_IInternetSecurityManager_0002 = 0; +pub const __MIDL_IInternetSecurityManager_0002_PUAFOUT_ISLOCKZONEPOLICY: + __MIDL_IInternetSecurityManager_0002 = 1; +pub type __MIDL_IInternetSecurityManager_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0002 as PUAFOUT; +pub const __MIDL_IInternetSecurityManager_0003_SZM_CREATE: __MIDL_IInternetSecurityManager_0003 = 0; +pub const __MIDL_IInternetSecurityManager_0003_SZM_DELETE: __MIDL_IInternetSecurityManager_0003 = 1; +pub type __MIDL_IInternetSecurityManager_0003 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0003 as SZM_FLAGS; +extern "C" { + pub static IID_IInternetSecurityManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetZoneMappings) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManager { + pub lpVtbl: *mut IInternetSecurityManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManager() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0039_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0039_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityManagerEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetZoneMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(ProcessUrlActionEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx { + pub lpVtbl: *mut IInternetSecurityManagerExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0040_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0040_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityManagerEx2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityManagerEx2) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityManagerEx2) -> ULONG, + >, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub MapUrlToZoneEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ppwszMappedUrl: *mut LPWSTR, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub GetSecurityIdEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub QueryCustomPolicyEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetZoneMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlActionEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZoneEx2) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(MapUrlToZoneEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx2) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlActionEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityIdEx2) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecurityIdEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicyEx2) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryCustomPolicyEx2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx2 { + pub lpVtbl: *mut IInternetSecurityManagerEx2Vtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0041_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0041_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IZoneIdentifier: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifierVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier, pdwZone: *mut DWORD) -> HRESULT, + >, + pub SetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier, dwZone: DWORD) -> HRESULT, + >, + pub Remove: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IZoneIdentifierVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IZoneIdentifierVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifierVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(GetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(SetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(Remove) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier { + pub lpVtbl: *mut IZoneIdentifierVtbl, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IZoneIdentifier)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0042_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0042_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IZoneIdentifier2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, pdwZone: *mut DWORD) -> HRESULT, + >, + pub SetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, dwZone: DWORD) -> HRESULT, + >, + pub Remove: ::std::option::Option HRESULT>, + pub GetLastWriterPackageFamilyName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier2, + packageFamilyName: *mut LPWSTR, + ) -> HRESULT, + >, + pub SetLastWriterPackageFamilyName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, packageFamilyName: LPCWSTR) -> HRESULT, + >, + pub RemoveLastWriterPackageFamilyName: + ::std::option::Option HRESULT>, + pub GetAppZoneId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, zone: *mut DWORD) -> HRESULT, + >, + pub SetAppZoneId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, zone: DWORD) -> HRESULT, + >, + pub RemoveAppZoneId: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IZoneIdentifier2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(Remove) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetLastWriterPackageFamilyName) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SetLastWriterPackageFamilyName) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RemoveLastWriterPackageFamilyName) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(RemoveLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAppZoneId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetAppZoneId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAppZoneId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetAppZoneId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveAppZoneId) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(RemoveAppZoneId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier2 { + pub lpVtbl: *mut IZoneIdentifier2Vtbl, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IZoneIdentifier2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0043_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0043_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetHostSecurityManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetHostSecurityManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetHostSecurityManager) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetHostSecurityManager) -> ULONG, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetHostSecurityManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetHostSecurityManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IInternetHostSecurityManagerVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetHostSecurityManager { + pub lpVtbl: *mut IInternetHostSecurityManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetHostSecurityManager() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetHostSecurityManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetHostSecurityManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0044_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0044_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPURLZONEMANAGER = *mut IInternetZoneManager; +pub const tagURLZONE_URLZONE_INVALID: tagURLZONE = -1; +pub const tagURLZONE_URLZONE_PREDEFINED_MIN: tagURLZONE = 0; +pub const tagURLZONE_URLZONE_LOCAL_MACHINE: tagURLZONE = 0; +pub const tagURLZONE_URLZONE_INTRANET: tagURLZONE = 1; +pub const tagURLZONE_URLZONE_TRUSTED: tagURLZONE = 2; +pub const tagURLZONE_URLZONE_INTERNET: tagURLZONE = 3; +pub const tagURLZONE_URLZONE_UNTRUSTED: tagURLZONE = 4; +pub const tagURLZONE_URLZONE_PREDEFINED_MAX: tagURLZONE = 999; +pub const tagURLZONE_URLZONE_USER_MIN: tagURLZONE = 1000; +pub const tagURLZONE_URLZONE_USER_MAX: tagURLZONE = 10000; +pub type tagURLZONE = ::std::os::raw::c_int; +pub use self::tagURLZONE as URLZONE; +pub const tagURLTEMPLATE_URLTEMPLATE_CUSTOM: tagURLTEMPLATE = 0; +pub const tagURLTEMPLATE_URLTEMPLATE_PREDEFINED_MIN: tagURLTEMPLATE = 65536; +pub const tagURLTEMPLATE_URLTEMPLATE_LOW: tagURLTEMPLATE = 65536; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDLOW: tagURLTEMPLATE = 66816; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDIUM: tagURLTEMPLATE = 69632; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDHIGH: tagURLTEMPLATE = 70912; +pub const tagURLTEMPLATE_URLTEMPLATE_HIGH: tagURLTEMPLATE = 73728; +pub const tagURLTEMPLATE_URLTEMPLATE_PREDEFINED_MAX: tagURLTEMPLATE = 131072; +pub type tagURLTEMPLATE = ::std::os::raw::c_int; +pub use self::tagURLTEMPLATE as URLTEMPLATE; +pub const __MIDL_IInternetZoneManager_0001_MAX_ZONE_PATH: __MIDL_IInternetZoneManager_0001 = 260; +pub const __MIDL_IInternetZoneManager_0001_MAX_ZONE_DESCRIPTION: __MIDL_IInternetZoneManager_0001 = + 200; +pub type __MIDL_IInternetZoneManager_0001 = ::std::os::raw::c_int; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_CUSTOM_EDIT: __MIDL_IInternetZoneManager_0002 = + 1; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_ADD_SITES: __MIDL_IInternetZoneManager_0002 = 2; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_REQUIRE_VERIFICATION: + __MIDL_IInternetZoneManager_0002 = 4; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_INCLUDE_PROXY_OVERRIDE: + __MIDL_IInternetZoneManager_0002 = 8; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_INCLUDE_INTRANET_SITES: + __MIDL_IInternetZoneManager_0002 = 16; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_NO_UI: __MIDL_IInternetZoneManager_0002 = 32; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_SUPPORTS_VERIFICATION: + __MIDL_IInternetZoneManager_0002 = 64; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_UNC_AS_INTRANET: + __MIDL_IInternetZoneManager_0002 = 128; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_DETECT_INTRANET: + __MIDL_IInternetZoneManager_0002 = 256; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_USE_LOCKED_ZONES: + __MIDL_IInternetZoneManager_0002 = 65536; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_VERIFY_TEMPLATE_SETTINGS: + __MIDL_IInternetZoneManager_0002 = 131072; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_NO_CACHE: __MIDL_IInternetZoneManager_0002 = + 262144; +pub type __MIDL_IInternetZoneManager_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetZoneManager_0002 as ZAFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ZONEATTRIBUTES { + pub cbSize: ULONG, + pub szDisplayName: [WCHAR; 260usize], + pub szDescription: [WCHAR; 200usize], + pub szIconPath: [WCHAR; 260usize], + pub dwTemplateMinLevel: DWORD, + pub dwTemplateRecommended: DWORD, + pub dwTemplateCurrentLevel: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__ZONEATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_ZONEATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ZONEATTRIBUTES>(), + 1460usize, + concat!("Size of: ", stringify!(_ZONEATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_ZONEATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_ZONEATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 524usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szIconPath) as usize - ptr as usize }, + 924usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szIconPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateMinLevel) as usize - ptr as usize }, + 1444usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateMinLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateRecommended) as usize - ptr as usize }, + 1448usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateRecommended) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateCurrentLevel) as usize - ptr as usize }, + 1452usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateCurrentLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 1456usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwFlags) + ) + ); +} +pub type ZONEATTRIBUTES = _ZONEATTRIBUTES; +pub type LPZONEATTRIBUTES = *mut _ZONEATTRIBUTES; +pub const _URLZONEREG_URLZONEREG_DEFAULT: _URLZONEREG = 0; +pub const _URLZONEREG_URLZONEREG_HKLM: _URLZONEREG = 1; +pub const _URLZONEREG_URLZONEREG_HKCU: _URLZONEREG = 2; +pub type _URLZONEREG = ::std::os::raw::c_int; +pub use self::_URLZONEREG as URLZONEREG; +extern "C" { + pub static IID_IInternetZoneManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManager, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IInternetZoneManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManager { + pub lpVtbl: *mut IInternetZoneManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManager() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0045_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0045_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetZoneManagerEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManagerEx, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub SetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(IInternetZoneManagerExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicyEx) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicyEx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneActionPolicyEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx { + pub lpVtbl: *mut IInternetZoneManagerExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0046_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0046_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetZoneManagerEx2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManagerEx2, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub SetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAttributesEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneSecurityState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZoneIndex: DWORD, + fRespectPolicy: BOOL, + pdwState: LPDWORD, + pfPolicyEncountered: *mut BOOL, + ) -> HRESULT, + >, + pub GetIESecurityState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + fRespectPolicy: BOOL, + pdwState: LPDWORD, + pfPolicyEncountered: *mut BOOL, + fNoCache: BOOL, + ) -> HRESULT, + >, + pub FixUnsecureSettings: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicyEx) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicyEx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributesEx) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAttributesEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneSecurityState) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneSecurityState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIESecurityState) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetIESecurityState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixUnsecureSettings) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(FixUnsecureSettings) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx2 { + pub lpVtbl: *mut IInternetZoneManagerEx2Vtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_SoftDistExt: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagCODEBASEHOLD { + pub cbSize: ULONG, + pub szDistUnit: LPWSTR, + pub szCodeBase: LPWSTR, + pub dwVersionMS: DWORD, + pub dwVersionLS: DWORD, + pub dwStyle: DWORD, +} +#[test] +fn bindgen_test_layout__tagCODEBASEHOLD() { + const UNINIT: ::std::mem::MaybeUninit<_tagCODEBASEHOLD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagCODEBASEHOLD>(), + 40usize, + concat!("Size of: ", stringify!(_tagCODEBASEHOLD)) + ); + assert_eq!( + ::std::mem::align_of::<_tagCODEBASEHOLD>(), + 8usize, + concat!("Alignment of ", stringify!(_tagCODEBASEHOLD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDistUnit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(szDistUnit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCodeBase) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(szCodeBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionMS) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLS) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwStyle) + ) + ); +} +pub type CODEBASEHOLD = _tagCODEBASEHOLD; +pub type LPCODEBASEHOLD = *mut _tagCODEBASEHOLD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagSOFTDISTINFO { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub dwAdState: DWORD, + pub szTitle: LPWSTR, + pub szAbstract: LPWSTR, + pub szHREF: LPWSTR, + pub dwInstalledVersionMS: DWORD, + pub dwInstalledVersionLS: DWORD, + pub dwUpdateVersionMS: DWORD, + pub dwUpdateVersionLS: DWORD, + pub dwAdvertisedVersionMS: DWORD, + pub dwAdvertisedVersionLS: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagSOFTDISTINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagSOFTDISTINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagSOFTDISTINFO>(), + 72usize, + concat!("Size of: ", stringify!(_tagSOFTDISTINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagSOFTDISTINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagSOFTDISTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szAbstract) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szAbstract) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHREF) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szHREF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstalledVersionMS) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwInstalledVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstalledVersionLS) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwInstalledVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpdateVersionMS) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwUpdateVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpdateVersionLS) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwUpdateVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdvertisedVersionMS) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdvertisedVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdvertisedVersionLS) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdvertisedVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type SOFTDISTINFO = _tagSOFTDISTINFO; +pub type LPSOFTDISTINFO = *mut _tagSOFTDISTINFO; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0047_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0047_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_ISoftDistExt: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISoftDistExtVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ProcessSoftDist: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCDFURL: LPCWSTR, + pSoftDistElement: *mut IXMLElement, + lpsdi: LPSOFTDISTINFO, + ) -> HRESULT, + >, + pub GetFirstCodeBase: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCodeBase: *mut LPWSTR, + dwMaxSize: LPDWORD, + ) -> HRESULT, + >, + pub GetNextCodeBase: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCodeBase: *mut LPWSTR, + dwMaxSize: LPDWORD, + ) -> HRESULT, + >, + pub AsyncInstallDistributionUnit: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + pbc: *mut IBindCtx, + pvReserved: LPVOID, + flags: DWORD, + lpcbh: LPCODEBASEHOLD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISoftDistExtVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ISoftDistExtVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISoftDistExtVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessSoftDist) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(ProcessSoftDist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFirstCodeBase) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(GetFirstCodeBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNextCodeBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(GetNextCodeBase) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AsyncInstallDistributionUnit) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(AsyncInstallDistributionUnit) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISoftDistExt { + pub lpVtbl: *mut ISoftDistExtVtbl, +} +#[test] +fn bindgen_test_layout_ISoftDistExt() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISoftDistExt)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISoftDistExt)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExt), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn GetSoftwareUpdateInfo(szDistUnit: LPCWSTR, psdi: LPSOFTDISTINFO) -> HRESULT; +} +extern "C" { + pub fn SetSoftwareUpdateAdvertisementState( + szDistUnit: LPCWSTR, + dwAdState: DWORD, + dwAdvertisedVersionMS: DWORD, + dwAdvertisedVersionLS: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0048_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0048_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCATALOGFILEINFO = *mut ICatalogFileInfo; +extern "C" { + pub static IID_ICatalogFileInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICatalogFileInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICatalogFileInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetCatalogFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICatalogFileInfo, ppszCatalogFile: *mut LPSTR) -> HRESULT, + >, + pub GetJavaTrust: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICatalogFileInfo, + ppJavaTrust: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICatalogFileInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICatalogFileInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICatalogFileInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCatalogFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(GetCatalogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetJavaTrust) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(GetJavaTrust) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICatalogFileInfo { + pub lpVtbl: *mut ICatalogFileInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICatalogFileInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICatalogFileInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICatalogFileInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0049_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0049_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAFILTER = *mut IDataFilter; +extern "C" { + pub static IID_IDataFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DoEncode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + dwFlags: DWORD, + lInBufferSize: LONG, + pbInBuffer: *mut BYTE, + lOutBufferSize: LONG, + pbOutBuffer: *mut BYTE, + lInBytesAvailable: LONG, + plInBytesRead: *mut LONG, + plOutBytesWritten: *mut LONG, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub DoDecode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + dwFlags: DWORD, + lInBufferSize: LONG, + pbInBuffer: *mut BYTE, + lOutBufferSize: LONG, + pbOutBuffer: *mut BYTE, + lInBytesAvailable: LONG, + plInBytesRead: *mut LONG, + plOutBytesWritten: *mut LONG, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetEncodingLevel: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataFilter, dwEncLevel: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IDataFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoEncode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(DoEncode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoDecode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(DoDecode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetEncodingLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(SetEncodingLevel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataFilter { + pub lpVtbl: *mut IDataFilterVtbl, +} +#[test] +fn bindgen_test_layout_IDataFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOLFILTERDATA { + pub cbSize: DWORD, + pub pProtocolSink: *mut IInternetProtocolSink, + pub pProtocol: *mut IInternetProtocol, + pub pUnk: *mut IUnknown, + pub dwFilterFlags: DWORD, +} +#[test] +fn bindgen_test_layout__tagPROTOCOLFILTERDATA() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOLFILTERDATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOLFILTERDATA>(), + 40usize, + concat!("Size of: ", stringify!(_tagPROTOCOLFILTERDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOLFILTERDATA>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOLFILTERDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtocolSink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pProtocolSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtocol) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFilterFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(dwFilterFlags) + ) + ); +} +pub type PROTOCOLFILTERDATA = _tagPROTOCOLFILTERDATA; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0050_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0050_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENCODINGFILTERFACTORY = *mut IEncodingFilterFactory; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagDATAINFO { + pub ulTotalSize: ULONG, + pub ulavrPacketSize: ULONG, + pub ulConnectSpeed: ULONG, + pub ulProcessorSpeed: ULONG, +} +#[test] +fn bindgen_test_layout__tagDATAINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagDATAINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagDATAINFO>(), + 16usize, + concat!("Size of: ", stringify!(_tagDATAINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagDATAINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_tagDATAINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulTotalSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulTotalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulavrPacketSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulavrPacketSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulConnectSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulConnectSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulProcessorSpeed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulProcessorSpeed) + ) + ); +} +pub type DATAINFO = _tagDATAINFO; +extern "C" { + pub static IID_IEncodingFilterFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEncodingFilterFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub FindBestFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + pwzCodeIn: LPCWSTR, + pwzCodeOut: LPCWSTR, + info: DATAINFO, + ppDF: *mut *mut IDataFilter, + ) -> HRESULT, + >, + pub GetDefaultFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + pwzCodeIn: LPCWSTR, + pwzCodeOut: LPCWSTR, + ppDF: *mut *mut IDataFilter, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEncodingFilterFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IEncodingFilterFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEncodingFilterFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindBestFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(FindBestFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDefaultFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(GetDefaultFilter) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEncodingFilterFactory { + pub lpVtbl: *mut IEncodingFilterFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IEncodingFilterFactory() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEncodingFilterFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEncodingFilterFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IsLoggingEnabledA(pszUrl: LPCSTR) -> BOOL; +} +extern "C" { + pub fn IsLoggingEnabledW(pwszUrl: LPCWSTR) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagHIT_LOGGING_INFO { + pub dwStructSize: DWORD, + pub lpszLoggedUrlName: LPSTR, + pub StartTime: SYSTEMTIME, + pub EndTime: SYSTEMTIME, + pub lpszExtendedInfo: LPSTR, +} +#[test] +fn bindgen_test_layout__tagHIT_LOGGING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagHIT_LOGGING_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagHIT_LOGGING_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_tagHIT_LOGGING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagHIT_LOGGING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagHIT_LOGGING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszLoggedUrlName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(lpszLoggedUrlName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszExtendedInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(lpszExtendedInfo) + ) + ); +} +pub type HIT_LOGGING_INFO = _tagHIT_LOGGING_INFO; +pub type LPHIT_LOGGING_INFO = *mut _tagHIT_LOGGING_INFO; +extern "C" { + pub fn WriteHitLogging(lpLogginginfo: LPHIT_LOGGING_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CONFIRMSAFETY { + pub clsid: CLSID, + pub pUnk: *mut IUnknown, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_CONFIRMSAFETY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(CONFIRMSAFETY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(CONFIRMSAFETY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(dwFlags) + ) + ); +} +extern "C" { + pub static GUID_CUSTOM_CONFIRMOBJECTSAFETY: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0051_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0051_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIWRAPPEDPROTOCOL = *mut IWrappedProtocol; +extern "C" { + pub static IID_IWrappedProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWrappedProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWrappedProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWrapperCode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWrappedProtocol, + pnCode: *mut LONG, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWrappedProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWrappedProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWrappedProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWrapperCode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(GetWrapperCode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWrappedProtocol { + pub lpVtbl: *mut IWrappedProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IWrappedProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWrappedProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWrappedProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0052_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0052_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPGETBINDHANDLE = *mut IGetBindHandle; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_APPCACHE: __MIDL_IGetBindHandle_0001 = 0; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_DEPENDENCY: __MIDL_IGetBindHandle_0001 = 1; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_COUNT: __MIDL_IGetBindHandle_0001 = 2; +pub type __MIDL_IGetBindHandle_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IGetBindHandle_0001 as BINDHANDLETYPES; +extern "C" { + pub static IID_IGetBindHandle: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGetBindHandleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGetBindHandle, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBindHandle: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGetBindHandle, + enumRequestedHandle: BINDHANDLETYPES, + pRetHandle: *mut HANDLE, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGetBindHandleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IGetBindHandleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGetBindHandleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(GetBindHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGetBindHandle { + pub lpVtbl: *mut IGetBindHandleVtbl, +} +#[test] +fn bindgen_test_layout_IGetBindHandle() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGetBindHandle)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGetBindHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandle), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOL_ARGUMENT { + pub szMethod: LPCWSTR, + pub szTargetUrl: LPCWSTR, +} +#[test] +fn bindgen_test_layout__tagPROTOCOL_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOL_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOL_ARGUMENT>(), + 16usize, + concat!("Size of: ", stringify!(_tagPROTOCOL_ARGUMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOL_ARGUMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOL_ARGUMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szMethod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOL_ARGUMENT), + "::", + stringify!(szMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTargetUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOL_ARGUMENT), + "::", + stringify!(szTargetUrl) + ) + ); +} +pub type PROTOCOL_ARGUMENT = _tagPROTOCOL_ARGUMENT; +pub type LPPROTOCOL_ARGUMENT = *mut _tagPROTOCOL_ARGUMENT; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDCALLBACKREDIRECT = *mut IBindCallbackRedirect; +extern "C" { + pub static IID_IBindCallbackRedirect: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCallbackRedirectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCallbackRedirect, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Redirect: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCallbackRedirect, + lpcUrl: LPCWSTR, + vbCancel: *mut VARIANT_BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindCallbackRedirectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindCallbackRedirectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCallbackRedirectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Redirect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(Redirect) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCallbackRedirect { + pub lpVtbl: *mut IBindCallbackRedirectVtbl, +} +#[test] +fn bindgen_test_layout_IBindCallbackRedirect() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindCallbackRedirect)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCallbackRedirect)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirect), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0054_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0054_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IBindHttpSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHttpSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHttpSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetIgnoreCertMask: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHttpSecurity, + pdwIgnoreCertMask: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindHttpSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindHttpSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHttpSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIgnoreCertMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(GetIgnoreCertMask) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHttpSecurity { + pub lpVtbl: *mut IBindHttpSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IBindHttpSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindHttpSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHttpSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0055_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0055_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IBinding_GetBindResult_Proxy( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBinding_GetBindResult_Stub( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_GetBindInfo_Proxy( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_GetBindInfo_Stub( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_OnDataAvailable_Proxy( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_OnDataAvailable_Stub( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut RemFORMATETC, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_GetBindInfoEx_Proxy( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_GetBindInfoEx_Stub( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_QueryOption_Proxy( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_QueryOption_Stub( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_QueryInfo_Proxy( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_QueryInfo_Stub( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToStorage_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToStorage_Stub( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToObject_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToObject_Stub( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_NORMAL: PIDMSI_STATUS_VALUE = 0; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_NEW: PIDMSI_STATUS_VALUE = 1; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_PRELIM: PIDMSI_STATUS_VALUE = 2; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_DRAFT: PIDMSI_STATUS_VALUE = 3; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_INPROGRESS: PIDMSI_STATUS_VALUE = 4; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_EDIT: PIDMSI_STATUS_VALUE = 5; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_REVIEW: PIDMSI_STATUS_VALUE = 6; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_PROOF: PIDMSI_STATUS_VALUE = 7; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_FINAL: PIDMSI_STATUS_VALUE = 8; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_OTHER: PIDMSI_STATUS_VALUE = 32767; +pub type PIDMSI_STATUS_VALUE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALIZEDPROPERTYVALUE { + pub dwType: DWORD, + pub rgb: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagSERIALIZEDPROPERTYVALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSERIALIZEDPROPERTYVALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSERIALIZEDPROPERTYVALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALIZEDPROPERTYVALUE), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgb) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALIZEDPROPERTYVALUE), + "::", + stringify!(rgb) + ) + ); +} +pub type SERIALIZEDPROPERTYVALUE = tagSERIALIZEDPROPERTYVALUE; +extern "C" { + pub fn StgConvertVariantToProperty( + pvar: *const PROPVARIANT, + CodePage: USHORT, + pprop: *mut SERIALIZEDPROPERTYVALUE, + pcb: *mut ULONG, + pid: PROPID, + fReserved: BOOLEAN, + pcIndirect: *mut ULONG, + ) -> *mut SERIALIZEDPROPERTYVALUE; +} +extern "C" { + pub static mut __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn CreateStdProgressIndicator( + hwndParent: HWND, + pszTitle: LPCOLESTR, + pIbscCaller: *mut IBindStatusCallback, + ppIbsc: *mut *mut IBindStatusCallback, + ) -> HRESULT; +} +extern "C" { + pub static IID_StdOle: IID; +} +extern "C" { + pub fn SysAllocString(psz: *const OLECHAR) -> BSTR; +} +extern "C" { + pub fn SysReAllocString(pbstr: *mut BSTR, psz: *const OLECHAR) -> INT; +} +extern "C" { + pub fn SysAllocStringLen(strIn: *const OLECHAR, ui: UINT) -> BSTR; +} +extern "C" { + pub fn SysReAllocStringLen( + pbstr: *mut BSTR, + psz: *const OLECHAR, + len: ::std::os::raw::c_uint, + ) -> INT; +} +extern "C" { + pub fn SysAddRefString(bstrString: BSTR) -> HRESULT; +} +extern "C" { + pub fn SysReleaseString(bstrString: BSTR); +} +extern "C" { + pub fn SysFreeString(bstrString: BSTR); +} +extern "C" { + pub fn SysStringLen(pbstr: BSTR) -> UINT; +} +extern "C" { + pub fn SysStringByteLen(bstr: BSTR) -> UINT; +} +extern "C" { + pub fn SysAllocStringByteLen(psz: LPCSTR, len: UINT) -> BSTR; +} +extern "C" { + pub fn DosDateTimeToVariantTime(wDosDate: USHORT, wDosTime: USHORT, pvtime: *mut DOUBLE) + -> INT; +} +extern "C" { + pub fn VariantTimeToDosDateTime( + vtime: DOUBLE, + pwDosDate: *mut USHORT, + pwDosTime: *mut USHORT, + ) -> INT; +} +extern "C" { + pub fn SystemTimeToVariantTime(lpSystemTime: LPSYSTEMTIME, pvtime: *mut DOUBLE) -> INT; +} +extern "C" { + pub fn VariantTimeToSystemTime(vtime: DOUBLE, lpSystemTime: LPSYSTEMTIME) -> INT; +} +extern "C" { + pub fn SafeArrayAllocDescriptor(cDims: UINT, ppsaOut: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAllocDescriptorEx( + vt: VARTYPE, + cDims: UINT, + ppsaOut: *mut *mut SAFEARRAY, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAllocData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCreate( + vt: VARTYPE, + cDims: UINT, + rgsabound: *mut SAFEARRAYBOUND, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCreateEx( + vt: VARTYPE, + cDims: UINT, + rgsabound: *mut SAFEARRAYBOUND, + pvExtra: PVOID, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCopyData(psaSource: *mut SAFEARRAY, psaTarget: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayReleaseDescriptor(psa: *mut SAFEARRAY); +} +extern "C" { + pub fn SafeArrayDestroyDescriptor(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayReleaseData(pData: PVOID); +} +extern "C" { + pub fn SafeArrayDestroyData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAddRef(psa: *mut SAFEARRAY, ppDataToRelease: *mut PVOID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayDestroy(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayRedim(psa: *mut SAFEARRAY, psaboundNew: *mut SAFEARRAYBOUND) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetDim(psa: *mut SAFEARRAY) -> UINT; +} +extern "C" { + pub fn SafeArrayGetElemsize(psa: *mut SAFEARRAY) -> UINT; +} +extern "C" { + pub fn SafeArrayGetUBound(psa: *mut SAFEARRAY, nDim: UINT, plUbound: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetLBound(psa: *mut SAFEARRAY, nDim: UINT, plLbound: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn SafeArrayLock(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayUnlock(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAccessData( + psa: *mut SAFEARRAY, + ppvData: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayUnaccessData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetElement( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + pv: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayPutElement( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + pv: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCopy(psa: *mut SAFEARRAY, ppsaOut: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayPtrOfIndex( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + ppvData: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArraySetRecordInfo(psa: *mut SAFEARRAY, prinfo: *mut IRecordInfo) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetRecordInfo(psa: *mut SAFEARRAY, prinfo: *mut *mut IRecordInfo) -> HRESULT; +} +extern "C" { + pub fn SafeArraySetIID(psa: *mut SAFEARRAY, guid: *const GUID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetIID(psa: *mut SAFEARRAY, pguid: *mut GUID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetVartype(psa: *mut SAFEARRAY, pvt: *mut VARTYPE) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCreateVector(vt: VARTYPE, lLbound: LONG, cElements: ULONG) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCreateVectorEx( + vt: VARTYPE, + lLbound: LONG, + cElements: ULONG, + pvExtra: PVOID, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn VariantInit(pvarg: *mut VARIANTARG); +} +extern "C" { + pub fn VariantClear(pvarg: *mut VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantCopy(pvargDest: *mut VARIANTARG, pvargSrc: *const VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantCopyInd(pvarDest: *mut VARIANT, pvargSrc: *const VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantChangeType( + pvargDest: *mut VARIANTARG, + pvarSrc: *const VARIANTARG, + wFlags: USHORT, + vt: VARTYPE, + ) -> HRESULT; +} +extern "C" { + pub fn VariantChangeTypeEx( + pvargDest: *mut VARIANTARG, + pvarSrc: *const VARIANTARG, + lcid: LCID, + wFlags: USHORT, + vt: VARTYPE, + ) -> HRESULT; +} +extern "C" { + pub fn VectorFromBstr(bstr: BSTR, ppsa: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn BstrFromVector(psa: *mut SAFEARRAY, pbstr: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI2(sIn: SHORT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI4(lIn: LONG, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI8(i64In: LONG64, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromR4(fltIn: FLOAT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromR8(dblIn: DOUBLE, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromCy(cyIn: CY, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDate(dateIn: DATE, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pbOut: *mut BYTE) + -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromBool(boolIn: VARIANT_BOOL, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI1(cIn: CHAR, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI2(uiIn: USHORT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI4(ulIn: ULONG, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI8(ui64In: ULONG64, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDec(pdecIn: *const DECIMAL, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI1(bIn: BYTE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI4(lIn: LONG, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI8(i64In: LONG64, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromR4(fltIn: FLOAT, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromR8(dblIn: DOUBLE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromCy(cyIn: CY, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromDate(dateIn: DATE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, psOut: *mut SHORT) + -> HRESULT; +} +extern "C" { + pub fn VarI2FromDisp(pdispIn: *mut IDispatch, lcid: LCID, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromBool(boolIn: VARIANT_BOOL, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI1(cIn: CHAR, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI2(uiIn: USHORT, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI4(ulIn: ULONG, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI8(ui64In: ULONG64, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromDec(pdecIn: *const DECIMAL, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI1(bIn: BYTE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI2(sIn: SHORT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI8(i64In: LONG64, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromR4(fltIn: FLOAT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromR8(dblIn: DOUBLE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromCy(cyIn: CY, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDate(dateIn: DATE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromBool(boolIn: VARIANT_BOOL, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI1(cIn: CHAR, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI2(uiIn: USHORT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI4(ulIn: ULONG, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI8(ui64In: ULONG64, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDec(pdecIn: *const DECIMAL, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI1(bIn: BYTE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromI2(sIn: SHORT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromR4(fltIn: FLOAT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromR8(dblIn: DOUBLE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromCy(cyIn: CY, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDate(dateIn: DATE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pi64Out: *mut LONG64, + ) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromBool(boolIn: VARIANT_BOOL, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromI1(cIn: CHAR, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI2(uiIn: USHORT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI4(ulIn: ULONG, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI8(ui64In: ULONG64, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDec(pdecIn: *const DECIMAL, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI1(bIn: BYTE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI2(sIn: SHORT, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI4(lIn: LONG, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI8(i64In: LONG64, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromR8(dblIn: DOUBLE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromCy(cyIn: CY, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDate(dateIn: DATE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pfltOut: *mut FLOAT, + ) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromBool(boolIn: VARIANT_BOOL, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI1(cIn: CHAR, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI2(uiIn: USHORT, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI4(ulIn: ULONG, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI8(ui64In: ULONG64, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDec(pdecIn: *const DECIMAL, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI1(bIn: BYTE, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI2(sIn: SHORT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI4(lIn: LONG, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI8(i64In: LONG64, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromR4(fltIn: FLOAT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromCy(cyIn: CY, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDate(dateIn: DATE, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdblOut: *mut DOUBLE, + ) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromBool(boolIn: VARIANT_BOOL, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI1(cIn: CHAR, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI2(uiIn: USHORT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI4(ulIn: ULONG, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI8(ui64In: ULONG64, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDec(pdecIn: *const DECIMAL, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI1(bIn: BYTE, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI2(sIn: SHORT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI4(lIn: LONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI8(i64In: LONG64, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromR4(fltIn: FLOAT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromR8(dblIn: DOUBLE, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromCy(cyIn: CY, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdateOut: *mut DATE, + ) -> HRESULT; +} +extern "C" { + pub fn VarDateFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromBool(boolIn: VARIANT_BOOL, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI1(cIn: CHAR, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI2(uiIn: USHORT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI4(ulIn: ULONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI8(ui64In: ULONG64, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromDec(pdecIn: *const DECIMAL, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI1(bIn: BYTE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI2(sIn: SHORT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI4(lIn: LONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI8(i64In: LONG64, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromR4(fltIn: FLOAT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromR8(dblIn: DOUBLE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDate(dateIn: DATE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromBool(boolIn: VARIANT_BOOL, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI1(cIn: CHAR, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI2(uiIn: USHORT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI4(ulIn: ULONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI8(ui64In: ULONG64, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDec(pdecIn: *const DECIMAL, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI1(bVal: BYTE, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI2(iVal: SHORT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI4(lIn: LONG, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI8(i64In: LONG64, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromR4(fltIn: FLOAT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromR8(dblIn: DOUBLE, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromCy(cyIn: CY, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDate( + dateIn: DATE, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDisp( + pdispIn: *mut IDispatch, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromBool( + boolIn: VARIANT_BOOL, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI1(cIn: CHAR, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI2(uiIn: USHORT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI4(ulIn: ULONG, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI8( + ui64In: ULONG64, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDec( + pdecIn: *const DECIMAL, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI1(bIn: BYTE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI2(sIn: SHORT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI4(lIn: LONG, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI8(i64In: LONG64, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromR4(fltIn: FLOAT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromR8(dblIn: DOUBLE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDate(dateIn: DATE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromCy(cyIn: CY, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pboolOut: *mut VARIANT_BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDisp( + pdispIn: *mut IDispatch, + lcid: LCID, + pboolOut: *mut VARIANT_BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI1(cIn: CHAR, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI2(uiIn: USHORT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI4(ulIn: ULONG, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI8(i64In: ULONG64, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDec(pdecIn: *const DECIMAL, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI1(bIn: BYTE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI2(uiIn: SHORT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI4(lIn: LONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI8(i64In: LONG64, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromR4(fltIn: FLOAT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromR8(dblIn: DOUBLE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDate(dateIn: DATE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromCy(cyIn: CY, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromBool(boolIn: VARIANT_BOOL, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI2(uiIn: USHORT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI4(ulIn: ULONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI8(i64In: ULONG64, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDec(pdecIn: *const DECIMAL, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI1(bIn: BYTE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI2(uiIn: SHORT, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI4(lIn: LONG, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI8(i64In: LONG64, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromR4(fltIn: FLOAT, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromR8(dblIn: DOUBLE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDate(dateIn: DATE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromCy(cyIn: CY, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + puiOut: *mut USHORT, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDisp(pdispIn: *mut IDispatch, lcid: LCID, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromBool(boolIn: VARIANT_BOOL, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI1(cIn: CHAR, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI4(ulIn: ULONG, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI8(i64In: ULONG64, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDec(pdecIn: *const DECIMAL, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI1(bIn: BYTE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI2(uiIn: SHORT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI4(lIn: LONG, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI8(i64In: LONG64, plOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromR4(fltIn: FLOAT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromR8(dblIn: DOUBLE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDate(dateIn: DATE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromCy(cyIn: CY, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pulOut: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromBool(boolIn: VARIANT_BOOL, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI1(cIn: CHAR, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI2(uiIn: USHORT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI8(ui64In: ULONG64, plOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDec(pdecIn: *const DECIMAL, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI1(bIn: BYTE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI2(sIn: SHORT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI4(lIn: LONG, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI8(ui64In: LONG64, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromR4(fltIn: FLOAT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromR8(dblIn: DOUBLE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromCy(cyIn: CY, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDate(dateIn: DATE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pi64Out: *mut ULONG64, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromBool(boolIn: VARIANT_BOOL, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI1(cIn: CHAR, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI2(uiIn: USHORT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI4(ulIn: ULONG, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDec(pdecIn: *const DECIMAL, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI1(bIn: BYTE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI2(uiIn: SHORT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI4(lIn: LONG, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI8(i64In: LONG64, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromR4(fltIn: FLOAT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromR8(dblIn: DOUBLE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromDate(dateIn: DATE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromCy(cyIn: CY, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdecOut: *mut DECIMAL, + ) -> HRESULT; +} +extern "C" { + pub fn VarDecFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromBool(boolIn: VARIANT_BOOL, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI1(cIn: CHAR, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI2(uiIn: USHORT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI4(ulIn: ULONG, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI8(ui64In: ULONG64, pdecOut: *mut DECIMAL) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NUMPARSE { + pub cDig: INT, + pub dwInFlags: ULONG, + pub dwOutFlags: ULONG, + pub cchUsed: INT, + pub nBaseShift: INT, + pub nPwr10: INT, +} +#[test] +fn bindgen_test_layout_NUMPARSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NUMPARSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NUMPARSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDig) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(cDig) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(dwInFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(dwOutFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchUsed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(cchUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBaseShift) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(nBaseShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPwr10) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(nPwr10) + ) + ); +} +extern "C" { + pub fn VarParseNumFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pnumprs: *mut NUMPARSE, + rgbDig: *mut BYTE, + ) -> HRESULT; +} +extern "C" { + pub fn VarNumFromParseNum( + pnumprs: *mut NUMPARSE, + rgbDig: *mut BYTE, + dwVtBits: ULONG, + pvar: *mut VARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn VarAdd(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarAnd(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarCat(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarDiv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarEqv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarIdiv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarImp(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarMod(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarMul(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarOr(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarPow(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarSub(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarXor(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarAbs(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarFix(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarInt(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarNeg(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarNot(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarRound( + pvarIn: LPVARIANT, + cDecimals: ::std::os::raw::c_int, + pvarResult: LPVARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn VarCmp(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, lcid: LCID, dwFlags: ULONG) + -> HRESULT; +} +extern "C" { + pub fn VarDecAdd(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecDiv(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecMul(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecSub(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecAbs(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFix(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecInt(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecNeg(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecRound( + pdecIn: LPDECIMAL, + cDecimals: ::std::os::raw::c_int, + pdecResult: LPDECIMAL, + ) -> HRESULT; +} +extern "C" { + pub fn VarDecCmp(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecCmpR8(pdecLeft: LPDECIMAL, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarCyAdd(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMul(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMulI4(cyLeft: CY, lRight: LONG, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMulI8(cyLeft: CY, lRight: LONG64, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCySub(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyAbs(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyFix(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyInt(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyNeg(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyRound(cyIn: CY, cDecimals: ::std::os::raw::c_int, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyCmp(cyLeft: CY, cyRight: CY) -> HRESULT; +} +extern "C" { + pub fn VarCyCmpR8(cyLeft: CY, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarBstrCat(bstrLeft: BSTR, bstrRight: BSTR, pbstrResult: LPBSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrCmp(bstrLeft: BSTR, bstrRight: BSTR, lcid: LCID, dwFlags: ULONG) -> HRESULT; +} +extern "C" { + pub fn VarR8Pow(dblLeft: f64, dblRight: f64, pdblResult: *mut f64) -> HRESULT; +} +extern "C" { + pub fn VarR4CmpR8(fltLeft: f32, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarR8Round( + dblIn: f64, + cDecimals: ::std::os::raw::c_int, + pdblResult: *mut f64, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UDATE { + pub st: SYSTEMTIME, + pub wDayOfYear: USHORT, +} +#[test] +fn bindgen_test_layout_UDATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(UDATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(UDATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).st) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(UDATE), "::", stringify!(st)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDayOfYear) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(UDATE), + "::", + stringify!(wDayOfYear) + ) + ); +} +extern "C" { + pub fn VarDateFromUdate(pudateIn: *mut UDATE, dwFlags: ULONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUdateEx( + pudateIn: *mut UDATE, + lcid: LCID, + dwFlags: ULONG, + pdateOut: *mut DATE, + ) -> HRESULT; +} +extern "C" { + pub fn VarUdateFromDate(dateIn: DATE, dwFlags: ULONG, pudateOut: *mut UDATE) -> HRESULT; +} +extern "C" { + pub fn GetAltMonthNames(lcid: LCID, prgp: *mut *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn VarFormat( + pvarIn: LPVARIANT, + pstrFormat: LPOLESTR, + iFirstDay: ::std::os::raw::c_int, + iFirstWeek: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatDateTime( + pvarIn: LPVARIANT, + iNamedFormat: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatNumber( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatPercent( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatCurrency( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarWeekdayName( + iWeekday: ::std::os::raw::c_int, + fAbbrev: ::std::os::raw::c_int, + iFirstDay: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarMonthName( + iMonth: ::std::os::raw::c_int, + fAbbrev: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatFromTokens( + pvarIn: LPVARIANT, + pstrFormat: LPOLESTR, + pbTokCur: LPBYTE, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + lcid: LCID, + ) -> HRESULT; +} +extern "C" { + pub fn VarTokenizeFormatString( + pstrFormat: LPOLESTR, + rgbTok: LPBYTE, + cbTok: ::std::os::raw::c_int, + iFirstDay: ::std::os::raw::c_int, + iFirstWeek: ::std::os::raw::c_int, + lcid: LCID, + pcbActual: *mut ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn LHashValOfNameSysA(syskind: SYSKIND, lcid: LCID, szName: LPCSTR) -> ULONG; +} +extern "C" { + pub fn LHashValOfNameSys(syskind: SYSKIND, lcid: LCID, szName: *const OLECHAR) -> ULONG; +} +extern "C" { + pub fn LoadTypeLib(szFile: LPCOLESTR, pptlib: *mut *mut ITypeLib) -> HRESULT; +} +pub const tagREGKIND_REGKIND_DEFAULT: tagREGKIND = 0; +pub const tagREGKIND_REGKIND_REGISTER: tagREGKIND = 1; +pub const tagREGKIND_REGKIND_NONE: tagREGKIND = 2; +pub type tagREGKIND = ::std::os::raw::c_int; +pub use self::tagREGKIND as REGKIND; +extern "C" { + pub fn LoadTypeLibEx( + szFile: LPCOLESTR, + regkind: REGKIND, + pptlib: *mut *mut ITypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn LoadRegTypeLib( + rguid: *const GUID, + wVerMajor: WORD, + wVerMinor: WORD, + lcid: LCID, + pptlib: *mut *mut ITypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn QueryPathOfRegTypeLib( + guid: *const GUID, + wMaj: USHORT, + wMin: USHORT, + lcid: LCID, + lpbstrPathName: LPBSTR, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterTypeLib( + ptlib: *mut ITypeLib, + szFullPath: LPCOLESTR, + szHelpDir: LPCOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn UnRegisterTypeLib( + libID: *const GUID, + wVerMajor: WORD, + wVerMinor: WORD, + lcid: LCID, + syskind: SYSKIND, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterTypeLibForUser( + ptlib: *mut ITypeLib, + szFullPath: *mut OLECHAR, + szHelpDir: *mut OLECHAR, + ) -> HRESULT; +} +extern "C" { + pub fn UnRegisterTypeLibForUser( + libID: *const GUID, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + lcid: LCID, + syskind: SYSKIND, + ) -> HRESULT; +} +extern "C" { + pub fn CreateTypeLib( + syskind: SYSKIND, + szFile: LPCOLESTR, + ppctlib: *mut *mut ICreateTypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn CreateTypeLib2( + syskind: SYSKIND, + szFile: LPCOLESTR, + ppctlib: *mut *mut ICreateTypeLib2, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPARAMDATA { + pub szName: *mut OLECHAR, + pub vt: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagPARAMDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPARAMDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDATA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDATA), + "::", + stringify!(vt) + ) + ); +} +pub type PARAMDATA = tagPARAMDATA; +pub type LPPARAMDATA = *mut tagPARAMDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETHODDATA { + pub szName: *mut OLECHAR, + pub ppdata: *mut PARAMDATA, + pub dispid: DISPID, + pub iMeth: UINT, + pub cc: CALLCONV, + pub cArgs: UINT, + pub wFlags: WORD, + pub vtReturn: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagMETHODDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMETHODDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMETHODDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdata) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(ppdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dispid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(dispid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMeth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(iMeth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(cc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cArgs) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(cArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vtReturn) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(vtReturn) + ) + ); +} +pub type METHODDATA = tagMETHODDATA; +pub type LPMETHODDATA = *mut tagMETHODDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINTERFACEDATA { + pub pmethdata: *mut METHODDATA, + pub cMembers: UINT, +} +#[test] +fn bindgen_test_layout_tagINTERFACEDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagINTERFACEDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINTERFACEDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmethdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEDATA), + "::", + stringify!(pmethdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMembers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEDATA), + "::", + stringify!(cMembers) + ) + ); +} +pub type INTERFACEDATA = tagINTERFACEDATA; +pub type LPINTERFACEDATA = *mut tagINTERFACEDATA; +extern "C" { + pub fn DispGetParam( + pdispparams: *mut DISPPARAMS, + position: UINT, + vtTarg: VARTYPE, + pvarResult: *mut VARIANT, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn DispGetIDsOfNames( + ptinfo: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + rgdispid: *mut DISPID, + ) -> HRESULT; +} +extern "C" { + pub fn DispInvoke( + _this: *mut ::std::os::raw::c_void, + ptinfo: *mut ITypeInfo, + dispidMember: DISPID, + wFlags: WORD, + pparams: *mut DISPPARAMS, + pvarResult: *mut VARIANT, + pexcepinfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn CreateDispTypeInfo( + pidata: *mut INTERFACEDATA, + lcid: LCID, + pptinfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn CreateStdDispatch( + punkOuter: *mut IUnknown, + pvThis: *mut ::std::os::raw::c_void, + ptinfo: *mut ITypeInfo, + ppunkStdDisp: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn DispCallFunc( + pvInstance: *mut ::std::os::raw::c_void, + oVft: ULONG_PTR, + cc: CALLCONV, + vtReturn: VARTYPE, + cActuals: UINT, + prgvt: *mut VARTYPE, + prgpvarg: *mut *mut VARIANTARG, + pvargResult: *mut VARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterActiveObject( + punk: *mut IUnknown, + rclsid: *const IID, + dwFlags: DWORD, + pdwRegister: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeActiveObject( + dwRegister: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn GetActiveObject( + rclsid: *const IID, + pvReserved: *mut ::std::os::raw::c_void, + ppunk: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn SetErrorInfo(dwReserved: ULONG, perrinfo: *mut IErrorInfo) -> HRESULT; +} +extern "C" { + pub fn GetErrorInfo(dwReserved: ULONG, pperrinfo: *mut *mut IErrorInfo) -> HRESULT; +} +extern "C" { + pub fn CreateErrorInfo(pperrinfo: *mut *mut ICreateErrorInfo) -> HRESULT; +} +extern "C" { + pub fn GetRecordInfoFromTypeInfo( + pTypeInfo: *mut ITypeInfo, + ppRecInfo: *mut *mut IRecordInfo, + ) -> HRESULT; +} +extern "C" { + pub fn GetRecordInfoFromGuids( + rGuidTypeLib: *const GUID, + uVerMajor: ULONG, + uVerMinor: ULONG, + lcid: LCID, + rGuidTypeInfo: *const GUID, + ppRecInfo: *mut *mut IRecordInfo, + ) -> HRESULT; +} +extern "C" { + pub fn OaBuildVersion() -> ULONG; +} +extern "C" { + pub fn ClearCustData(pCustData: LPCUSTDATA); +} +extern "C" { + pub fn OaEnablePerUserTLibRegistration(); +} +extern "C" { + pub fn OleBuildVersion() -> DWORD; +} +extern "C" { + pub fn WriteFmtUserTypeStg(pstg: LPSTORAGE, cf: CLIPFORMAT, lpszUserType: LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn ReadFmtUserTypeStg( + pstg: LPSTORAGE, + pcf: *mut CLIPFORMAT, + lplpszUserType: *mut LPOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleInitialize(pvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn OleUninitialize(); +} +extern "C" { + pub fn OleQueryLinkFromData(pSrcDataObject: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleQueryCreateFromData(pSrcDataObject: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleCreate( + rclsid: *const IID, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateEx( + rclsid: *const IID, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromData( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromDataEx( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkFromData( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkFromDataEx( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateStaticFromData( + pSrcDataObj: LPDATAOBJECT, + iid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLink( + pmkLinkSrc: LPMONIKER, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkEx( + pmkLinkSrc: LPMONIKER, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkToFile( + lpszFileName: LPCOLESTR, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkToFileEx( + lpszFileName: LPCOLESTR, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromFile( + rclsid: *const IID, + lpszFileName: LPCOLESTR, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromFileEx( + rclsid: *const IID, + lpszFileName: LPCOLESTR, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleLoad( + pStg: LPSTORAGE, + riid: *const IID, + pClientSite: LPOLECLIENTSITE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleSave(pPS: LPPERSISTSTORAGE, pStg: LPSTORAGE, fSameAsLoad: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleLoadFromStream( + pStm: LPSTREAM, + iidInterface: *const IID, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleSaveToStream(pPStm: LPPERSISTSTREAM, pStm: LPSTREAM) -> HRESULT; +} +extern "C" { + pub fn OleSetContainedObject(pUnknown: LPUNKNOWN, fContained: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleNoteObjectVisible(pUnknown: LPUNKNOWN, fVisible: BOOL) -> HRESULT; +} +extern "C" { + pub fn RegisterDragDrop(hwnd: HWND, pDropTarget: LPDROPTARGET) -> HRESULT; +} +extern "C" { + pub fn RevokeDragDrop(hwnd: HWND) -> HRESULT; +} +extern "C" { + pub fn DoDragDrop( + pDataObj: LPDATAOBJECT, + pDropSource: LPDROPSOURCE, + dwOKEffects: DWORD, + pdwEffect: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn OleSetClipboard(pDataObj: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleGetClipboard(ppDataObj: *mut LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleGetClipboardWithEnterpriseInfo( + dataObject: *mut *mut IDataObject, + dataEnterpriseId: *mut PWSTR, + sourceDescription: *mut PWSTR, + targetDescription: *mut PWSTR, + dataDescription: *mut PWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleFlushClipboard() -> HRESULT; +} +extern "C" { + pub fn OleIsCurrentClipboard(pDataObj: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleCreateMenuDescriptor( + hmenuCombined: HMENU, + lpMenuWidths: LPOLEMENUGROUPWIDTHS, + ) -> HOLEMENU; +} +extern "C" { + pub fn OleSetMenuDescriptor( + holemenu: HOLEMENU, + hwndFrame: HWND, + hwndActiveObject: HWND, + lpFrame: LPOLEINPLACEFRAME, + lpActiveObj: LPOLEINPLACEACTIVEOBJECT, + ) -> HRESULT; +} +extern "C" { + pub fn OleDestroyMenuDescriptor(holemenu: HOLEMENU) -> HRESULT; +} +extern "C" { + pub fn OleTranslateAccelerator( + lpFrame: LPOLEINPLACEFRAME, + lpFrameInfo: LPOLEINPLACEFRAMEINFO, + lpmsg: LPMSG, + ) -> HRESULT; +} +extern "C" { + pub fn OleDuplicateData(hSrc: HANDLE, cfFormat: CLIPFORMAT, uiFlags: UINT) -> HANDLE; +} +extern "C" { + pub fn OleDraw( + pUnknown: LPUNKNOWN, + dwAspect: DWORD, + hdcDraw: HDC, + lprcBounds: LPCRECT, + ) -> HRESULT; +} +extern "C" { + pub fn OleRun(pUnknown: LPUNKNOWN) -> HRESULT; +} +extern "C" { + pub fn OleIsRunning(pObject: LPOLEOBJECT) -> BOOL; +} +extern "C" { + pub fn OleLockRunning(pUnknown: LPUNKNOWN, fLock: BOOL, fLastUnlockCloses: BOOL) -> HRESULT; +} +extern "C" { + pub fn ReleaseStgMedium(arg1: LPSTGMEDIUM); +} +extern "C" { + pub fn CreateOleAdviseHolder(ppOAHolder: *mut LPOLEADVISEHOLDER) -> HRESULT; +} +extern "C" { + pub fn OleCreateDefaultHandler( + clsid: *const IID, + pUnkOuter: LPUNKNOWN, + riid: *const IID, + lplpObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateEmbeddingHelper( + clsid: *const IID, + pUnkOuter: LPUNKNOWN, + flags: DWORD, + pCF: LPCLASSFACTORY, + riid: *const IID, + lplpObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IsAccelerator( + hAccel: HACCEL, + cAccelEntries: ::std::os::raw::c_int, + lpMsg: LPMSG, + lpwCmd: *mut WORD, + ) -> BOOL; +} +extern "C" { + pub fn OleGetIconOfFile(lpszPath: LPOLESTR, fUseFileAsLabel: BOOL) -> HGLOBAL; +} +extern "C" { + pub fn OleGetIconOfClass( + rclsid: *const IID, + lpszLabel: LPOLESTR, + fUseTypeAsLabel: BOOL, + ) -> HGLOBAL; +} +extern "C" { + pub fn OleMetafilePictFromIconAndLabel( + hIcon: HICON, + lpszLabel: LPOLESTR, + lpszSourceFile: LPOLESTR, + iIconIndex: UINT, + ) -> HGLOBAL; +} +extern "C" { + pub fn OleRegGetUserType( + clsid: *const IID, + dwFormOfType: DWORD, + pszUserType: *mut LPOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegGetMiscStatus( + clsid: *const IID, + dwAspect: DWORD, + pdwStatus: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegEnumFormatEtc( + clsid: *const IID, + dwDirection: DWORD, + ppenum: *mut LPENUMFORMATETC, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegEnumVerbs(clsid: *const IID, ppenum: *mut LPENUMOLEVERB) -> HRESULT; +} +pub type LPOLESTREAM = *mut _OLESTREAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OLESTREAMVTBL { + pub Get: ::std::option::Option< + unsafe extern "C" fn( + arg1: LPOLESTREAM, + arg2: *mut ::std::os::raw::c_void, + arg3: DWORD, + ) -> DWORD, + >, + pub Put: ::std::option::Option< + unsafe extern "C" fn( + arg1: LPOLESTREAM, + arg2: *const ::std::os::raw::c_void, + arg3: DWORD, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout__OLESTREAMVTBL() { + const UNINIT: ::std::mem::MaybeUninit<_OLESTREAMVTBL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OLESTREAMVTBL>(), + 16usize, + concat!("Size of: ", stringify!(_OLESTREAMVTBL)) + ); + assert_eq!( + ::std::mem::align_of::<_OLESTREAMVTBL>(), + 8usize, + concat!("Alignment of ", stringify!(_OLESTREAMVTBL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Get) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAMVTBL), + "::", + stringify!(Get) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Put) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAMVTBL), + "::", + stringify!(Put) + ) + ); +} +pub type OLESTREAMVTBL = _OLESTREAMVTBL; +pub type LPOLESTREAMVTBL = *mut OLESTREAMVTBL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OLESTREAM { + pub lpstbl: LPOLESTREAMVTBL, +} +#[test] +fn bindgen_test_layout__OLESTREAM() { + const UNINIT: ::std::mem::MaybeUninit<_OLESTREAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OLESTREAM>(), + 8usize, + concat!("Size of: ", stringify!(_OLESTREAM)) + ); + assert_eq!( + ::std::mem::align_of::<_OLESTREAM>(), + 8usize, + concat!("Alignment of ", stringify!(_OLESTREAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAM), + "::", + stringify!(lpstbl) + ) + ); +} +pub type OLESTREAM = _OLESTREAM; +extern "C" { + pub fn OleConvertOLESTREAMToIStorage( + lpolestream: LPOLESTREAM, + pstg: LPSTORAGE, + ptd: *const DVTARGETDEVICE, + ) -> HRESULT; +} +extern "C" { + pub fn OleConvertIStorageToOLESTREAM(pstg: LPSTORAGE, lpolestream: LPOLESTREAM) -> HRESULT; +} +extern "C" { + pub fn OleDoAutoConvert(pStg: LPSTORAGE, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn OleGetAutoConvert(clsidOld: *const IID, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn OleSetAutoConvert(clsidOld: *const IID, clsidNew: *const IID) -> HRESULT; +} +extern "C" { + pub fn SetConvertStg(pStg: LPSTORAGE, fConvert: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleConvertIStorageToOLESTREAMEx( + pstg: LPSTORAGE, + cfFormat: CLIPFORMAT, + lWidth: LONG, + lHeight: LONG, + dwSize: DWORD, + pmedium: LPSTGMEDIUM, + polestm: LPOLESTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn OleConvertOLESTREAMToIStorageEx( + polestm: LPOLESTREAM, + pstg: LPSTORAGE, + pcfFormat: *mut CLIPFORMAT, + plwWidth: *mut LONG, + plHeight: *mut LONG, + pdwSize: *mut DWORD, + pmedium: LPSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub static IID_IPrintDialogCallback: GUID; +} +extern "C" { + pub static IID_IPrintDialogServices: GUID; +} +pub type LPOFNHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFN_NT4A { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCSTR, + pub lpstrCustomFilter: LPSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCSTR, + pub lpstrTitle: LPCSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagOFN_NT4A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagOFN_NT4A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFN_NT4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type OPENFILENAME_NT4A = tagOFN_NT4A; +pub type LPOPENFILENAME_NT4A = *mut tagOFN_NT4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFN_NT4W { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCWSTR, + pub lpstrCustomFilter: LPWSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPWSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPWSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCWSTR, + pub lpstrTitle: LPCWSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCWSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagOFN_NT4W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagOFN_NT4W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFN_NT4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type OPENFILENAME_NT4W = tagOFN_NT4W; +pub type LPOPENFILENAME_NT4W = *mut tagOFN_NT4W; +pub type OPENFILENAME_NT4 = OPENFILENAME_NT4A; +pub type LPOPENFILENAME_NT4 = LPOPENFILENAME_NT4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFNA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCSTR, + pub lpstrCustomFilter: LPSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCSTR, + pub lpstrTitle: LPCSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCSTR, + pub pvReserved: *mut ::std::os::raw::c_void, + pub dwReserved: DWORD, + pub FlagsEx: DWORD, +} +#[test] +fn bindgen_test_layout_tagOFNA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagOFNA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFNA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsEx) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(FlagsEx) + ) + ); +} +pub type OPENFILENAMEA = tagOFNA; +pub type LPOPENFILENAMEA = *mut tagOFNA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFNW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCWSTR, + pub lpstrCustomFilter: LPWSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPWSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPWSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCWSTR, + pub lpstrTitle: LPCWSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCWSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCWSTR, + pub pvReserved: *mut ::std::os::raw::c_void, + pub dwReserved: DWORD, + pub FlagsEx: DWORD, +} +#[test] +fn bindgen_test_layout_tagOFNW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagOFNW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFNW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsEx) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(FlagsEx) + ) + ); +} +pub type OPENFILENAMEW = tagOFNW; +pub type LPOPENFILENAMEW = *mut tagOFNW; +pub type OPENFILENAME = OPENFILENAMEA; +pub type LPOPENFILENAME = LPOPENFILENAMEA; +extern "C" { + pub fn GetOpenFileNameA(arg1: LPOPENFILENAMEA) -> BOOL; +} +extern "C" { + pub fn GetOpenFileNameW(arg1: LPOPENFILENAMEW) -> BOOL; +} +extern "C" { + pub fn GetSaveFileNameA(arg1: LPOPENFILENAMEA) -> BOOL; +} +extern "C" { + pub fn GetSaveFileNameW(arg1: LPOPENFILENAMEW) -> BOOL; +} +extern "C" { + pub fn GetFileTitleA(arg1: LPCSTR, Buf: LPSTR, cchSize: WORD) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn GetFileTitleW(arg1: LPCWSTR, Buf: LPWSTR, cchSize: WORD) -> ::std::os::raw::c_short; +} +pub type LPCCHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYA { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEA, + pub pszFile: LPSTR, +} +#[test] +fn bindgen_test_layout__OFNOTIFYA() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYA>(), + 40usize, + concat!("Size of: ", stringify!(_OFNOTIFYA)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYA>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(pszFile) + ) + ); +} +pub type OFNOTIFYA = _OFNOTIFYA; +pub type LPOFNOTIFYA = *mut _OFNOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYW { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEW, + pub pszFile: LPWSTR, +} +#[test] +fn bindgen_test_layout__OFNOTIFYW() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYW>(), + 40usize, + concat!("Size of: ", stringify!(_OFNOTIFYW)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYW>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(pszFile) + ) + ); +} +pub type OFNOTIFYW = _OFNOTIFYW; +pub type LPOFNOTIFYW = *mut _OFNOTIFYW; +pub type OFNOTIFY = OFNOTIFYA; +pub type LPOFNOTIFY = LPOFNOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYEXA { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEA, + pub psf: LPVOID, + pub pidl: LPVOID, +} +#[test] +fn bindgen_test_layout__OFNOTIFYEXA() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYEXA>(), + 48usize, + concat!("Size of: ", stringify!(_OFNOTIFYEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(psf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pidl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(pidl) + ) + ); +} +pub type OFNOTIFYEXA = _OFNOTIFYEXA; +pub type LPOFNOTIFYEXA = *mut _OFNOTIFYEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYEXW { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEW, + pub psf: LPVOID, + pub pidl: LPVOID, +} +#[test] +fn bindgen_test_layout__OFNOTIFYEXW() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYEXW>(), + 48usize, + concat!("Size of: ", stringify!(_OFNOTIFYEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(psf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pidl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(pidl) + ) + ); +} +pub type OFNOTIFYEXW = _OFNOTIFYEXW; +pub type LPOFNOTIFYEXW = *mut _OFNOTIFYEXW; +pub type OFNOTIFYEX = OFNOTIFYEXA; +pub type LPOFNOTIFYEX = LPOFNOTIFYEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSECOLORA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HWND, + pub rgbResult: COLORREF, + pub lpCustColors: *mut COLORREF, + pub Flags: DWORD, + pub lCustData: LPARAM, + pub lpfnHook: LPCCHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagCHOOSECOLORA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagCHOOSECOLORA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSECOLORA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbResult) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(rgbResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCustColors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpCustColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type CHOOSECOLORA = tagCHOOSECOLORA; +pub type LPCHOOSECOLORA = *mut tagCHOOSECOLORA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSECOLORW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HWND, + pub rgbResult: COLORREF, + pub lpCustColors: *mut COLORREF, + pub Flags: DWORD, + pub lCustData: LPARAM, + pub lpfnHook: LPCCHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagCHOOSECOLORW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagCHOOSECOLORW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSECOLORW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbResult) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(rgbResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCustColors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpCustColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type CHOOSECOLORW = tagCHOOSECOLORW; +pub type LPCHOOSECOLORW = *mut tagCHOOSECOLORW; +pub type CHOOSECOLOR = CHOOSECOLORA; +pub type LPCHOOSECOLOR = LPCHOOSECOLORA; +extern "C" { + pub fn ChooseColorA(arg1: LPCHOOSECOLORA) -> BOOL; +} +extern "C" { + pub fn ChooseColorW(arg1: LPCHOOSECOLORW) -> BOOL; +} +pub type LPFRHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFINDREPLACEA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub Flags: DWORD, + pub lpstrFindWhat: LPSTR, + pub lpstrReplaceWith: LPSTR, + pub wFindWhatLen: WORD, + pub wReplaceWithLen: WORD, + pub lCustData: LPARAM, + pub lpfnHook: LPFRHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagFINDREPLACEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagFINDREPLACEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFINDREPLACEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFindWhat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpstrFindWhat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReplaceWith) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpstrReplaceWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFindWhatLen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(wFindWhatLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReplaceWithLen) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(wReplaceWithLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type FINDREPLACEA = tagFINDREPLACEA; +pub type LPFINDREPLACEA = *mut tagFINDREPLACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFINDREPLACEW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub Flags: DWORD, + pub lpstrFindWhat: LPWSTR, + pub lpstrReplaceWith: LPWSTR, + pub wFindWhatLen: WORD, + pub wReplaceWithLen: WORD, + pub lCustData: LPARAM, + pub lpfnHook: LPFRHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagFINDREPLACEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagFINDREPLACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFINDREPLACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFindWhat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpstrFindWhat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReplaceWith) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpstrReplaceWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFindWhatLen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(wFindWhatLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReplaceWithLen) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(wReplaceWithLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type FINDREPLACEW = tagFINDREPLACEW; +pub type LPFINDREPLACEW = *mut tagFINDREPLACEW; +pub type FINDREPLACE = FINDREPLACEA; +pub type LPFINDREPLACE = LPFINDREPLACEA; +extern "C" { + pub fn FindTextA(arg1: LPFINDREPLACEA) -> HWND; +} +extern "C" { + pub fn FindTextW(arg1: LPFINDREPLACEW) -> HWND; +} +extern "C" { + pub fn ReplaceTextA(arg1: LPFINDREPLACEA) -> HWND; +} +extern "C" { + pub fn ReplaceTextW(arg1: LPFINDREPLACEW) -> HWND; +} +pub type LPCFHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSEFONTA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDC: HDC, + pub lpLogFont: LPLOGFONTA, + pub iPointSize: INT, + pub Flags: DWORD, + pub rgbColors: COLORREF, + pub lCustData: LPARAM, + pub lpfnHook: LPCFHOOKPROC, + pub lpTemplateName: LPCSTR, + pub hInstance: HINSTANCE, + pub lpszStyle: LPSTR, + pub nFontType: WORD, + pub ___MISSING_ALIGNMENT__: WORD, + pub nSizeMin: INT, + pub nSizeMax: INT, +} +#[test] +fn bindgen_test_layout_tagCHOOSEFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagCHOOSEFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSEFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLogFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPointSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(iPointSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(rgbColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszStyle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpszStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFontType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nFontType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).___MISSING_ALIGNMENT__) as usize - ptr as usize }, + 90usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(___MISSING_ALIGNMENT__) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMin) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nSizeMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMax) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nSizeMax) + ) + ); +} +pub type CHOOSEFONTA = tagCHOOSEFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSEFONTW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDC: HDC, + pub lpLogFont: LPLOGFONTW, + pub iPointSize: INT, + pub Flags: DWORD, + pub rgbColors: COLORREF, + pub lCustData: LPARAM, + pub lpfnHook: LPCFHOOKPROC, + pub lpTemplateName: LPCWSTR, + pub hInstance: HINSTANCE, + pub lpszStyle: LPWSTR, + pub nFontType: WORD, + pub ___MISSING_ALIGNMENT__: WORD, + pub nSizeMin: INT, + pub nSizeMax: INT, +} +#[test] +fn bindgen_test_layout_tagCHOOSEFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagCHOOSEFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSEFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLogFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPointSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(iPointSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(rgbColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszStyle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpszStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFontType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nFontType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).___MISSING_ALIGNMENT__) as usize - ptr as usize }, + 90usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(___MISSING_ALIGNMENT__) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMin) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nSizeMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMax) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nSizeMax) + ) + ); +} +pub type CHOOSEFONTW = tagCHOOSEFONTW; +pub type CHOOSEFONT = CHOOSEFONTA; +pub type LPCHOOSEFONTA = *mut CHOOSEFONTA; +pub type LPCHOOSEFONTW = *mut CHOOSEFONTW; +pub type LPCHOOSEFONT = LPCHOOSEFONTA; +pub type PCCHOOSEFONTA = *const CHOOSEFONTA; +pub type PCCHOOSEFONTW = *const CHOOSEFONTW; +pub type PCCHOOSEFONT = PCCHOOSEFONTA; +extern "C" { + pub fn ChooseFontA(arg1: LPCHOOSEFONTA) -> BOOL; +} +extern "C" { + pub fn ChooseFontW(arg1: LPCHOOSEFONTW) -> BOOL; +} +pub type LPPRINTHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +pub type LPSETUPHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub nFromPage: WORD, + pub nToPage: WORD, + pub nMinPage: WORD, + pub nMaxPage: WORD, + pub nCopies: WORD, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPrintHook: LPPRINTHOOKPROC, + pub lpfnSetupHook: LPSETUPHOOKPROC, + pub lpPrintTemplateName: LPCSTR, + pub lpSetupTemplateName: LPCSTR, + pub hPrintTemplate: HGLOBAL, + pub hSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nToPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPrintHook) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpfnPrintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnSetupHook) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpfnSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSetupTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPrintTemplate) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hPrintTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSetupTemplate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hSetupTemplate) + ) + ); +} +pub type PRINTDLGA = tagPDA; +pub type LPPRINTDLGA = *mut tagPDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub nFromPage: WORD, + pub nToPage: WORD, + pub nMinPage: WORD, + pub nMaxPage: WORD, + pub nCopies: WORD, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPrintHook: LPPRINTHOOKPROC, + pub lpfnSetupHook: LPSETUPHOOKPROC, + pub lpPrintTemplateName: LPCWSTR, + pub lpSetupTemplateName: LPCWSTR, + pub hPrintTemplate: HGLOBAL, + pub hSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nToPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPrintHook) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpfnPrintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnSetupHook) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpfnSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSetupTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPrintTemplate) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hPrintTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSetupTemplate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hSetupTemplate) + ) + ); +} +pub type PRINTDLGW = tagPDW; +pub type LPPRINTDLGW = *mut tagPDW; +pub type PRINTDLG = PRINTDLGA; +pub type LPPRINTDLG = LPPRINTDLGA; +extern "C" { + pub fn PrintDlgA(pPD: LPPRINTDLGA) -> BOOL; +} +extern "C" { + pub fn PrintDlgW(pPD: LPPRINTDLGW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogCallback { + pub lpVtbl: *mut IPrintDialogCallbackVtbl, +} +#[test] +fn bindgen_test_layout_IPrintDialogCallback() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPrintDialogCallback)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogCallback)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallback), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogCallbackVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub InitDone: + ::std::option::Option HRESULT>, + pub SelectionChange: + ::std::option::Option HRESULT>, + pub HandleMessage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogCallback, + hDlg: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pResult: *mut LRESULT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPrintDialogCallbackVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IPrintDialogCallbackVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogCallbackVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitDone) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(InitDone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SelectionChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(SelectionChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleMessage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(HandleMessage) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogServices { + pub lpVtbl: *mut IPrintDialogServicesVtbl, +} +#[test] +fn bindgen_test_layout_IPrintDialogServices() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPrintDialogServices)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogServices)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServices), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogServicesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetCurrentDevMode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pDevMode: LPDEVMODE, + pcbSize: *mut UINT, + ) -> HRESULT, + >, + pub GetCurrentPrinterName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pPrinterName: LPWSTR, + pcchSize: *mut UINT, + ) -> HRESULT, + >, + pub GetCurrentPortName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pPortName: LPWSTR, + pcchSize: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPrintDialogServicesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IPrintDialogServicesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogServicesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentDevMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentPrinterName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentPortName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentPortName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPRINTPAGERANGE { + pub nFromPage: DWORD, + pub nToPage: DWORD, +} +#[test] +fn bindgen_test_layout_tagPRINTPAGERANGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPRINTPAGERANGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPRINTPAGERANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPRINTPAGERANGE), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPRINTPAGERANGE), + "::", + stringify!(nToPage) + ) + ); +} +pub type PRINTPAGERANGE = tagPRINTPAGERANGE; +pub type LPPRINTPAGERANGE = *mut PRINTPAGERANGE; +pub type PCPRINTPAGERANGE = *const PRINTPAGERANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDEXA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub Flags2: DWORD, + pub ExclusionFlags: DWORD, + pub nPageRanges: DWORD, + pub nMaxPageRanges: DWORD, + pub lpPageRanges: LPPRINTPAGERANGE, + pub nMinPage: DWORD, + pub nMaxPage: DWORD, + pub nCopies: DWORD, + pub hInstance: HINSTANCE, + pub lpPrintTemplateName: LPCSTR, + pub lpCallback: LPUNKNOWN, + pub nPropertyPages: DWORD, + pub lphPropertyPages: *mut HPROPSHEETPAGE, + pub nStartPage: DWORD, + pub dwResultAction: DWORD, +} +#[test] +fn bindgen_test_layout_tagPDEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagPDEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExclusionFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(ExclusionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPageRanges) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPageRanges) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMaxPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageRanges) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCallback) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPropertyPages) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lphPropertyPages) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lphPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResultAction) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(dwResultAction) + ) + ); +} +pub type PRINTDLGEXA = tagPDEXA; +pub type LPPRINTDLGEXA = *mut tagPDEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDEXW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub Flags2: DWORD, + pub ExclusionFlags: DWORD, + pub nPageRanges: DWORD, + pub nMaxPageRanges: DWORD, + pub lpPageRanges: LPPRINTPAGERANGE, + pub nMinPage: DWORD, + pub nMaxPage: DWORD, + pub nCopies: DWORD, + pub hInstance: HINSTANCE, + pub lpPrintTemplateName: LPCWSTR, + pub lpCallback: LPUNKNOWN, + pub nPropertyPages: DWORD, + pub lphPropertyPages: *mut HPROPSHEETPAGE, + pub nStartPage: DWORD, + pub dwResultAction: DWORD, +} +#[test] +fn bindgen_test_layout_tagPDEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagPDEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExclusionFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(ExclusionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPageRanges) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPageRanges) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMaxPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageRanges) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCallback) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPropertyPages) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lphPropertyPages) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lphPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResultAction) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(dwResultAction) + ) + ); +} +pub type PRINTDLGEXW = tagPDEXW; +pub type LPPRINTDLGEXW = *mut tagPDEXW; +pub type PRINTDLGEX = PRINTDLGEXA; +pub type LPPRINTDLGEX = LPPRINTDLGEXA; +extern "C" { + pub fn PrintDlgExA(pPD: LPPRINTDLGEXA) -> HRESULT; +} +extern "C" { + pub fn PrintDlgExW(pPD: LPPRINTDLGEXW) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEVNAMES { + pub wDriverOffset: WORD, + pub wDeviceOffset: WORD, + pub wOutputOffset: WORD, + pub wDefault: WORD, +} +#[test] +fn bindgen_test_layout_tagDEVNAMES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEVNAMES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagDEVNAMES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDriverOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDriverOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceOffset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDeviceOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wOutputOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wOutputOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDefault) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDefault) + ) + ); +} +pub type DEVNAMES = tagDEVNAMES; +pub type LPDEVNAMES = *mut DEVNAMES; +pub type PCDEVNAMES = *const DEVNAMES; +extern "C" { + pub fn CommDlgExtendedError() -> DWORD; +} +pub type LPPAGEPAINTHOOK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +pub type LPPAGESETUPHOOK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPSDA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub Flags: DWORD, + pub ptPaperSize: POINT, + pub rtMinMargin: RECT, + pub rtMargin: RECT, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPageSetupHook: LPPAGESETUPHOOK, + pub lpfnPagePaintHook: LPPAGEPAINTHOOK, + pub lpPageSetupTemplateName: LPCSTR, + pub hPageSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPSDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagPSDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPSDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPaperSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(ptPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMinMargin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(rtMinMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMargin) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(rtMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPageSetupHook) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpfnPageSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPagePaintHook) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpfnPagePaintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageSetupTemplateName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpPageSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPageSetupTemplate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hPageSetupTemplate) + ) + ); +} +pub type PAGESETUPDLGA = tagPSDA; +pub type LPPAGESETUPDLGA = *mut tagPSDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPSDW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub Flags: DWORD, + pub ptPaperSize: POINT, + pub rtMinMargin: RECT, + pub rtMargin: RECT, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPageSetupHook: LPPAGESETUPHOOK, + pub lpfnPagePaintHook: LPPAGEPAINTHOOK, + pub lpPageSetupTemplateName: LPCWSTR, + pub hPageSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPSDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagPSDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPSDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPaperSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(ptPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMinMargin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(rtMinMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMargin) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(rtMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPageSetupHook) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpfnPageSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPagePaintHook) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpfnPagePaintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageSetupTemplateName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpPageSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPageSetupTemplate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hPageSetupTemplate) + ) + ); +} +pub type PAGESETUPDLGW = tagPSDW; +pub type LPPAGESETUPDLGW = *mut tagPSDW; +pub type PAGESETUPDLG = PAGESETUPDLGA; +pub type LPPAGESETUPDLG = LPPAGESETUPDLGA; +extern "C" { + pub fn PageSetupDlgA(arg1: LPPAGESETUPDLGA) -> BOOL; +} +extern "C" { + pub fn PageSetupDlgW(arg1: LPPAGESETUPDLGW) -> BOOL; +} +extern "C" { + pub fn uaw_CharUpperW(String: LPUWSTR) -> LPUWSTR; +} +extern "C" { + pub fn uaw_lstrcmpW(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_lstrcmpiW(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_lstrlenW(String: LPCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_wcschr(String: PCUWSTR, Character: WCHAR) -> PUWSTR; +} +extern "C" { + pub fn uaw_wcscpy(Destination: PUWSTR, Source: PCUWSTR) -> PUWSTR; +} +extern "C" { + pub fn uaw_wcsicmp(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_wcslen(String: PCUWSTR) -> usize; +} +extern "C" { + pub fn uaw_wcsrchr(String: PCUWSTR, Character: WCHAR) -> PUWSTR; +} +pub type PUWSTR_C = *mut WCHAR; +extern "C" { + pub static NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID: GUID; +} +extern "C" { + pub static NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID: GUID; +} +extern "C" { + pub static DOMAIN_JOIN_GUID: GUID; +} +extern "C" { + pub static DOMAIN_LEAVE_GUID: GUID; +} +extern "C" { + pub static FIREWALL_PORT_OPEN_GUID: GUID; +} +extern "C" { + pub static FIREWALL_PORT_CLOSE_GUID: GUID; +} +extern "C" { + pub static MACHINE_POLICY_PRESENT_GUID: GUID; +} +extern "C" { + pub static USER_POLICY_PRESENT_GUID: GUID; +} +extern "C" { + pub static RPC_INTERFACE_EVENT_GUID: GUID; +} +extern "C" { + pub static NAMED_PIPE_EVENT_GUID: GUID; +} +extern "C" { + pub static CUSTOM_SYSTEM_STATE_CHANGE_EVENT_GUID: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SERVICE_TRIGGER_CUSTOM_STATE_ID { + pub Data: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_SERVICE_TRIGGER_CUSTOM_STATE_ID() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID), + "::", + stringify!(Data) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM { + pub u: _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1 { + pub CustomStateId: SERVICE_TRIGGER_CUSTOM_STATE_ID, + pub s: _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1 { + pub DataOffset: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + >(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Data) + ) + ); +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CustomStateId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1), + "::", + stringify!(CustomStateId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1), + "::", + stringify!(s) + ) + ); +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM), + "::", + stringify!(u) + ) + ); +} +pub type SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM = + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM; +pub type LPSERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM = + *mut _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DESCRIPTIONA { + pub lpDescription: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_DESCRIPTIONA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DESCRIPTIONA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DESCRIPTIONA>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_DESCRIPTIONA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DESCRIPTIONA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_DESCRIPTIONA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDescription) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DESCRIPTIONA), + "::", + stringify!(lpDescription) + ) + ); +} +pub type SERVICE_DESCRIPTIONA = _SERVICE_DESCRIPTIONA; +pub type LPSERVICE_DESCRIPTIONA = *mut _SERVICE_DESCRIPTIONA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DESCRIPTIONW { + pub lpDescription: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_DESCRIPTIONW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DESCRIPTIONW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DESCRIPTIONW>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_DESCRIPTIONW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DESCRIPTIONW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_DESCRIPTIONW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDescription) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DESCRIPTIONW), + "::", + stringify!(lpDescription) + ) + ); +} +pub type SERVICE_DESCRIPTIONW = _SERVICE_DESCRIPTIONW; +pub type LPSERVICE_DESCRIPTIONW = *mut _SERVICE_DESCRIPTIONW; +pub type SERVICE_DESCRIPTION = SERVICE_DESCRIPTIONA; +pub type LPSERVICE_DESCRIPTION = LPSERVICE_DESCRIPTIONA; +pub const _SC_ACTION_TYPE_SC_ACTION_NONE: _SC_ACTION_TYPE = 0; +pub const _SC_ACTION_TYPE_SC_ACTION_RESTART: _SC_ACTION_TYPE = 1; +pub const _SC_ACTION_TYPE_SC_ACTION_REBOOT: _SC_ACTION_TYPE = 2; +pub const _SC_ACTION_TYPE_SC_ACTION_RUN_COMMAND: _SC_ACTION_TYPE = 3; +pub const _SC_ACTION_TYPE_SC_ACTION_OWN_RESTART: _SC_ACTION_TYPE = 4; +pub type _SC_ACTION_TYPE = ::std::os::raw::c_int; +pub use self::_SC_ACTION_TYPE as SC_ACTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SC_ACTION { + pub Type: SC_ACTION_TYPE, + pub Delay: DWORD, +} +#[test] +fn bindgen_test_layout__SC_ACTION() { + const UNINIT: ::std::mem::MaybeUninit<_SC_ACTION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SC_ACTION>(), + 8usize, + concat!("Size of: ", stringify!(_SC_ACTION)) + ); + assert_eq!( + ::std::mem::align_of::<_SC_ACTION>(), + 4usize, + concat!("Alignment of ", stringify!(_SC_ACTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SC_ACTION), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Delay) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SC_ACTION), + "::", + stringify!(Delay) + ) + ); +} +pub type SC_ACTION = _SC_ACTION; +pub type LPSC_ACTION = *mut _SC_ACTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONSA { + pub dwResetPeriod: DWORD, + pub lpRebootMsg: LPSTR, + pub lpCommand: LPSTR, + pub cActions: DWORD, + pub lpsaActions: *mut SC_ACTION, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONSA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONSA>(), + 40usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONSA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONSA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResetPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(dwResetPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRebootMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpRebootMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCommand) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cActions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(cActions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpsaActions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpsaActions) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONSA = _SERVICE_FAILURE_ACTIONSA; +pub type LPSERVICE_FAILURE_ACTIONSA = *mut _SERVICE_FAILURE_ACTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONSW { + pub dwResetPeriod: DWORD, + pub lpRebootMsg: LPWSTR, + pub lpCommand: LPWSTR, + pub cActions: DWORD, + pub lpsaActions: *mut SC_ACTION, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONSW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONSW>(), + 40usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONSW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONSW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResetPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(dwResetPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRebootMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpRebootMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCommand) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cActions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(cActions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpsaActions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpsaActions) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONSW = _SERVICE_FAILURE_ACTIONSW; +pub type LPSERVICE_FAILURE_ACTIONSW = *mut _SERVICE_FAILURE_ACTIONSW; +pub type SERVICE_FAILURE_ACTIONS = SERVICE_FAILURE_ACTIONSA; +pub type LPSERVICE_FAILURE_ACTIONS = LPSERVICE_FAILURE_ACTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DELAYED_AUTO_START_INFO { + pub fDelayedAutostart: BOOL, +} +#[test] +fn bindgen_test_layout__SERVICE_DELAYED_AUTO_START_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DELAYED_AUTO_START_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DELAYED_AUTO_START_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_DELAYED_AUTO_START_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DELAYED_AUTO_START_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_DELAYED_AUTO_START_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDelayedAutostart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DELAYED_AUTO_START_INFO), + "::", + stringify!(fDelayedAutostart) + ) + ); +} +pub type SERVICE_DELAYED_AUTO_START_INFO = _SERVICE_DELAYED_AUTO_START_INFO; +pub type LPSERVICE_DELAYED_AUTO_START_INFO = *mut _SERVICE_DELAYED_AUTO_START_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONS_FLAG { + pub fFailureActionsOnNonCrashFailures: BOOL, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONS_FLAG() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONS_FLAG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONS_FLAG>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONS_FLAG)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONS_FLAG>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONS_FLAG)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fFailureActionsOnNonCrashFailures) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONS_FLAG), + "::", + stringify!(fFailureActionsOnNonCrashFailures) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONS_FLAG = _SERVICE_FAILURE_ACTIONS_FLAG; +pub type LPSERVICE_FAILURE_ACTIONS_FLAG = *mut _SERVICE_FAILURE_ACTIONS_FLAG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_SID_INFO { + pub dwServiceSidType: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_SID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_SID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_SID_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_SID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_SID_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_SID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSidType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_SID_INFO), + "::", + stringify!(dwServiceSidType) + ) + ); +} +pub type SERVICE_SID_INFO = _SERVICE_SID_INFO; +pub type LPSERVICE_SID_INFO = *mut _SERVICE_SID_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_REQUIRED_PRIVILEGES_INFOA { + pub pmszRequiredPrivileges: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_REQUIRED_PRIVILEGES_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_REQUIRED_PRIVILEGES_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOA>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmszRequiredPrivileges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA), + "::", + stringify!(pmszRequiredPrivileges) + ) + ); +} +pub type SERVICE_REQUIRED_PRIVILEGES_INFOA = _SERVICE_REQUIRED_PRIVILEGES_INFOA; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFOA = *mut _SERVICE_REQUIRED_PRIVILEGES_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_REQUIRED_PRIVILEGES_INFOW { + pub pmszRequiredPrivileges: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_REQUIRED_PRIVILEGES_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_REQUIRED_PRIVILEGES_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOW>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOW>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmszRequiredPrivileges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW), + "::", + stringify!(pmszRequiredPrivileges) + ) + ); +} +pub type SERVICE_REQUIRED_PRIVILEGES_INFOW = _SERVICE_REQUIRED_PRIVILEGES_INFOW; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFOW = *mut _SERVICE_REQUIRED_PRIVILEGES_INFOW; +pub type SERVICE_REQUIRED_PRIVILEGES_INFO = SERVICE_REQUIRED_PRIVILEGES_INFOA; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFO = LPSERVICE_REQUIRED_PRIVILEGES_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_PRESHUTDOWN_INFO { + pub dwPreshutdownTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_PRESHUTDOWN_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_PRESHUTDOWN_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_PRESHUTDOWN_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_PRESHUTDOWN_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_PRESHUTDOWN_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_PRESHUTDOWN_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreshutdownTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PRESHUTDOWN_INFO), + "::", + stringify!(dwPreshutdownTimeout) + ) + ); +} +pub type SERVICE_PRESHUTDOWN_INFO = _SERVICE_PRESHUTDOWN_INFO; +pub type LPSERVICE_PRESHUTDOWN_INFO = *mut _SERVICE_PRESHUTDOWN_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM { + pub dwDataType: DWORD, + pub cbData: DWORD, + pub pData: PBYTE, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER_SPECIFIC_DATA_ITEM() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDataType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(dwDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(pData) + ) + ); +} +pub type SERVICE_TRIGGER_SPECIFIC_DATA_ITEM = _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM; +pub type PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM = *mut _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER { + pub dwTriggerType: DWORD, + pub dwAction: DWORD, + pub pTriggerSubtype: *mut GUID, + pub cDataItems: DWORD, + pub pDataItems: PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER>(), + 32usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TRIGGER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTriggerType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(dwTriggerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(dwAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTriggerSubtype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(pTriggerSubtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDataItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(cDataItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataItems) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(pDataItems) + ) + ); +} +pub type SERVICE_TRIGGER = _SERVICE_TRIGGER; +pub type PSERVICE_TRIGGER = *mut _SERVICE_TRIGGER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER_INFO { + pub cTriggers: DWORD, + pub pTriggers: PSERVICE_TRIGGER, + pub pReserved: PBYTE, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TRIGGER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTriggers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(cTriggers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTriggers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(pTriggers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(pReserved) + ) + ); +} +pub type SERVICE_TRIGGER_INFO = _SERVICE_TRIGGER_INFO; +pub type PSERVICE_TRIGGER_INFO = *mut _SERVICE_TRIGGER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_PREFERRED_NODE_INFO { + pub usPreferredNode: USHORT, + pub fDelete: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SERVICE_PREFERRED_NODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_PREFERRED_NODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_PREFERRED_NODE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_PREFERRED_NODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_PREFERRED_NODE_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_SERVICE_PREFERRED_NODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usPreferredNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PREFERRED_NODE_INFO), + "::", + stringify!(usPreferredNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDelete) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PREFERRED_NODE_INFO), + "::", + stringify!(fDelete) + ) + ); +} +pub type SERVICE_PREFERRED_NODE_INFO = _SERVICE_PREFERRED_NODE_INFO; +pub type LPSERVICE_PREFERRED_NODE_INFO = *mut _SERVICE_PREFERRED_NODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SERVICE_TIMECHANGE_INFO { + pub liNewTime: LARGE_INTEGER, + pub liOldTime: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__SERVICE_TIMECHANGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TIMECHANGE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TIMECHANGE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TIMECHANGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TIMECHANGE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TIMECHANGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liNewTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TIMECHANGE_INFO), + "::", + stringify!(liNewTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liOldTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TIMECHANGE_INFO), + "::", + stringify!(liOldTime) + ) + ); +} +pub type SERVICE_TIMECHANGE_INFO = _SERVICE_TIMECHANGE_INFO; +pub type PSERVICE_TIMECHANGE_INFO = *mut _SERVICE_TIMECHANGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_LAUNCH_PROTECTED_INFO { + pub dwLaunchProtected: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_LAUNCH_PROTECTED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_LAUNCH_PROTECTED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_LAUNCH_PROTECTED_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_LAUNCH_PROTECTED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_LAUNCH_PROTECTED_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_LAUNCH_PROTECTED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLaunchProtected) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_LAUNCH_PROTECTED_INFO), + "::", + stringify!(dwLaunchProtected) + ) + ); +} +pub type SERVICE_LAUNCH_PROTECTED_INFO = _SERVICE_LAUNCH_PROTECTED_INFO; +pub type PSERVICE_LAUNCH_PROTECTED_INFO = *mut _SERVICE_LAUNCH_PROTECTED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SC_HANDLE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_SC_HANDLE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SC_HANDLE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SC_HANDLE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SC_HANDLE__), + "::", + stringify!(unused) + ) + ); +} +pub type SC_HANDLE = *mut SC_HANDLE__; +pub type LPSC_HANDLE = *mut SC_HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SERVICE_STATUS_HANDLE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_SERVICE_STATUS_HANDLE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SERVICE_STATUS_HANDLE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SERVICE_STATUS_HANDLE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SERVICE_STATUS_HANDLE__), + "::", + stringify!(unused) + ) + ); +} +pub type SERVICE_STATUS_HANDLE = *mut SERVICE_STATUS_HANDLE__; +pub const _SC_STATUS_TYPE_SC_STATUS_PROCESS_INFO: _SC_STATUS_TYPE = 0; +pub type _SC_STATUS_TYPE = ::std::os::raw::c_int; +pub use self::_SC_STATUS_TYPE as SC_STATUS_TYPE; +pub const _SC_ENUM_TYPE_SC_ENUM_PROCESS_INFO: _SC_ENUM_TYPE = 0; +pub type _SC_ENUM_TYPE = ::std::os::raw::c_int; +pub use self::_SC_ENUM_TYPE as SC_ENUM_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_STATUS { + pub dwServiceType: DWORD, + pub dwCurrentState: DWORD, + pub dwControlsAccepted: DWORD, + pub dwWin32ExitCode: DWORD, + pub dwServiceSpecificExitCode: DWORD, + pub dwCheckPoint: DWORD, + pub dwWaitHint: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_STATUS>(), + 28usize, + concat!("Size of: ", stringify!(_SERVICE_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlsAccepted) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwControlsAccepted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWin32ExitCode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwWin32ExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSpecificExitCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwServiceSpecificExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCheckPoint) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwCheckPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWaitHint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwWaitHint) + ) + ); +} +pub type SERVICE_STATUS = _SERVICE_STATUS; +pub type LPSERVICE_STATUS = *mut _SERVICE_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_STATUS_PROCESS { + pub dwServiceType: DWORD, + pub dwCurrentState: DWORD, + pub dwControlsAccepted: DWORD, + pub dwWin32ExitCode: DWORD, + pub dwServiceSpecificExitCode: DWORD, + pub dwCheckPoint: DWORD, + pub dwWaitHint: DWORD, + pub dwProcessId: DWORD, + pub dwServiceFlags: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_STATUS_PROCESS() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_STATUS_PROCESS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_STATUS_PROCESS>(), + 36usize, + concat!("Size of: ", stringify!(_SERVICE_STATUS_PROCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_STATUS_PROCESS>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_STATUS_PROCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlsAccepted) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwControlsAccepted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWin32ExitCode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwWin32ExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSpecificExitCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceSpecificExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCheckPoint) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwCheckPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWaitHint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwWaitHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceFlags) + ) + ); +} +pub type SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS; +pub type LPSERVICE_STATUS_PROCESS = *mut _SERVICE_STATUS_PROCESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUSA { + pub lpServiceName: LPSTR, + pub lpDisplayName: LPSTR, + pub ServiceStatus: SERVICE_STATUS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUSA() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUSA>(), + 48usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUSA)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUSA>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA; +pub type LPENUM_SERVICE_STATUSA = *mut _ENUM_SERVICE_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUSW { + pub lpServiceName: LPWSTR, + pub lpDisplayName: LPWSTR, + pub ServiceStatus: SERVICE_STATUS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUSW() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUSW>(), + 48usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUSW)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUSW>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW; +pub type LPENUM_SERVICE_STATUSW = *mut _ENUM_SERVICE_STATUSW; +pub type ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSA; +pub type LPENUM_SERVICE_STATUS = LPENUM_SERVICE_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUS_PROCESSA { + pub lpServiceName: LPSTR, + pub lpDisplayName: LPSTR, + pub ServiceStatusProcess: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUS_PROCESSA() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUS_PROCESSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUS_PROCESSA>(), + 56usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUS_PROCESSA>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatusProcess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(ServiceStatusProcess) + ) + ); +} +pub type ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA; +pub type LPENUM_SERVICE_STATUS_PROCESSA = *mut _ENUM_SERVICE_STATUS_PROCESSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUS_PROCESSW { + pub lpServiceName: LPWSTR, + pub lpDisplayName: LPWSTR, + pub ServiceStatusProcess: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUS_PROCESSW() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUS_PROCESSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUS_PROCESSW>(), + 56usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUS_PROCESSW>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatusProcess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(ServiceStatusProcess) + ) + ); +} +pub type ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW; +pub type LPENUM_SERVICE_STATUS_PROCESSW = *mut _ENUM_SERVICE_STATUS_PROCESSW; +pub type ENUM_SERVICE_STATUS_PROCESS = ENUM_SERVICE_STATUS_PROCESSA; +pub type LPENUM_SERVICE_STATUS_PROCESS = LPENUM_SERVICE_STATUS_PROCESSA; +pub type SC_LOCK = LPVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_LOCK_STATUSA { + pub fIsLocked: DWORD, + pub lpLockOwner: LPSTR, + pub dwLockDuration: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_LOCK_STATUSA() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_LOCK_STATUSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_LOCK_STATUSA>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_LOCK_STATUSA)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_LOCK_STATUSA>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_LOCK_STATUSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIsLocked) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(fIsLocked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLockOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(lpLockOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLockDuration) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(dwLockDuration) + ) + ); +} +pub type QUERY_SERVICE_LOCK_STATUSA = _QUERY_SERVICE_LOCK_STATUSA; +pub type LPQUERY_SERVICE_LOCK_STATUSA = *mut _QUERY_SERVICE_LOCK_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_LOCK_STATUSW { + pub fIsLocked: DWORD, + pub lpLockOwner: LPWSTR, + pub dwLockDuration: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_LOCK_STATUSW() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_LOCK_STATUSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_LOCK_STATUSW>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_LOCK_STATUSW)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_LOCK_STATUSW>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_LOCK_STATUSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIsLocked) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(fIsLocked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLockOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(lpLockOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLockDuration) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(dwLockDuration) + ) + ); +} +pub type QUERY_SERVICE_LOCK_STATUSW = _QUERY_SERVICE_LOCK_STATUSW; +pub type LPQUERY_SERVICE_LOCK_STATUSW = *mut _QUERY_SERVICE_LOCK_STATUSW; +pub type QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA; +pub type LPQUERY_SERVICE_LOCK_STATUS = LPQUERY_SERVICE_LOCK_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_CONFIGA { + pub dwServiceType: DWORD, + pub dwStartType: DWORD, + pub dwErrorControl: DWORD, + pub lpBinaryPathName: LPSTR, + pub lpLoadOrderGroup: LPSTR, + pub dwTagId: DWORD, + pub lpDependencies: LPSTR, + pub lpServiceStartName: LPSTR, + pub lpDisplayName: LPSTR, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_CONFIGA() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_CONFIGA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_CONFIGA>(), + 64usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_CONFIGA)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_CONFIGA>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_CONFIGA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStartType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwStartType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorControl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwErrorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBinaryPathName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpBinaryPathName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLoadOrderGroup) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpLoadOrderGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTagId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwTagId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDependencies) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceStartName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpServiceStartName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpDisplayName) + ) + ); +} +pub type QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA; +pub type LPQUERY_SERVICE_CONFIGA = *mut _QUERY_SERVICE_CONFIGA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_CONFIGW { + pub dwServiceType: DWORD, + pub dwStartType: DWORD, + pub dwErrorControl: DWORD, + pub lpBinaryPathName: LPWSTR, + pub lpLoadOrderGroup: LPWSTR, + pub dwTagId: DWORD, + pub lpDependencies: LPWSTR, + pub lpServiceStartName: LPWSTR, + pub lpDisplayName: LPWSTR, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_CONFIGW() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_CONFIGW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_CONFIGW>(), + 64usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_CONFIGW)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_CONFIGW>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_CONFIGW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStartType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwStartType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorControl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwErrorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBinaryPathName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpBinaryPathName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLoadOrderGroup) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpLoadOrderGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTagId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwTagId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDependencies) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceStartName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpServiceStartName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpDisplayName) + ) + ); +} +pub type QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW; +pub type LPQUERY_SERVICE_CONFIGW = *mut _QUERY_SERVICE_CONFIGW; +pub type QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIGA; +pub type LPQUERY_SERVICE_CONFIG = LPQUERY_SERVICE_CONFIGA; +pub type LPSERVICE_MAIN_FUNCTIONW = ::std::option::Option< + unsafe extern "C" fn(dwNumServicesArgs: DWORD, lpServiceArgVectors: *mut LPWSTR), +>; +pub type LPSERVICE_MAIN_FUNCTIONA = ::std::option::Option< + unsafe extern "C" fn(dwNumServicesArgs: DWORD, lpServiceArgVectors: *mut LPSTR), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TABLE_ENTRYA { + pub lpServiceName: LPSTR, + pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONA, +} +#[test] +fn bindgen_test_layout__SERVICE_TABLE_ENTRYA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TABLE_ENTRYA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TABLE_ENTRYA>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TABLE_ENTRYA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TABLE_ENTRYA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TABLE_ENTRYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYA), + "::", + stringify!(lpServiceProc) + ) + ); +} +pub type SERVICE_TABLE_ENTRYA = _SERVICE_TABLE_ENTRYA; +pub type LPSERVICE_TABLE_ENTRYA = *mut _SERVICE_TABLE_ENTRYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TABLE_ENTRYW { + pub lpServiceName: LPWSTR, + pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONW, +} +#[test] +fn bindgen_test_layout__SERVICE_TABLE_ENTRYW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TABLE_ENTRYW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TABLE_ENTRYW>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TABLE_ENTRYW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TABLE_ENTRYW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TABLE_ENTRYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYW), + "::", + stringify!(lpServiceProc) + ) + ); +} +pub type SERVICE_TABLE_ENTRYW = _SERVICE_TABLE_ENTRYW; +pub type LPSERVICE_TABLE_ENTRYW = *mut _SERVICE_TABLE_ENTRYW; +pub type SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRYA; +pub type LPSERVICE_TABLE_ENTRY = LPSERVICE_TABLE_ENTRYA; +pub type LPHANDLER_FUNCTION = ::std::option::Option; +pub type LPHANDLER_FUNCTION_EX = ::std::option::Option< + unsafe extern "C" fn( + dwControl: DWORD, + dwEventType: DWORD, + lpEventData: LPVOID, + lpContext: LPVOID, + ) -> DWORD, +>; +pub type PFN_SC_NOTIFY_CALLBACK = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_1 { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_1() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_1>(), + 64usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_NOTIFY_1 = _SERVICE_NOTIFY_1; +pub type PSERVICE_NOTIFY_1 = *mut _SERVICE_NOTIFY_1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_2A { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, + pub dwNotificationTriggered: DWORD, + pub pszServiceNames: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_2A() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_2A>(), + 80usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(ServiceStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationTriggered) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwNotificationTriggered) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszServiceNames) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pszServiceNames) + ) + ); +} +pub type SERVICE_NOTIFY_2A = _SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFY_2A = *mut _SERVICE_NOTIFY_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_2W { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, + pub dwNotificationTriggered: DWORD, + pub pszServiceNames: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_2W() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_2W>(), + 80usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(ServiceStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationTriggered) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwNotificationTriggered) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszServiceNames) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pszServiceNames) + ) + ); +} +pub type SERVICE_NOTIFY_2W = _SERVICE_NOTIFY_2W; +pub type PSERVICE_NOTIFY_2W = *mut _SERVICE_NOTIFY_2W; +pub type SERVICE_NOTIFY_2 = SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFY_2 = PSERVICE_NOTIFY_2A; +pub type SERVICE_NOTIFYA = SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFYA = *mut SERVICE_NOTIFY_2A; +pub type SERVICE_NOTIFYW = SERVICE_NOTIFY_2W; +pub type PSERVICE_NOTIFYW = *mut SERVICE_NOTIFY_2W; +pub type SERVICE_NOTIFY = SERVICE_NOTIFYA; +pub type PSERVICE_NOTIFY = PSERVICE_NOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CONTROL_STATUS_REASON_PARAMSA { + pub dwReason: DWORD, + pub pszComment: LPSTR, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_CONTROL_STATUS_REASON_PARAMSA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CONTROL_STATUS_REASON_PARAMSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>(), + 56usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(pszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_CONTROL_STATUS_REASON_PARAMSA = _SERVICE_CONTROL_STATUS_REASON_PARAMSA; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMSA = *mut _SERVICE_CONTROL_STATUS_REASON_PARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CONTROL_STATUS_REASON_PARAMSW { + pub dwReason: DWORD, + pub pszComment: LPWSTR, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_CONTROL_STATUS_REASON_PARAMSW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CONTROL_STATUS_REASON_PARAMSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>(), + 56usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(pszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_CONTROL_STATUS_REASON_PARAMSW = _SERVICE_CONTROL_STATUS_REASON_PARAMSW; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMSW = *mut _SERVICE_CONTROL_STATUS_REASON_PARAMSW; +pub type SERVICE_CONTROL_STATUS_REASON_PARAMS = SERVICE_CONTROL_STATUS_REASON_PARAMSA; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMS = PSERVICE_CONTROL_STATUS_REASON_PARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_START_REASON { + pub dwReason: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_START_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_START_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_START_REASON>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_START_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_START_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_START_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_START_REASON), + "::", + stringify!(dwReason) + ) + ); +} +pub type SERVICE_START_REASON = _SERVICE_START_REASON; +pub type PSERVICE_START_REASON = *mut _SERVICE_START_REASON; +extern "C" { + pub fn ChangeServiceConfigA( + hService: SC_HANDLE, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, + lpPassword: LPCSTR, + lpDisplayName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfigW( + hService: SC_HANDLE, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR, + lpDisplayName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfig2A(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfig2W(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; +} +extern "C" { + pub fn CloseServiceHandle(hSCObject: SC_HANDLE) -> BOOL; +} +extern "C" { + pub fn ControlService( + hService: SC_HANDLE, + dwControl: DWORD, + lpServiceStatus: LPSERVICE_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn CreateServiceA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + lpDisplayName: LPCSTR, + dwDesiredAccess: DWORD, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, + lpPassword: LPCSTR, + ) -> SC_HANDLE; +} +extern "C" { + pub fn CreateServiceW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + lpDisplayName: LPCWSTR, + dwDesiredAccess: DWORD, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR, + ) -> SC_HANDLE; +} +extern "C" { + pub fn DeleteService(hService: SC_HANDLE) -> BOOL; +} +extern "C" { + pub fn EnumDependentServicesA( + hService: SC_HANDLE, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDependentServicesW( + hService: SC_HANDLE, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusA( + hSCManager: SC_HANDLE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusW( + hSCManager: SC_HANDLE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusExA( + hSCManager: SC_HANDLE, + InfoLevel: SC_ENUM_TYPE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + pszGroupName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusExW( + hSCManager: SC_HANDLE, + InfoLevel: SC_ENUM_TYPE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + pszGroupName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceKeyNameA( + hSCManager: SC_HANDLE, + lpDisplayName: LPCSTR, + lpServiceName: LPSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceKeyNameW( + hSCManager: SC_HANDLE, + lpDisplayName: LPCWSTR, + lpServiceName: LPWSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceDisplayNameA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + lpDisplayName: LPSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceDisplayNameW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + lpDisplayName: LPWSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LockServiceDatabase(hSCManager: SC_HANDLE) -> SC_LOCK; +} +extern "C" { + pub fn NotifyBootConfigStatus(BootAcceptable: BOOL) -> BOOL; +} +extern "C" { + pub fn OpenSCManagerA( + lpMachineName: LPCSTR, + lpDatabaseName: LPCSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenSCManagerW( + lpMachineName: LPCWSTR, + lpDatabaseName: LPCWSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenServiceA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenServiceW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn QueryServiceConfigA( + hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIGA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfigW( + hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIGW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfig2A( + hService: SC_HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfig2W( + hService: SC_HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceLockStatusA( + hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceLockStatusW( + hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceObjectSecurity( + hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceStatus(hService: SC_HANDLE, lpServiceStatus: LPSERVICE_STATUS) -> BOOL; +} +extern "C" { + pub fn QueryServiceStatusEx( + hService: SC_HANDLE, + InfoLevel: SC_STATUS_TYPE, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerA( + lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerW( + lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerExA( + lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION_EX, + lpContext: LPVOID, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerExW( + lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION_EX, + lpContext: LPVOID, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn SetServiceObjectSecurity( + hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetServiceStatus( + hServiceStatus: SERVICE_STATUS_HANDLE, + lpServiceStatus: LPSERVICE_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn StartServiceCtrlDispatcherA(lpServiceStartTable: *const SERVICE_TABLE_ENTRYA) -> BOOL; +} +extern "C" { + pub fn StartServiceCtrlDispatcherW(lpServiceStartTable: *const SERVICE_TABLE_ENTRYW) -> BOOL; +} +extern "C" { + pub fn StartServiceA( + hService: SC_HANDLE, + dwNumServiceArgs: DWORD, + lpServiceArgVectors: *mut LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn StartServiceW( + hService: SC_HANDLE, + dwNumServiceArgs: DWORD, + lpServiceArgVectors: *mut LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn UnlockServiceDatabase(ScLock: SC_LOCK) -> BOOL; +} +extern "C" { + pub fn NotifyServiceStatusChangeA( + hService: SC_HANDLE, + dwNotifyMask: DWORD, + pNotifyBuffer: PSERVICE_NOTIFYA, + ) -> DWORD; +} +extern "C" { + pub fn NotifyServiceStatusChangeW( + hService: SC_HANDLE, + dwNotifyMask: DWORD, + pNotifyBuffer: PSERVICE_NOTIFYW, + ) -> DWORD; +} +extern "C" { + pub fn ControlServiceExA( + hService: SC_HANDLE, + dwControl: DWORD, + dwInfoLevel: DWORD, + pControlParams: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn ControlServiceExW( + hService: SC_HANDLE, + dwControl: DWORD, + dwInfoLevel: DWORD, + pControlParams: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceDynamicInformation( + hServiceStatus: SERVICE_STATUS_HANDLE, + dwInfoLevel: DWORD, + ppDynamicInfo: *mut PVOID, + ) -> BOOL; +} +pub const _SC_EVENT_TYPE_SC_EVENT_DATABASE_CHANGE: _SC_EVENT_TYPE = 0; +pub const _SC_EVENT_TYPE_SC_EVENT_PROPERTY_CHANGE: _SC_EVENT_TYPE = 1; +pub const _SC_EVENT_TYPE_SC_EVENT_STATUS_CHANGE: _SC_EVENT_TYPE = 2; +pub type _SC_EVENT_TYPE = ::std::os::raw::c_int; +pub use self::_SC_EVENT_TYPE as SC_EVENT_TYPE; +pub type PSC_EVENT_TYPE = *mut _SC_EVENT_TYPE; +pub type PSC_NOTIFICATION_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SC_NOTIFICATION_REGISTRATION { + _unused: [u8; 0], +} +pub type PSC_NOTIFICATION_REGISTRATION = *mut _SC_NOTIFICATION_REGISTRATION; +extern "C" { + pub fn SubscribeServiceChangeNotifications( + hService: SC_HANDLE, + eEventType: SC_EVENT_TYPE, + pCallback: PSC_NOTIFICATION_CALLBACK, + pCallbackContext: PVOID, + pSubscription: *mut PSC_NOTIFICATION_REGISTRATION, + ) -> DWORD; +} +extern "C" { + pub fn UnsubscribeServiceChangeNotifications(pSubscription: PSC_NOTIFICATION_REGISTRATION); +} +extern "C" { + pub fn WaitServiceState( + hService: SC_HANDLE, + dwNotify: DWORD, + dwTimeout: DWORD, + hCancelEvent: HANDLE, + ) -> DWORD; +} +pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStateParameters: SERVICE_REGISTRY_STATE_TYPE = + 0; +pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStatePersistent: SERVICE_REGISTRY_STATE_TYPE = + 1; +pub const SERVICE_REGISTRY_STATE_TYPE_MaxServiceRegistryStateType: SERVICE_REGISTRY_STATE_TYPE = 2; +pub type SERVICE_REGISTRY_STATE_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetServiceRegistryStateKey( + ServiceStatusHandle: SERVICE_STATUS_HANDLE, + StateType: SERVICE_REGISTRY_STATE_TYPE, + AccessMask: DWORD, + ServiceStateKey: *mut HKEY, + ) -> DWORD; +} +pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryPersistentState: SERVICE_DIRECTORY_TYPE = 0; +pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryTypeMax: SERVICE_DIRECTORY_TYPE = 1; +pub type SERVICE_DIRECTORY_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetServiceDirectory( + hServiceStatus: SERVICE_STATUS_HANDLE, + eDirectoryType: SERVICE_DIRECTORY_TYPE, + lpPathBuffer: PWCHAR, + cchPathBufferLength: DWORD, + lpcchRequiredBufferLength: *mut DWORD, + ) -> DWORD; +} +pub const SERVICE_SHARED_REGISTRY_STATE_TYPE_ServiceSharedRegistryPersistentState: + SERVICE_SHARED_REGISTRY_STATE_TYPE = 0; +pub type SERVICE_SHARED_REGISTRY_STATE_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetSharedServiceRegistryStateKey( + ServiceHandle: SC_HANDLE, + StateType: SERVICE_SHARED_REGISTRY_STATE_TYPE, + AccessMask: DWORD, + ServiceStateKey: *mut HKEY, + ) -> DWORD; +} +pub const SERVICE_SHARED_DIRECTORY_TYPE_ServiceSharedDirectoryPersistentState: + SERVICE_SHARED_DIRECTORY_TYPE = 0; +pub type SERVICE_SHARED_DIRECTORY_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetSharedServiceDirectory( + ServiceHandle: SC_HANDLE, + DirectoryType: SERVICE_SHARED_DIRECTORY_TYPE, + PathBuffer: PWCHAR, + PathBufferLength: DWORD, + RequiredBufferLength: *mut DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MODEMDEVCAPS { + pub dwActualSize: DWORD, + pub dwRequiredSize: DWORD, + pub dwDevSpecificOffset: DWORD, + pub dwDevSpecificSize: DWORD, + pub dwModemProviderVersion: DWORD, + pub dwModemManufacturerOffset: DWORD, + pub dwModemManufacturerSize: DWORD, + pub dwModemModelOffset: DWORD, + pub dwModemModelSize: DWORD, + pub dwModemVersionOffset: DWORD, + pub dwModemVersionSize: DWORD, + pub dwDialOptions: DWORD, + pub dwCallSetupFailTimer: DWORD, + pub dwInactivityTimeout: DWORD, + pub dwSpeakerVolume: DWORD, + pub dwSpeakerMode: DWORD, + pub dwModemOptions: DWORD, + pub dwMaxDTERate: DWORD, + pub dwMaxDCERate: DWORD, + pub abVariablePortion: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MODEMDEVCAPS() { + const UNINIT: ::std::mem::MaybeUninit<_MODEMDEVCAPS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MODEMDEVCAPS>(), + 80usize, + concat!("Size of: ", stringify!(_MODEMDEVCAPS)) + ); + assert_eq!( + ::std::mem::align_of::<_MODEMDEVCAPS>(), + 4usize, + concat!("Alignment of ", stringify!(_MODEMDEVCAPS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwActualSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRequiredSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwRequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDevSpecificOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDevSpecificSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemProviderVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemProviderVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemManufacturerOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemManufacturerOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemManufacturerSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemManufacturerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemModelOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemModelOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemModelSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemModelSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemVersionOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemVersionOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemVersionSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemVersionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDialOptions) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDialOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallSetupFailTimer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwCallSetupFailTimer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInactivityTimeout) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwInactivityTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerVolume) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwSpeakerVolume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerMode) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwSpeakerMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemOptions) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxDTERate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwMaxDTERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxDCERate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwMaxDCERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abVariablePortion) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(abVariablePortion) + ) + ); +} +pub type MODEMDEVCAPS = _MODEMDEVCAPS; +pub type PMODEMDEVCAPS = *mut _MODEMDEVCAPS; +pub type LPMODEMDEVCAPS = *mut _MODEMDEVCAPS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MODEMSETTINGS { + pub dwActualSize: DWORD, + pub dwRequiredSize: DWORD, + pub dwDevSpecificOffset: DWORD, + pub dwDevSpecificSize: DWORD, + pub dwCallSetupFailTimer: DWORD, + pub dwInactivityTimeout: DWORD, + pub dwSpeakerVolume: DWORD, + pub dwSpeakerMode: DWORD, + pub dwPreferredModemOptions: DWORD, + pub dwNegotiatedModemOptions: DWORD, + pub dwNegotiatedDCERate: DWORD, + pub abVariablePortion: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MODEMSETTINGS() { + const UNINIT: ::std::mem::MaybeUninit<_MODEMSETTINGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MODEMSETTINGS>(), + 48usize, + concat!("Size of: ", stringify!(_MODEMSETTINGS)) + ); + assert_eq!( + ::std::mem::align_of::<_MODEMSETTINGS>(), + 4usize, + concat!("Alignment of ", stringify!(_MODEMSETTINGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwActualSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRequiredSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwRequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwDevSpecificOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwDevSpecificSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallSetupFailTimer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwCallSetupFailTimer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInactivityTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwInactivityTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerVolume) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwSpeakerVolume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerMode) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwSpeakerMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredModemOptions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwPreferredModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNegotiatedModemOptions) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwNegotiatedModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNegotiatedDCERate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwNegotiatedDCERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abVariablePortion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(abVariablePortion) + ) + ); +} +pub type MODEMSETTINGS = _MODEMSETTINGS; +pub type PMODEMSETTINGS = *mut _MODEMSETTINGS; +pub type LPMODEMSETTINGS = *mut _MODEMSETTINGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HIMC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HIMC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HIMC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HIMC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HIMC__), + "::", + stringify!(unused) + ) + ); +} +pub type HIMC = *mut HIMC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HIMCC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HIMCC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HIMCC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HIMCC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HIMCC__), + "::", + stringify!(unused) + ) + ); +} +pub type HIMCC = *mut HIMCC__; +pub type LPHKL = *mut HKL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMPOSITIONFORM { + pub dwStyle: DWORD, + pub ptCurrentPos: POINT, + pub rcArea: RECT, +} +#[test] +fn bindgen_test_layout_tagCOMPOSITIONFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCOMPOSITIONFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOMPOSITIONFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptCurrentPos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(ptCurrentPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcArea) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(rcArea) + ) + ); +} +pub type COMPOSITIONFORM = tagCOMPOSITIONFORM; +pub type PCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +pub type NPCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +pub type LPCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCANDIDATEFORM { + pub dwIndex: DWORD, + pub dwStyle: DWORD, + pub ptCurrentPos: POINT, + pub rcArea: RECT, +} +#[test] +fn bindgen_test_layout_tagCANDIDATEFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCANDIDATEFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCANDIDATEFORM)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwIndex) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATEFORM), "::", - stringify!(__readers) + stringify!(dwIndex) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, 4usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATEFORM), "::", - stringify!(__writers) + stringify!(dwStyle) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).ptCurrentPos) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATEFORM), "::", - stringify!(__wrphase_futex) + stringify!(ptCurrentPos) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize }, - 12usize, + unsafe { ::std::ptr::addr_of!((*ptr).rcArea) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATEFORM), "::", - stringify!(__writers_futex) + stringify!(rcArea) ) ); +} +pub type CANDIDATEFORM = tagCANDIDATEFORM; +pub type PCANDIDATEFORM = *mut tagCANDIDATEFORM; +pub type NPCANDIDATEFORM = *mut tagCANDIDATEFORM; +pub type LPCANDIDATEFORM = *mut tagCANDIDATEFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCANDIDATELIST { + pub dwSize: DWORD, + pub dwStyle: DWORD, + pub dwCount: DWORD, + pub dwSelection: DWORD, + pub dwPageStart: DWORD, + pub dwPageSize: DWORD, + pub dwOffset: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagCANDIDATELIST() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), - "::", - stringify!(__pad3) - ) + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCANDIDATELIST)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize }, - 20usize, + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCANDIDATELIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__pad4) + stringify!(dwSize) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize }, - 24usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__cur_writer) + stringify!(dwStyle) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize }, - 28usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__shared) + stringify!(dwCount) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize }, - 32usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwSelection) as usize - ptr as usize }, + 12usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__rwelision) + stringify!(dwSelection) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize }, - 33usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwPageStart) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__pad1) + stringify!(dwPageStart) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize }, - 40usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwPageSize) as usize - ptr as usize }, + 20usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__pad2) + stringify!(dwPageSize) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize }, - 48usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 24usize, concat!( "Offset of field: ", - stringify!(__pthread_rwlock_arch_t), + stringify!(tagCANDIDATELIST), "::", - stringify!(__flags) + stringify!(dwOffset) ) ); } +pub type CANDIDATELIST = tagCANDIDATELIST; +pub type PCANDIDATELIST = *mut tagCANDIDATELIST; +pub type NPCANDIDATELIST = *mut tagCANDIDATELIST; +pub type LPCANDIDATELIST = *mut tagCANDIDATELIST; #[repr(C)] -#[derive(Copy, Clone)] -pub struct __pthread_cond_s { - pub __wseq: __atomic_wide_counter, - pub __g1_start: __atomic_wide_counter, - pub __g_refs: [::std::os::raw::c_uint; 2usize], - pub __g_size: [::std::os::raw::c_uint; 2usize], - pub __g1_orig_size: ::std::os::raw::c_uint, - pub __wrefs: ::std::os::raw::c_uint, - pub __g_signals: [::std::os::raw::c_uint; 2usize], +#[derive(Debug, Copy, Clone)] +pub struct tagREGISTERWORDA { + pub lpReading: LPSTR, + pub lpWord: LPSTR, } #[test] -fn bindgen_test_layout___pthread_cond_s() { - const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagREGISTERWORDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__pthread_cond_s>(), - 48usize, - concat!("Size of: ", stringify!(__pthread_cond_s)) + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagREGISTERWORDA)) ); assert_eq!( - ::std::mem::align_of::<__pthread_cond_s>(), + ::std::mem::align_of::(), 8usize, - concat!("Alignment of ", stringify!(__pthread_cond_s)) + concat!("Alignment of ", stringify!(tagREGISTERWORDA)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).lpReading) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s), + stringify!(tagREGISTERWORDA), "::", - stringify!(__wseq) + stringify!(lpReading) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).lpWord) as usize - ptr as usize }, 8usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s), + stringify!(tagREGISTERWORDA), "::", - stringify!(__g1_start) + stringify!(lpWord) ) ); +} +pub type REGISTERWORDA = tagREGISTERWORDA; +pub type PREGISTERWORDA = *mut tagREGISTERWORDA; +pub type NPREGISTERWORDA = *mut tagREGISTERWORDA; +pub type LPREGISTERWORDA = *mut tagREGISTERWORDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagREGISTERWORDW { + pub lpReading: LPWSTR, + pub lpWord: LPWSTR, +} +#[test] +fn bindgen_test_layout_tagREGISTERWORDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize }, + ::std::mem::size_of::(), 16usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s), - "::", - stringify!(__g_refs) - ) + concat!("Size of: ", stringify!(tagREGISTERWORDW)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s), - "::", - stringify!(__g_size) - ) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize }, - 32usize, - concat!( - "Offset of field: ", - stringify!(__pthread_cond_s), - "::", - stringify!(__g1_orig_size) - ) + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagREGISTERWORDW)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize }, - 36usize, + unsafe { ::std::ptr::addr_of!((*ptr).lpReading) as usize - ptr as usize }, + 0usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s), + stringify!(tagREGISTERWORDW), "::", - stringify!(__wrefs) + stringify!(lpReading) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize }, - 40usize, + unsafe { ::std::ptr::addr_of!((*ptr).lpWord) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(__pthread_cond_s), + stringify!(tagREGISTERWORDW), "::", - stringify!(__g_signals) + stringify!(lpWord) ) ); } -pub type __tss_t = ::std::os::raw::c_uint; -pub type __thrd_t = ::std::os::raw::c_ulong; +pub type REGISTERWORDW = tagREGISTERWORDW; +pub type PREGISTERWORDW = *mut tagREGISTERWORDW; +pub type NPREGISTERWORDW = *mut tagREGISTERWORDW; +pub type LPREGISTERWORDW = *mut tagREGISTERWORDW; +pub type REGISTERWORD = REGISTERWORDA; +pub type PREGISTERWORD = PREGISTERWORDA; +pub type NPREGISTERWORD = NPREGISTERWORDA; +pub type LPREGISTERWORD = LPREGISTERWORDA; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct __once_flag { - pub __data: ::std::os::raw::c_int, +pub struct tagRECONVERTSTRING { + pub dwSize: DWORD, + pub dwVersion: DWORD, + pub dwStrLen: DWORD, + pub dwStrOffset: DWORD, + pub dwCompStrLen: DWORD, + pub dwCompStrOffset: DWORD, + pub dwTargetStrLen: DWORD, + pub dwTargetStrOffset: DWORD, } #[test] -fn bindgen_test_layout___once_flag() { - const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagRECONVERTSTRING() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::<__once_flag>(), - 4usize, - concat!("Size of: ", stringify!(__once_flag)) + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagRECONVERTSTRING)) ); assert_eq!( - ::std::mem::align_of::<__once_flag>(), + ::std::mem::align_of::(), 4usize, - concat!("Alignment of ", stringify!(__once_flag)) + concat!("Alignment of ", stringify!(tagRECONVERTSTRING)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(__once_flag), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__data) + stringify!(dwSize) ) ); -} -pub type pthread_t = ::std::os::raw::c_ulong; -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_mutexattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_pthread_mutexattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(pthread_mutexattr_t)) - ); assert_eq!( - ::std::mem::align_of::(), + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, 4usize, - concat!("Alignment of ", stringify!(pthread_mutexattr_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, concat!( "Offset of field: ", - stringify!(pthread_mutexattr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__size) + stringify!(dwVersion) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwStrLen) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(pthread_mutexattr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__align) + stringify!(dwStrLen) ) ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_condattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, -} -#[test] -fn bindgen_test_layout_pthread_condattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(pthread_condattr_t)) - ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(pthread_condattr_t)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwStrOffset) as usize - ptr as usize }, + 12usize, concat!( "Offset of field: ", - stringify!(pthread_condattr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__size) + stringify!(dwStrOffset) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwCompStrLen) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(pthread_condattr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__align) + stringify!(dwCompStrLen) ) ); -} -pub type pthread_key_t = ::std::os::raw::c_uint; -pub type pthread_once_t = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_attr_t { - pub __size: [::std::os::raw::c_char; 56usize], - pub __align: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_pthread_attr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(pthread_attr_t)) - ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(pthread_attr_t)) + unsafe { ::std::ptr::addr_of!((*ptr).dwCompStrOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwCompStrOffset) + ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwTargetStrLen) as usize - ptr as usize }, + 24usize, concat!( "Offset of field: ", - stringify!(pthread_attr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__size) + stringify!(dwTargetStrLen) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwTargetStrOffset) as usize - ptr as usize }, + 28usize, concat!( "Offset of field: ", - stringify!(pthread_attr_t), + stringify!(tagRECONVERTSTRING), "::", - stringify!(__align) + stringify!(dwTargetStrOffset) ) ); } +pub type RECONVERTSTRING = tagRECONVERTSTRING; +pub type PRECONVERTSTRING = *mut tagRECONVERTSTRING; +pub type NPRECONVERTSTRING = *mut tagRECONVERTSTRING; +pub type LPRECONVERTSTRING = *mut tagRECONVERTSTRING; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_mutex_t { - pub __data: __pthread_mutex_s, - pub __size: [::std::os::raw::c_char; 40usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLEBUFA { + pub dwStyle: DWORD, + pub szDescription: [CHAR; 32usize], } #[test] -fn bindgen_test_layout_pthread_mutex_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagSTYLEBUFA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 40usize, - concat!("Size of: ", stringify!(pthread_mutex_t)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(pthread_mutex_t)) + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagSTYLEBUFA)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pthread_mutex_t), - "::", - stringify!(__data) - ) + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLEBUFA)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(pthread_mutex_t), + stringify!(tagSTYLEBUFA), "::", - stringify!(__size) + stringify!(dwStyle) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(pthread_mutex_t), + stringify!(tagSTYLEBUFA), "::", - stringify!(__align) + stringify!(szDescription) ) ); } +pub type STYLEBUFA = tagSTYLEBUFA; +pub type PSTYLEBUFA = *mut tagSTYLEBUFA; +pub type NPSTYLEBUFA = *mut tagSTYLEBUFA; +pub type LPSTYLEBUFA = *mut tagSTYLEBUFA; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_cond_t { - pub __data: __pthread_cond_s, - pub __size: [::std::os::raw::c_char; 48usize], - pub __align: ::std::os::raw::c_longlong, +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLEBUFW { + pub dwStyle: DWORD, + pub szDescription: [WCHAR; 32usize], } #[test] -fn bindgen_test_layout_pthread_cond_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagSTYLEBUFW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 48usize, - concat!("Size of: ", stringify!(pthread_cond_t)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(pthread_cond_t)) + ::std::mem::size_of::(), + 68usize, + concat!("Size of: ", stringify!(tagSTYLEBUFW)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(pthread_cond_t), - "::", - stringify!(__data) - ) + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLEBUFW)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(pthread_cond_t), + stringify!(tagSTYLEBUFW), "::", - stringify!(__size) + stringify!(dwStyle) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(pthread_cond_t), + stringify!(tagSTYLEBUFW), "::", - stringify!(__align) + stringify!(szDescription) ) ); } +pub type STYLEBUFW = tagSTYLEBUFW; +pub type PSTYLEBUFW = *mut tagSTYLEBUFW; +pub type NPSTYLEBUFW = *mut tagSTYLEBUFW; +pub type LPSTYLEBUFW = *mut tagSTYLEBUFW; +pub type STYLEBUF = STYLEBUFA; +pub type PSTYLEBUF = PSTYLEBUFA; +pub type NPSTYLEBUF = NPSTYLEBUFA; +pub type LPSTYLEBUF = LPSTYLEBUFA; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_rwlock_t { - pub __data: __pthread_rwlock_arch_t, - pub __size: [::std::os::raw::c_char; 56usize], - pub __align: ::std::os::raw::c_long, +#[derive(Debug, Copy, Clone)] +pub struct tagIMEMENUITEMINFOA { + pub cbSize: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: DWORD, + pub szString: [CHAR; 80usize], + pub hbmpItem: HBITMAP, } #[test] -fn bindgen_test_layout_pthread_rwlock_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagIMEMENUITEMINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 56usize, - concat!("Size of: ", stringify!(pthread_rwlock_t)) + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagIMEMENUITEMINFOA)) ); assert_eq!( - ::std::mem::align_of::(), + ::std::mem::align_of::(), 8usize, - concat!("Alignment of ", stringify!(pthread_rwlock_t)) + concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOA)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(pthread_rwlock_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__data) + stringify!(cbSize) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(pthread_rwlock_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__size) + stringify!(fType) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(pthread_rwlock_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__align) + stringify!(fState) ) ); -} -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_rwlockattr_t { - pub __size: [::std::os::raw::c_char; 8usize], - pub __align: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_pthread_rwlockattr_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 8usize, - concat!("Size of: ", stringify!(pthread_rwlockattr_t)) - ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(pthread_rwlockattr_t)) + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(wID) + ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(pthread_rwlockattr_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__size) + stringify!(hbmpChecked) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 24usize, concat!( "Offset of field: ", - stringify!(pthread_rwlockattr_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__align) + stringify!(hbmpUnchecked) ) ); -} -pub type pthread_spinlock_t = ::std::os::raw::c_int; -#[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_barrier_t { - pub __size: [::std::os::raw::c_char; 32usize], - pub __align: ::std::os::raw::c_long, -} -#[test] -fn bindgen_test_layout_pthread_barrier_t() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, 32usize, - concat!("Size of: ", stringify!(pthread_barrier_t)) - ); - assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(pthread_barrier_t)) + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(dwItemData) + ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).szString) as usize - ptr as usize }, + 36usize, concat!( "Offset of field: ", - stringify!(pthread_barrier_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__size) + stringify!(szString) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 120usize, concat!( "Offset of field: ", - stringify!(pthread_barrier_t), + stringify!(tagIMEMENUITEMINFOA), "::", - stringify!(__align) + stringify!(hbmpItem) ) ); } +pub type IMEMENUITEMINFOA = tagIMEMENUITEMINFOA; +pub type PIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; +pub type NPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; +pub type LPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; #[repr(C)] -#[derive(Copy, Clone)] -pub union pthread_barrierattr_t { - pub __size: [::std::os::raw::c_char; 4usize], - pub __align: ::std::os::raw::c_int, +#[derive(Debug, Copy, Clone)] +pub struct tagIMEMENUITEMINFOW { + pub cbSize: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: DWORD, + pub szString: [WCHAR; 80usize], + pub hbmpItem: HBITMAP, } #[test] -fn bindgen_test_layout_pthread_barrierattr_t() { - const UNINIT: ::std::mem::MaybeUninit = - ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagIMEMENUITEMINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 4usize, - concat!("Size of: ", stringify!(pthread_barrierattr_t)) + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(tagIMEMENUITEMINFOW)) ); assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(pthread_barrierattr_t)) + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOW)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(pthread_barrierattr_t), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(__size) + stringify!(cbSize) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize }, - 0usize, + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(pthread_barrierattr_t), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(__align) + stringify!(fType) ) ); -} -extern "C" { - pub fn random() -> ::std::os::raw::c_long; -} -extern "C" { - pub fn srandom(__seed: ::std::os::raw::c_uint); -} -extern "C" { - pub fn initstate( - __seed: ::std::os::raw::c_uint, - __statebuf: *mut ::std::os::raw::c_char, - __statelen: usize, - ) -> *mut ::std::os::raw::c_char; -} -extern "C" { - pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; -} -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct random_data { - pub fptr: *mut i32, - pub rptr: *mut i32, - pub state: *mut i32, - pub rand_type: ::std::os::raw::c_int, - pub rand_deg: ::std::os::raw::c_int, - pub rand_sep: ::std::os::raw::c_int, - pub end_ptr: *mut i32, -} -#[test] -fn bindgen_test_layout_random_data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); - let ptr = UNINIT.as_ptr(); - assert_eq!( - ::std::mem::size_of::(), - 48usize, - concat!("Size of: ", stringify!(random_data)) - ); assert_eq!( - ::std::mem::align_of::(), + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, 8usize, - concat!("Alignment of ", stringify!(random_data)) - ); - assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).fptr) as usize - ptr as usize }, - 0usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(fptr) + stringify!(fState) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rptr) as usize - ptr as usize }, - 8usize, + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 12usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(rptr) + stringify!(wID) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, 16usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(state) + stringify!(hbmpChecked) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, 24usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(rand_type) + stringify!(hbmpUnchecked) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_deg) as usize - ptr as usize }, - 28usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 32usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(rand_deg) + stringify!(dwItemData) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).rand_sep) as usize - ptr as usize }, - 32usize, + unsafe { ::std::ptr::addr_of!((*ptr).szString) as usize - ptr as usize }, + 36usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(rand_sep) + stringify!(szString) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).end_ptr) as usize - ptr as usize }, - 40usize, + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 200usize, concat!( "Offset of field: ", - stringify!(random_data), + stringify!(tagIMEMENUITEMINFOW), "::", - stringify!(end_ptr) + stringify!(hbmpItem) ) ); } -extern "C" { - pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn srandom_r( - __seed: ::std::os::raw::c_uint, - __buf: *mut random_data, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn initstate_r( - __seed: ::std::os::raw::c_uint, - __statebuf: *mut ::std::os::raw::c_char, - __statelen: usize, - __buf: *mut random_data, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn setstate_r( - __statebuf: *mut ::std::os::raw::c_char, - __buf: *mut random_data, - ) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn rand() -> ::std::os::raw::c_int; -} -extern "C" { - pub fn srand(__seed: ::std::os::raw::c_uint); -} -extern "C" { - pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int; -} -extern "C" { - pub fn drand48() -> f64; -} -extern "C" { - pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64; -} -extern "C" { - pub fn lrand48() -> ::std::os::raw::c_long; -} -extern "C" { - pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn mrand48() -> ::std::os::raw::c_long; -} -extern "C" { - pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long; -} -extern "C" { - pub fn srand48(__seedval: ::std::os::raw::c_long); -} -extern "C" { - pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort; -} -extern "C" { - pub fn lcong48(__param: *mut ::std::os::raw::c_ushort); -} +pub type IMEMENUITEMINFOW = tagIMEMENUITEMINFOW; +pub type PIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type NPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type LPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type IMEMENUITEMINFO = IMEMENUITEMINFOA; +pub type PIMEMENUITEMINFO = PIMEMENUITEMINFOA; +pub type NPIMEMENUITEMINFO = NPIMEMENUITEMINFOA; +pub type LPIMEMENUITEMINFO = LPIMEMENUITEMINFOA; #[repr(C)] #[derive(Debug, Copy, Clone)] -pub struct drand48_data { - pub __x: [::std::os::raw::c_ushort; 3usize], - pub __old_x: [::std::os::raw::c_ushort; 3usize], - pub __c: ::std::os::raw::c_ushort, - pub __init: ::std::os::raw::c_ushort, - pub __a: ::std::os::raw::c_ulonglong, +pub struct tagIMECHARPOSITION { + pub dwSize: DWORD, + pub dwCharPos: DWORD, + pub pt: POINT, + pub cLineHeight: UINT, + pub rcDocument: RECT, } #[test] -fn bindgen_test_layout_drand48_data() { - const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); +fn bindgen_test_layout_tagIMECHARPOSITION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); let ptr = UNINIT.as_ptr(); assert_eq!( - ::std::mem::size_of::(), - 24usize, - concat!("Size of: ", stringify!(drand48_data)) + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagIMECHARPOSITION)) ); assert_eq!( - ::std::mem::align_of::(), - 8usize, - concat!("Alignment of ", stringify!(drand48_data)) + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagIMECHARPOSITION)) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize }, + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, 0usize, concat!( "Offset of field: ", - stringify!(drand48_data), + stringify!(tagIMECHARPOSITION), "::", - stringify!(__x) + stringify!(dwSize) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__old_x) as usize - ptr as usize }, - 6usize, + unsafe { ::std::ptr::addr_of!((*ptr).dwCharPos) as usize - ptr as usize }, + 4usize, concat!( "Offset of field: ", - stringify!(drand48_data), + stringify!(tagIMECHARPOSITION), "::", - stringify!(__old_x) + stringify!(dwCharPos) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__c) as usize - ptr as usize }, - 12usize, + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 8usize, concat!( "Offset of field: ", - stringify!(drand48_data), + stringify!(tagIMECHARPOSITION), "::", - stringify!(__c) + stringify!(pt) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__init) as usize - ptr as usize }, - 14usize, + unsafe { ::std::ptr::addr_of!((*ptr).cLineHeight) as usize - ptr as usize }, + 16usize, concat!( "Offset of field: ", - stringify!(drand48_data), + stringify!(tagIMECHARPOSITION), "::", - stringify!(__init) + stringify!(cLineHeight) ) ); assert_eq!( - unsafe { ::std::ptr::addr_of!((*ptr).__a) as usize - ptr as usize }, - 16usize, + unsafe { ::std::ptr::addr_of!((*ptr).rcDocument) as usize - ptr as usize }, + 20usize, concat!( "Offset of field: ", - stringify!(drand48_data), + stringify!(tagIMECHARPOSITION), "::", - stringify!(__a) + stringify!(rcDocument) ) ); } +pub type IMECHARPOSITION = tagIMECHARPOSITION; +pub type PIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type NPIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type LPIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type IMCENUMPROC = + ::std::option::Option BOOL>; extern "C" { - pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int; + pub fn ImmInstallIMEA(lpszIMEFileName: LPCSTR, lpszLayoutText: LPCSTR) -> HKL; } extern "C" { - pub fn erand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut f64, - ) -> ::std::os::raw::c_int; + pub fn ImmInstallIMEW(lpszIMEFileName: LPCWSTR, lpszLayoutText: LPCWSTR) -> HKL; } extern "C" { - pub fn lrand48_r( - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn ImmGetDefaultIMEWnd(arg1: HWND) -> HWND; } extern "C" { - pub fn nrand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn ImmGetDescriptionA(arg1: HKL, lpszDescription: LPSTR, uBufLen: UINT) -> UINT; } extern "C" { - pub fn mrand48_r( - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn ImmGetDescriptionW(arg1: HKL, lpszDescription: LPWSTR, uBufLen: UINT) -> UINT; } extern "C" { - pub fn jrand48_r( - __xsubi: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - __result: *mut ::std::os::raw::c_long, - ) -> ::std::os::raw::c_int; + pub fn ImmGetIMEFileNameA(arg1: HKL, lpszFileName: LPSTR, uBufLen: UINT) -> UINT; } extern "C" { - pub fn srand48_r( - __seedval: ::std::os::raw::c_long, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn ImmGetIMEFileNameW(arg1: HKL, lpszFileName: LPWSTR, uBufLen: UINT) -> UINT; } extern "C" { - pub fn seed48_r( - __seed16v: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn ImmGetProperty(arg1: HKL, arg2: DWORD) -> DWORD; } extern "C" { - pub fn lcong48_r( - __param: *mut ::std::os::raw::c_ushort, - __buffer: *mut drand48_data, - ) -> ::std::os::raw::c_int; + pub fn ImmIsIME(arg1: HKL) -> BOOL; } extern "C" { - pub fn arc4random() -> __uint32_t; + pub fn ImmSimulateHotKey(arg1: HWND, arg2: DWORD) -> BOOL; } extern "C" { - pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize); + pub fn ImmCreateContext() -> HIMC; } extern "C" { - pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t; + pub fn ImmDestroyContext(arg1: HIMC) -> BOOL; } extern "C" { - pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; + pub fn ImmGetContext(arg1: HWND) -> HIMC; } extern "C" { - pub fn calloc( - __nmemb: ::std::os::raw::c_ulong, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn ImmReleaseContext(arg1: HWND, arg2: HIMC) -> BOOL; } extern "C" { - pub fn realloc( - __ptr: *mut ::std::os::raw::c_void, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn ImmAssociateContext(arg1: HWND, arg2: HIMC) -> HIMC; } extern "C" { - pub fn free(__ptr: *mut ::std::os::raw::c_void); + pub fn ImmAssociateContextEx(arg1: HWND, arg2: HIMC, arg3: DWORD) -> BOOL; } extern "C" { - pub fn reallocarray( - __ptr: *mut ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - ) -> *mut ::std::os::raw::c_void; + pub fn ImmGetCompositionStringA( + arg1: HIMC, + arg2: DWORD, + lpBuf: LPVOID, + dwBufLen: DWORD, + ) -> LONG; } extern "C" { - pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void; + pub fn ImmGetCompositionStringW( + arg1: HIMC, + arg2: DWORD, + lpBuf: LPVOID, + dwBufLen: DWORD, + ) -> LONG; } extern "C" { - pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void; + pub fn ImmSetCompositionStringA( + arg1: HIMC, + dwIndex: DWORD, + lpComp: LPVOID, + dwCompLen: DWORD, + lpRead: LPVOID, + dwReadLen: DWORD, + ) -> BOOL; } extern "C" { - pub fn posix_memalign( - __memptr: *mut *mut ::std::os::raw::c_void, - __alignment: usize, - __size: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmSetCompositionStringW( + arg1: HIMC, + dwIndex: DWORD, + lpComp: LPVOID, + dwCompLen: DWORD, + lpRead: LPVOID, + dwReadLen: DWORD, + ) -> BOOL; } extern "C" { - pub fn aligned_alloc( - __alignment: ::std::os::raw::c_ulong, - __size: ::std::os::raw::c_ulong, - ) -> *mut ::std::os::raw::c_void; + pub fn ImmGetCandidateListCountA(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; } extern "C" { - pub fn abort() -> !; + pub fn ImmGetCandidateListCountW(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; } extern "C" { - pub fn atexit(__func: ::std::option::Option) -> ::std::os::raw::c_int; + pub fn ImmGetCandidateListA( + arg1: HIMC, + deIndex: DWORD, + lpCandList: LPCANDIDATELIST, + dwBufLen: DWORD, + ) -> DWORD; } extern "C" { - pub fn at_quick_exit( - __func: ::std::option::Option, - ) -> ::std::os::raw::c_int; + pub fn ImmGetCandidateListW( + arg1: HIMC, + deIndex: DWORD, + lpCandList: LPCANDIDATELIST, + dwBufLen: DWORD, + ) -> DWORD; } extern "C" { - pub fn on_exit( - __func: ::std::option::Option< - unsafe extern "C" fn( - __status: ::std::os::raw::c_int, - __arg: *mut ::std::os::raw::c_void, - ), - >, - __arg: *mut ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int; + pub fn ImmGetGuideLineA(arg1: HIMC, dwIndex: DWORD, lpBuf: LPSTR, dwBufLen: DWORD) -> DWORD; } extern "C" { - pub fn exit(__status: ::std::os::raw::c_int) -> !; + pub fn ImmGetGuideLineW(arg1: HIMC, dwIndex: DWORD, lpBuf: LPWSTR, dwBufLen: DWORD) -> DWORD; } extern "C" { - pub fn quick_exit(__status: ::std::os::raw::c_int) -> !; -} -extern "C" { - pub fn _Exit(__status: ::std::os::raw::c_int) -> !; + pub fn ImmGetConversionStatus( + arg1: HIMC, + lpfdwConversion: LPDWORD, + lpfdwSentence: LPDWORD, + ) -> BOOL; } extern "C" { - pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn ImmSetConversionStatus(arg1: HIMC, arg2: DWORD, arg3: DWORD) -> BOOL; } extern "C" { - pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn ImmGetOpenStatus(arg1: HIMC) -> BOOL; } extern "C" { - pub fn setenv( - __name: *const ::std::os::raw::c_char, - __value: *const ::std::os::raw::c_char, - __replace: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn ImmSetOpenStatus(arg1: HIMC, arg2: BOOL) -> BOOL; } extern "C" { - pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn ImmGetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; } extern "C" { - pub fn clearenv() -> ::std::os::raw::c_int; + pub fn ImmGetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; } extern "C" { - pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn ImmSetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; } extern "C" { - pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn ImmSetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; } extern "C" { - pub fn mkstemps( - __template: *mut ::std::os::raw::c_char, - __suffixlen: ::std::os::raw::c_int, - ) -> ::std::os::raw::c_int; + pub fn ImmConfigureIMEA(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; } extern "C" { - pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; + pub fn ImmConfigureIMEW(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; } extern "C" { - pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn ImmEscapeA(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; } extern "C" { - pub fn realpath( - __name: *const ::std::os::raw::c_char, - __resolved: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmEscapeW(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; } -pub type __compar_fn_t = ::std::option::Option< - unsafe extern "C" fn( - arg1: *const ::std::os::raw::c_void, - arg2: *const ::std::os::raw::c_void, - ) -> ::std::os::raw::c_int, ->; extern "C" { - pub fn bsearch( - __key: *const ::std::os::raw::c_void, - __base: *const ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - __compar: __compar_fn_t, - ) -> *mut ::std::os::raw::c_void; + pub fn ImmGetConversionListA( + arg1: HKL, + arg2: HIMC, + lpSrc: LPCSTR, + lpDst: LPCANDIDATELIST, + dwBufLen: DWORD, + uFlag: UINT, + ) -> DWORD; } extern "C" { - pub fn qsort( - __base: *mut ::std::os::raw::c_void, - __nmemb: usize, - __size: usize, - __compar: __compar_fn_t, - ); + pub fn ImmGetConversionListW( + arg1: HKL, + arg2: HIMC, + lpSrc: LPCWSTR, + lpDst: LPCANDIDATELIST, + dwBufLen: DWORD, + uFlag: UINT, + ) -> DWORD; } extern "C" { - pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int; + pub fn ImmNotifyIME(arg1: HIMC, dwAction: DWORD, dwIndex: DWORD, dwValue: DWORD) -> BOOL; } extern "C" { - pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long; + pub fn ImmGetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; } extern "C" { - pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; + pub fn ImmSetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; } extern "C" { - pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t; + pub fn ImmGetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; } extern "C" { - pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t; + pub fn ImmSetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; } extern "C" { - pub fn lldiv( - __numer: ::std::os::raw::c_longlong, - __denom: ::std::os::raw::c_longlong, - ) -> lldiv_t; + pub fn ImmGetCandidateWindow(arg1: HIMC, arg2: DWORD, lpCandidate: LPCANDIDATEFORM) -> BOOL; } extern "C" { - pub fn ecvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmSetCandidateWindow(arg1: HIMC, lpCandidate: LPCANDIDATEFORM) -> BOOL; } extern "C" { - pub fn fcvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmIsUIMessageA(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; } extern "C" { - pub fn gcvt( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmIsUIMessageW(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; } extern "C" { - pub fn qecvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmGetVirtualKey(arg1: HWND) -> UINT; } +pub type REGISTERWORDENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + lpszReading: LPCSTR, + arg1: DWORD, + lpszString: LPCSTR, + arg2: LPVOID, + ) -> ::std::os::raw::c_int, +>; +pub type REGISTERWORDENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + lpszReading: LPCWSTR, + arg1: DWORD, + lpszString: LPCWSTR, + arg2: LPVOID, + ) -> ::std::os::raw::c_int, +>; extern "C" { - pub fn qfcvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmRegisterWordA( + arg1: HKL, + lpszReading: LPCSTR, + arg2: DWORD, + lpszRegister: LPCSTR, + ) -> BOOL; } extern "C" { - pub fn qgcvt( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - ) -> *mut ::std::os::raw::c_char; + pub fn ImmRegisterWordW( + arg1: HKL, + lpszReading: LPCWSTR, + arg2: DWORD, + lpszRegister: LPCWSTR, + ) -> BOOL; } extern "C" { - pub fn ecvt_r( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmUnregisterWordA( + arg1: HKL, + lpszReading: LPCSTR, + arg2: DWORD, + lpszUnregister: LPCSTR, + ) -> BOOL; } extern "C" { - pub fn fcvt_r( - __value: f64, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmUnregisterWordW( + arg1: HKL, + lpszReading: LPCWSTR, + arg2: DWORD, + lpszUnregister: LPCWSTR, + ) -> BOOL; } extern "C" { - pub fn qecvt_r( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmGetRegisterWordStyleA(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFA) -> UINT; } extern "C" { - pub fn qfcvt_r( - __value: u128, - __ndigit: ::std::os::raw::c_int, - __decpt: *mut ::std::os::raw::c_int, - __sign: *mut ::std::os::raw::c_int, - __buf: *mut ::std::os::raw::c_char, - __len: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmGetRegisterWordStyleW(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFW) -> UINT; } extern "C" { - pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int; + pub fn ImmEnumRegisterWordA( + arg1: HKL, + arg2: REGISTERWORDENUMPROCA, + lpszReading: LPCSTR, + arg3: DWORD, + lpszRegister: LPCSTR, + arg4: LPVOID, + ) -> UINT; } extern "C" { - pub fn mbtowc( - __pwc: *mut wchar_t, - __s: *const ::std::os::raw::c_char, - __n: usize, - ) -> ::std::os::raw::c_int; + pub fn ImmEnumRegisterWordW( + arg1: HKL, + arg2: REGISTERWORDENUMPROCW, + lpszReading: LPCWSTR, + arg3: DWORD, + lpszRegister: LPCWSTR, + arg4: LPVOID, + ) -> UINT; } extern "C" { - pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int; + pub fn ImmDisableIME(arg1: DWORD) -> BOOL; } extern "C" { - pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize; + pub fn ImmEnumInputContext(idThread: DWORD, lpfn: IMCENUMPROC, lParam: LPARAM) -> BOOL; } extern "C" { - pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize; + pub fn ImmGetImeMenuItemsA( + arg1: HIMC, + arg2: DWORD, + arg3: DWORD, + lpImeParentMenu: LPIMEMENUITEMINFOA, + lpImeMenu: LPIMEMENUITEMINFOA, + dwSize: DWORD, + ) -> DWORD; } extern "C" { - pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; + pub fn ImmGetImeMenuItemsW( + arg1: HIMC, + arg2: DWORD, + arg3: DWORD, + lpImeParentMenu: LPIMEMENUITEMINFOW, + lpImeMenu: LPIMEMENUITEMINFOW, + dwSize: DWORD, + ) -> DWORD; } extern "C" { - pub fn getsubopt( - __optionp: *mut *mut ::std::os::raw::c_char, - __tokens: *const *mut ::std::os::raw::c_char, - __valuep: *mut *mut ::std::os::raw::c_char, - ) -> ::std::os::raw::c_int; + pub fn ImmDisableTextFrameService(idThread: DWORD) -> BOOL; } extern "C" { - pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int) - -> ::std::os::raw::c_int; + pub fn ImmDisableLegacyIME() -> BOOL; } -pub type VOID = ::std::os::raw::c_void; -pub type PVOID = *mut ::std::os::raw::c_void; -pub type HANDLE = *mut ::std::os::raw::c_void; -pub type PHANDLE = *mut *mut ::std::os::raw::c_void; -pub type HMODULE = *mut ::std::os::raw::c_void; pub type QWORD = ::std::os::raw::c_ulonglong; pub type PQWORD = *mut ::std::os::raw::c_ulonglong; -pub type ULONG64 = ::std::os::raw::c_ulonglong; -pub type PULONG64 = *mut ::std::os::raw::c_ulonglong; -pub type SIZE_T = usize; -pub type PSIZE_T = *mut usize; -pub type FILETIME = u64; -pub type PFILETIME = *mut u64; -pub type DWORD = u32; -pub type PDWORD = *mut u32; -pub type LPDWORD = *mut u32; -pub type BOOL = u32; -pub type PBOOL = *mut u32; -pub type NTSTATUS = u32; -pub type WORD = u16; -pub type PWORD = *mut u16; -pub type BYTE = u8; -pub type PBYTE = *mut u8; -pub type LPBYTE = *mut u8; -pub type UCHAR = u8; -pub type CHAR = ::std::os::raw::c_char; -pub type PCHAR = *mut ::std::os::raw::c_char; -pub type LPSTR = *mut ::std::os::raw::c_char; -pub type LPCSTR = *mut ::std::os::raw::c_char; -pub type WCHAR = u16; -pub type PWCHAR = *mut u16; -pub type LPWSTR = *mut u16; -pub type LPCWSTR = *mut u16; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct LC_CONFIG { @@ -2869,7 +327243,7 @@ extern "C" { ) -> HANDLE; } extern "C" { - pub fn LcClose(hLC: HANDLE) -> VOID; + pub fn LcClose(hLC: HANDLE); } #[repr(C)] #[derive(Copy, Clone)] @@ -3003,7 +327377,7 @@ pub type MEM_SCATTER = tdMEM_SCATTER; pub type PMEM_SCATTER = *mut tdMEM_SCATTER; pub type PPMEM_SCATTER = *mut *mut tdMEM_SCATTER; extern "C" { - pub fn LcMemFree(pv: PVOID) -> VOID; + pub fn LcMemFree(pv: PVOID); } extern "C" { pub fn LcAllocScatter1(cMEMs: DWORD, pppMEMs: *mut PPMEM_SCATTER) -> BOOL; @@ -3027,13 +327401,13 @@ extern "C" { ) -> BOOL; } extern "C" { - pub fn LcReadScatter(hLC: HANDLE, cMEMs: DWORD, ppMEMs: PPMEM_SCATTER) -> VOID; + pub fn LcReadScatter(hLC: HANDLE, cMEMs: DWORD, ppMEMs: PPMEM_SCATTER); } extern "C" { pub fn LcRead(hLC: HANDLE, pa: QWORD, cb: DWORD, pb: PBYTE) -> BOOL; } extern "C" { - pub fn LcWriteScatter(hLC: HANDLE, cMEMs: DWORD, ppMEMs: PPMEM_SCATTER) -> VOID; + pub fn LcWriteScatter(hLC: HANDLE, cMEMs: DWORD, ppMEMs: PPMEM_SCATTER); } extern "C" { pub fn LcWrite(hLC: HANDLE, pa: QWORD, cb: DWORD, pb: PBYTE) -> BOOL; @@ -3497,13 +327871,7 @@ fn bindgen_test_layout_tdLC_TLP() { pub type LC_TLP = tdLC_TLP; pub type PLC_TLP = *mut tdLC_TLP; pub type PLC_TLP_READ_FUNCTION_CALLBACK = ::std::option::Option< - unsafe extern "C" fn( - ctx: PVOID, - cbTlp: DWORD, - pbTlp: PBYTE, - cbInfo: DWORD, - szInfo: LPSTR, - ) -> VOID, + unsafe extern "C" fn(ctx: PVOID, cbTlp: DWORD, pbTlp: PBYTE, cbInfo: DWORD, szInfo: LPSTR), >; #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -3548,3 +327916,23 @@ fn bindgen_test_layout_tdLC_TLP_CALLBACK() { } pub type LC_TLP_CALLBACK = tdLC_TLP_CALLBACK; pub type PLC_TLP_CALLBACK = *mut tdLC_TLP_CALLBACK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_locale_data { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_multibyte_data { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NET_ADDRESS_INFO_ { + pub _address: u8, +} diff --git a/leechcore-sys/src/lib.rs b/leechcore-sys/src/lib.rs index 6be97fa..169e601 100644 --- a/leechcore-sys/src/lib.rs +++ b/leechcore-sys/src/lib.rs @@ -7,6 +7,7 @@ #![allow(clippy::redundant_static_lifetimes)] #![allow(clippy::redundant_static_lifetimes)] +// will be written by build.rs include!(concat!(env!("OUT_DIR"), "/leechcore.rs")); #[cfg(target_os = "windows")]